diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c5a262c..dd636e9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,9 +29,6 @@ jobs: with: node-version: '19.6.0' - - name: NPM Login - run: npm config set //npm.pkg.github.com/:_authToken ${{ secrets.GITHUB_TOKEN }} - - name: Install truffle run: npm install -g truffle diff --git a/.gitignore b/.gitignore index 703074b..a92703b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,6 @@ # test network .openzeppelin/unknown-1337.json node_modules -build .vscode .idea coverage diff --git a/.npmrc b/.npmrc deleted file mode 100644 index 4a3fad8..0000000 --- a/.npmrc +++ /dev/null @@ -1 +0,0 @@ -@rsksmart:registry=https://npm.pkg.github.com diff --git a/.openzeppelin/unknown-30.json b/.openzeppelin/unknown-30.json index 0fe68ef..5255866 100644 --- a/.openzeppelin/unknown-30.json +++ b/.openzeppelin/unknown-30.json @@ -1072,6 +1072,740 @@ } } } + }, + "7cc1fc8e9a5e57c85b617116597e62affcd426920c4ebee0114ec855db23e281": { + "address": "0x24733eF87CECc2c44E7331027470df19DED88F80", + "txHash": "0x31ccc71b754d13095dc7f961e388447293a3ce5845855d4945076d4eab63f054", + "layout": { + "solcVersion": "0.8.18", + "storage": [ + { + "contract": "Initializable", + "label": "_initialized", + "type": "t_uint8", + "src": "../@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "contract": "Initializable", + "label": "_initializing", + "type": "t_bool", + "src": "../@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "contract": "ContextUpgradeable", + "label": "__gap", + "type": "t_array(t_uint256)50_storage", + "src": "../@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "contract": "OwnableUpgradeable", + "label": "_owner", + "type": "t_address", + "src": "../@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "contract": "OwnableUpgradeable", + "label": "__gap", + "type": "t_array(t_uint256)49_storage", + "src": "../@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "contract": "ReentrancyGuardUpgradeable", + "label": "_status", + "type": "t_uint256", + "src": "../@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" + }, + { + "contract": "ReentrancyGuardUpgradeable", + "label": "__gap", + "type": "t_array(t_uint256)49_storage", + "src": "../@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:80" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "bridge", + "type": "t_contract(Bridge)3208", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:92" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "balances", + "type": "t_mapping(t_address,t_uint256)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:93" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "collateral", + "type": "t_mapping(t_address,t_uint256)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:94" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "pegoutCollateral", + "type": "t_mapping(t_address,t_uint256)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:95" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "liquidityProviders", + "type": "t_mapping(t_uint256,t_struct(LiquidityProvider)7056_storage)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:96" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "callRegistry", + "type": "t_mapping(t_bytes32,t_struct(Registry)7038_storage)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:97" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "resignationBlockNum", + "type": "t_mapping(t_address,t_uint256)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:98" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "minCollateral", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:100" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "minPegIn", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:101" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "rewardP", + "type": "t_uint32", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:103" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "resignDelayInBlocks", + "type": "t_uint32", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:104" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "dust", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:105" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "providerId", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:106" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "btcBlockTime", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:108" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "mainnet", + "type": "t_bool", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:109" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "processedQuotes", + "type": "t_mapping(t_bytes32,t_uint8)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:111" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "registeredPegoutQuotes", + "type": "t_mapping(t_bytes32,t_struct(PegOutQuote)10194_storage)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:112" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "pegoutRegistry", + "type": "t_mapping(t_bytes32,t_struct(PegoutRecord)7043_storage)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:113" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "productFeePercentage", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:115" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "daoFeeCollectorAddress", + "type": "t_address", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:116" + } + ], + "types": { + "t_contract(Bridge)3208": { + "label": "contract Bridge" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)" + }, + "t_address": { + "label": "address" + }, + "t_uint256": { + "label": "uint256" + }, + "t_mapping(t_uint256,t_struct(LiquidityProvider)7056_storage)": { + "label": "mapping(uint256 => struct LiquidityBridgeContractV2.LiquidityProvider)" + }, + "t_struct(LiquidityProvider)7056_storage": { + "label": "struct LiquidityBridgeContractV2.LiquidityProvider", + "members": [ + { + "label": "id", + "type": "t_uint256" + }, + { + "label": "provider", + "type": "t_address" + }, + { + "label": "name", + "type": "t_string_storage" + }, + { + "label": "apiBaseUrl", + "type": "t_string_storage" + }, + { + "label": "status", + "type": "t_bool" + }, + { + "label": "providerType", + "type": "t_string_storage" + } + ] + }, + "t_string_storage": { + "label": "string" + }, + "t_bool": { + "label": "bool" + }, + "t_mapping(t_bytes32,t_struct(Registry)7038_storage)": { + "label": "mapping(bytes32 => struct LiquidityBridgeContractV2.Registry)" + }, + "t_bytes32": { + "label": "bytes32" + }, + "t_struct(Registry)7038_storage": { + "label": "struct LiquidityBridgeContractV2.Registry", + "members": [ + { + "label": "timestamp", + "type": "t_uint32" + }, + { + "label": "success", + "type": "t_bool" + } + ] + }, + "t_uint32": { + "label": "uint32" + }, + "t_mapping(t_bytes32,t_uint8)": { + "label": "mapping(bytes32 => uint8)" + }, + "t_uint8": { + "label": "uint8" + }, + "t_mapping(t_bytes32,t_struct(PegOutQuote)10194_storage)": { + "label": "mapping(bytes32 => struct QuotesV2.PegOutQuote)" + }, + "t_struct(PegOutQuote)10194_storage": { + "label": "struct QuotesV2.PegOutQuote", + "members": [ + { + "label": "lbcAddress", + "type": "t_address" + }, + { + "label": "lpRskAddress", + "type": "t_address" + }, + { + "label": "btcRefundAddress", + "type": "t_bytes_storage" + }, + { + "label": "rskRefundAddress", + "type": "t_address" + }, + { + "label": "lpBtcAddress", + "type": "t_bytes_storage" + }, + { + "label": "callFee", + "type": "t_uint256" + }, + { + "label": "penaltyFee", + "type": "t_uint256" + }, + { + "label": "nonce", + "type": "t_int64" + }, + { + "label": "deposityAddress", + "type": "t_bytes_storage" + }, + { + "label": "value", + "type": "t_uint256" + }, + { + "label": "agreementTimestamp", + "type": "t_uint32" + }, + { + "label": "depositDateLimit", + "type": "t_uint32" + }, + { + "label": "depositConfirmations", + "type": "t_uint16" + }, + { + "label": "transferConfirmations", + "type": "t_uint16" + }, + { + "label": "transferTime", + "type": "t_uint32" + }, + { + "label": "expireDate", + "type": "t_uint32" + }, + { + "label": "expireBlock", + "type": "t_uint32" + }, + { + "label": "productFeeAmount", + "type": "t_uint256" + }, + { + "label": "gasFee", + "type": "t_uint256" + } + ] + }, + "t_bytes_storage": { + "label": "bytes" + }, + "t_int64": { + "label": "int64" + }, + "t_uint16": { + "label": "uint16" + }, + "t_mapping(t_bytes32,t_struct(PegoutRecord)7043_storage)": { + "label": "mapping(bytes32 => struct LiquidityBridgeContractV2.PegoutRecord)" + }, + "t_struct(PegoutRecord)7043_storage": { + "label": "struct LiquidityBridgeContractV2.PegoutRecord", + "members": [ + { + "label": "depositTimestamp", + "type": "t_uint256" + }, + { + "label": "completed", + "type": "t_bool" + } + ] + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]" + } + } + } + }, + "8aa36f2d672591cd622ba69f5be8c6a5da6ba54f07ab3ebc06212e938fad5132": { + "address": "0xE952b2FdaAb37A53B1EF644302bBF02B7fD8d778", + "txHash": "0x2060651049d1e40eaae83aa30ef3cf55b047a5b8576871756afcf83833c79d3d", + "layout": { + "solcVersion": "0.8.18", + "storage": [ + { + "contract": "Initializable", + "label": "_initialized", + "type": "t_uint8", + "src": "../@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "contract": "Initializable", + "label": "_initializing", + "type": "t_bool", + "src": "../@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "contract": "ContextUpgradeable", + "label": "__gap", + "type": "t_array(t_uint256)50_storage", + "src": "../@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "contract": "OwnableUpgradeable", + "label": "_owner", + "type": "t_address", + "src": "../@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "contract": "OwnableUpgradeable", + "label": "__gap", + "type": "t_array(t_uint256)49_storage", + "src": "../@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "contract": "ReentrancyGuardUpgradeable", + "label": "_status", + "type": "t_uint256", + "src": "../@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" + }, + { + "contract": "ReentrancyGuardUpgradeable", + "label": "__gap", + "type": "t_array(t_uint256)49_storage", + "src": "../@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:80" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "bridge", + "type": "t_contract(Bridge)3208", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:92" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "balances", + "type": "t_mapping(t_address,t_uint256)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:93" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "collateral", + "type": "t_mapping(t_address,t_uint256)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:94" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "pegoutCollateral", + "type": "t_mapping(t_address,t_uint256)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:95" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "liquidityProviders", + "type": "t_mapping(t_uint256,t_struct(LiquidityProvider)7056_storage)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:96" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "callRegistry", + "type": "t_mapping(t_bytes32,t_struct(Registry)7038_storage)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:97" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "resignationBlockNum", + "type": "t_mapping(t_address,t_uint256)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:98" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "minCollateral", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:100" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "minPegIn", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:101" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "rewardP", + "type": "t_uint32", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:103" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "resignDelayInBlocks", + "type": "t_uint32", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:104" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "dust", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:105" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "providerId", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:106" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "btcBlockTime", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:108" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "mainnet", + "type": "t_bool", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:109" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "processedQuotes", + "type": "t_mapping(t_bytes32,t_uint8)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:111" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "registeredPegoutQuotes", + "type": "t_mapping(t_bytes32,t_struct(PegOutQuote)10194_storage)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:112" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "pegoutRegistry", + "type": "t_mapping(t_bytes32,t_struct(PegoutRecord)7043_storage)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:113" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "productFeePercentage", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:115" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "daoFeeCollectorAddress", + "type": "t_address", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:116" + } + ], + "types": { + "t_contract(Bridge)3208": { + "label": "contract Bridge" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)" + }, + "t_address": { + "label": "address" + }, + "t_uint256": { + "label": "uint256" + }, + "t_mapping(t_uint256,t_struct(LiquidityProvider)7056_storage)": { + "label": "mapping(uint256 => struct LiquidityBridgeContractV2.LiquidityProvider)" + }, + "t_struct(LiquidityProvider)7056_storage": { + "label": "struct LiquidityBridgeContractV2.LiquidityProvider", + "members": [ + { + "label": "id", + "type": "t_uint256" + }, + { + "label": "provider", + "type": "t_address" + }, + { + "label": "name", + "type": "t_string_storage" + }, + { + "label": "apiBaseUrl", + "type": "t_string_storage" + }, + { + "label": "status", + "type": "t_bool" + }, + { + "label": "providerType", + "type": "t_string_storage" + } + ] + }, + "t_string_storage": { + "label": "string" + }, + "t_bool": { + "label": "bool" + }, + "t_mapping(t_bytes32,t_struct(Registry)7038_storage)": { + "label": "mapping(bytes32 => struct LiquidityBridgeContractV2.Registry)" + }, + "t_bytes32": { + "label": "bytes32" + }, + "t_struct(Registry)7038_storage": { + "label": "struct LiquidityBridgeContractV2.Registry", + "members": [ + { + "label": "timestamp", + "type": "t_uint32" + }, + { + "label": "success", + "type": "t_bool" + } + ] + }, + "t_uint32": { + "label": "uint32" + }, + "t_mapping(t_bytes32,t_uint8)": { + "label": "mapping(bytes32 => uint8)" + }, + "t_uint8": { + "label": "uint8" + }, + "t_mapping(t_bytes32,t_struct(PegOutQuote)10194_storage)": { + "label": "mapping(bytes32 => struct QuotesV2.PegOutQuote)" + }, + "t_struct(PegOutQuote)10194_storage": { + "label": "struct QuotesV2.PegOutQuote", + "members": [ + { + "label": "lbcAddress", + "type": "t_address" + }, + { + "label": "lpRskAddress", + "type": "t_address" + }, + { + "label": "btcRefundAddress", + "type": "t_bytes_storage" + }, + { + "label": "rskRefundAddress", + "type": "t_address" + }, + { + "label": "lpBtcAddress", + "type": "t_bytes_storage" + }, + { + "label": "callFee", + "type": "t_uint256" + }, + { + "label": "penaltyFee", + "type": "t_uint256" + }, + { + "label": "nonce", + "type": "t_int64" + }, + { + "label": "deposityAddress", + "type": "t_bytes_storage" + }, + { + "label": "value", + "type": "t_uint256" + }, + { + "label": "agreementTimestamp", + "type": "t_uint32" + }, + { + "label": "depositDateLimit", + "type": "t_uint32" + }, + { + "label": "depositConfirmations", + "type": "t_uint16" + }, + { + "label": "transferConfirmations", + "type": "t_uint16" + }, + { + "label": "transferTime", + "type": "t_uint32" + }, + { + "label": "expireDate", + "type": "t_uint32" + }, + { + "label": "expireBlock", + "type": "t_uint32" + }, + { + "label": "productFeeAmount", + "type": "t_uint256" + }, + { + "label": "gasFee", + "type": "t_uint256" + } + ] + }, + "t_bytes_storage": { + "label": "bytes" + }, + "t_int64": { + "label": "int64" + }, + "t_uint16": { + "label": "uint16" + }, + "t_mapping(t_bytes32,t_struct(PegoutRecord)7043_storage)": { + "label": "mapping(bytes32 => struct LiquidityBridgeContractV2.PegoutRecord)" + }, + "t_struct(PegoutRecord)7043_storage": { + "label": "struct LiquidityBridgeContractV2.PegoutRecord", + "members": [ + { + "label": "depositTimestamp", + "type": "t_uint256" + }, + { + "label": "completed", + "type": "t_bool" + } + ] + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]" + } + } + } } } } diff --git a/.openzeppelin/unknown-31.json b/.openzeppelin/unknown-31.json index d1b3351..88a7ff2 100644 --- a/.openzeppelin/unknown-31.json +++ b/.openzeppelin/unknown-31.json @@ -2908,6 +2908,1107 @@ } } } + }, + "27a4b58b4d14718b32c46a374599128fdb5544e85868edf6826c1644b9e41435": { + "address": "0x1565fF278610933dD55e59B1Db4897425B126723", + "txHash": "0x9c5b5914d29e6b65dc6f18a789911f058dc32f1b1bb4148244d8ce1f8a220dfa", + "layout": { + "solcVersion": "0.8.18", + "storage": [ + { + "contract": "Initializable", + "label": "_initialized", + "type": "t_uint8", + "src": "../@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "contract": "Initializable", + "label": "_initializing", + "type": "t_bool", + "src": "../@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "contract": "ContextUpgradeable", + "label": "__gap", + "type": "t_array(t_uint256)50_storage", + "src": "../@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "contract": "OwnableUpgradeable", + "label": "_owner", + "type": "t_address", + "src": "../@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "contract": "OwnableUpgradeable", + "label": "__gap", + "type": "t_array(t_uint256)49_storage", + "src": "../@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "contract": "ReentrancyGuardUpgradeable", + "label": "_status", + "type": "t_uint256", + "src": "../@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" + }, + { + "contract": "ReentrancyGuardUpgradeable", + "label": "__gap", + "type": "t_array(t_uint256)49_storage", + "src": "../@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:80" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "bridge", + "type": "t_contract(Bridge)3208", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:92" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "balances", + "type": "t_mapping(t_address,t_uint256)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:93" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "collateral", + "type": "t_mapping(t_address,t_uint256)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:94" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "pegoutCollateral", + "type": "t_mapping(t_address,t_uint256)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:95" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "liquidityProviders", + "type": "t_mapping(t_uint256,t_struct(LiquidityProvider)7056_storage)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:96" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "callRegistry", + "type": "t_mapping(t_bytes32,t_struct(Registry)7038_storage)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:97" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "resignationBlockNum", + "type": "t_mapping(t_address,t_uint256)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:98" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "minCollateral", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:100" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "minPegIn", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:101" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "rewardP", + "type": "t_uint32", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:103" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "resignDelayInBlocks", + "type": "t_uint32", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:104" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "dust", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:105" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "providerId", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:106" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "btcBlockTime", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:108" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "mainnet", + "type": "t_bool", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:109" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "processedQuotes", + "type": "t_mapping(t_bytes32,t_uint8)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:111" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "registeredPegoutQuotes", + "type": "t_mapping(t_bytes32,t_struct(PegOutQuote)10194_storage)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:112" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "pegoutRegistry", + "type": "t_mapping(t_bytes32,t_struct(PegoutRecord)7043_storage)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:113" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "productFeePercentage", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:115" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "daoFeeCollectorAddress", + "type": "t_address", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:116" + } + ], + "types": { + "t_contract(Bridge)3208": { + "label": "contract Bridge" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)" + }, + "t_address": { + "label": "address" + }, + "t_uint256": { + "label": "uint256" + }, + "t_mapping(t_uint256,t_struct(LiquidityProvider)7056_storage)": { + "label": "mapping(uint256 => struct LiquidityBridgeContractV2.LiquidityProvider)" + }, + "t_struct(LiquidityProvider)7056_storage": { + "label": "struct LiquidityBridgeContractV2.LiquidityProvider", + "members": [ + { + "label": "id", + "type": "t_uint256" + }, + { + "label": "provider", + "type": "t_address" + }, + { + "label": "name", + "type": "t_string_storage" + }, + { + "label": "apiBaseUrl", + "type": "t_string_storage" + }, + { + "label": "status", + "type": "t_bool" + }, + { + "label": "providerType", + "type": "t_string_storage" + } + ] + }, + "t_string_storage": { + "label": "string" + }, + "t_bool": { + "label": "bool" + }, + "t_mapping(t_bytes32,t_struct(Registry)7038_storage)": { + "label": "mapping(bytes32 => struct LiquidityBridgeContractV2.Registry)" + }, + "t_bytes32": { + "label": "bytes32" + }, + "t_struct(Registry)7038_storage": { + "label": "struct LiquidityBridgeContractV2.Registry", + "members": [ + { + "label": "timestamp", + "type": "t_uint32" + }, + { + "label": "success", + "type": "t_bool" + } + ] + }, + "t_uint32": { + "label": "uint32" + }, + "t_mapping(t_bytes32,t_uint8)": { + "label": "mapping(bytes32 => uint8)" + }, + "t_uint8": { + "label": "uint8" + }, + "t_mapping(t_bytes32,t_struct(PegOutQuote)10194_storage)": { + "label": "mapping(bytes32 => struct QuotesV2.PegOutQuote)" + }, + "t_struct(PegOutQuote)10194_storage": { + "label": "struct QuotesV2.PegOutQuote", + "members": [ + { + "label": "lbcAddress", + "type": "t_address" + }, + { + "label": "lpRskAddress", + "type": "t_address" + }, + { + "label": "btcRefundAddress", + "type": "t_bytes_storage" + }, + { + "label": "rskRefundAddress", + "type": "t_address" + }, + { + "label": "lpBtcAddress", + "type": "t_bytes_storage" + }, + { + "label": "callFee", + "type": "t_uint256" + }, + { + "label": "penaltyFee", + "type": "t_uint256" + }, + { + "label": "nonce", + "type": "t_int64" + }, + { + "label": "deposityAddress", + "type": "t_bytes_storage" + }, + { + "label": "value", + "type": "t_uint256" + }, + { + "label": "agreementTimestamp", + "type": "t_uint32" + }, + { + "label": "depositDateLimit", + "type": "t_uint32" + }, + { + "label": "depositConfirmations", + "type": "t_uint16" + }, + { + "label": "transferConfirmations", + "type": "t_uint16" + }, + { + "label": "transferTime", + "type": "t_uint32" + }, + { + "label": "expireDate", + "type": "t_uint32" + }, + { + "label": "expireBlock", + "type": "t_uint32" + }, + { + "label": "productFeeAmount", + "type": "t_uint256" + }, + { + "label": "gasFee", + "type": "t_uint256" + } + ] + }, + "t_bytes_storage": { + "label": "bytes" + }, + "t_int64": { + "label": "int64" + }, + "t_uint16": { + "label": "uint16" + }, + "t_mapping(t_bytes32,t_struct(PegoutRecord)7043_storage)": { + "label": "mapping(bytes32 => struct LiquidityBridgeContractV2.PegoutRecord)" + }, + "t_struct(PegoutRecord)7043_storage": { + "label": "struct LiquidityBridgeContractV2.PegoutRecord", + "members": [ + { + "label": "depositTimestamp", + "type": "t_uint256" + }, + { + "label": "completed", + "type": "t_bool" + } + ] + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]" + } + } + } + }, + "247393654d293bc3ae1268a74a8a6fd5cad6e11db3078e0e21d631296fda1d4a": { + "address": "0xe2B649Df2640F7154f217B016f8a1004F34a2549", + "txHash": "0x0b8d109a2893accf8a626e9c05db7b9eaa7f8e11d873f01556b11cfda10f81a7", + "layout": { + "solcVersion": "0.8.18", + "storage": [ + { + "contract": "Initializable", + "label": "_initialized", + "type": "t_uint8", + "src": "../@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "contract": "Initializable", + "label": "_initializing", + "type": "t_bool", + "src": "../@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "contract": "ContextUpgradeable", + "label": "__gap", + "type": "t_array(t_uint256)50_storage", + "src": "../@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "contract": "OwnableUpgradeable", + "label": "_owner", + "type": "t_address", + "src": "../@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "contract": "OwnableUpgradeable", + "label": "__gap", + "type": "t_array(t_uint256)49_storage", + "src": "../@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "contract": "ReentrancyGuardUpgradeable", + "label": "_status", + "type": "t_uint256", + "src": "../@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" + }, + { + "contract": "ReentrancyGuardUpgradeable", + "label": "__gap", + "type": "t_array(t_uint256)49_storage", + "src": "../@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:80" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "bridge", + "type": "t_contract(Bridge)3208", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:92" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "balances", + "type": "t_mapping(t_address,t_uint256)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:93" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "collateral", + "type": "t_mapping(t_address,t_uint256)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:94" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "pegoutCollateral", + "type": "t_mapping(t_address,t_uint256)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:95" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "liquidityProviders", + "type": "t_mapping(t_uint256,t_struct(LiquidityProvider)7056_storage)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:96" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "callRegistry", + "type": "t_mapping(t_bytes32,t_struct(Registry)7038_storage)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:97" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "resignationBlockNum", + "type": "t_mapping(t_address,t_uint256)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:98" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "minCollateral", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:100" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "minPegIn", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:101" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "rewardP", + "type": "t_uint32", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:103" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "resignDelayInBlocks", + "type": "t_uint32", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:104" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "dust", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:105" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "providerId", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:106" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "btcBlockTime", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:108" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "mainnet", + "type": "t_bool", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:109" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "processedQuotes", + "type": "t_mapping(t_bytes32,t_uint8)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:111" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "registeredPegoutQuotes", + "type": "t_mapping(t_bytes32,t_struct(PegOutQuote)10194_storage)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:112" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "pegoutRegistry", + "type": "t_mapping(t_bytes32,t_struct(PegoutRecord)7043_storage)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:113" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "productFeePercentage", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:115" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "daoFeeCollectorAddress", + "type": "t_address", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:116" + } + ], + "types": { + "t_contract(Bridge)3208": { + "label": "contract Bridge" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)" + }, + "t_address": { + "label": "address" + }, + "t_uint256": { + "label": "uint256" + }, + "t_mapping(t_uint256,t_struct(LiquidityProvider)7056_storage)": { + "label": "mapping(uint256 => struct LiquidityBridgeContractV2.LiquidityProvider)" + }, + "t_struct(LiquidityProvider)7056_storage": { + "label": "struct LiquidityBridgeContractV2.LiquidityProvider", + "members": [ + { + "label": "id", + "type": "t_uint256" + }, + { + "label": "provider", + "type": "t_address" + }, + { + "label": "name", + "type": "t_string_storage" + }, + { + "label": "apiBaseUrl", + "type": "t_string_storage" + }, + { + "label": "status", + "type": "t_bool" + }, + { + "label": "providerType", + "type": "t_string_storage" + } + ] + }, + "t_string_storage": { + "label": "string" + }, + "t_bool": { + "label": "bool" + }, + "t_mapping(t_bytes32,t_struct(Registry)7038_storage)": { + "label": "mapping(bytes32 => struct LiquidityBridgeContractV2.Registry)" + }, + "t_bytes32": { + "label": "bytes32" + }, + "t_struct(Registry)7038_storage": { + "label": "struct LiquidityBridgeContractV2.Registry", + "members": [ + { + "label": "timestamp", + "type": "t_uint32" + }, + { + "label": "success", + "type": "t_bool" + } + ] + }, + "t_uint32": { + "label": "uint32" + }, + "t_mapping(t_bytes32,t_uint8)": { + "label": "mapping(bytes32 => uint8)" + }, + "t_uint8": { + "label": "uint8" + }, + "t_mapping(t_bytes32,t_struct(PegOutQuote)10194_storage)": { + "label": "mapping(bytes32 => struct QuotesV2.PegOutQuote)" + }, + "t_struct(PegOutQuote)10194_storage": { + "label": "struct QuotesV2.PegOutQuote", + "members": [ + { + "label": "lbcAddress", + "type": "t_address" + }, + { + "label": "lpRskAddress", + "type": "t_address" + }, + { + "label": "btcRefundAddress", + "type": "t_bytes_storage" + }, + { + "label": "rskRefundAddress", + "type": "t_address" + }, + { + "label": "lpBtcAddress", + "type": "t_bytes_storage" + }, + { + "label": "callFee", + "type": "t_uint256" + }, + { + "label": "penaltyFee", + "type": "t_uint256" + }, + { + "label": "nonce", + "type": "t_int64" + }, + { + "label": "deposityAddress", + "type": "t_bytes_storage" + }, + { + "label": "value", + "type": "t_uint256" + }, + { + "label": "agreementTimestamp", + "type": "t_uint32" + }, + { + "label": "depositDateLimit", + "type": "t_uint32" + }, + { + "label": "depositConfirmations", + "type": "t_uint16" + }, + { + "label": "transferConfirmations", + "type": "t_uint16" + }, + { + "label": "transferTime", + "type": "t_uint32" + }, + { + "label": "expireDate", + "type": "t_uint32" + }, + { + "label": "expireBlock", + "type": "t_uint32" + }, + { + "label": "productFeeAmount", + "type": "t_uint256" + }, + { + "label": "gasFee", + "type": "t_uint256" + } + ] + }, + "t_bytes_storage": { + "label": "bytes" + }, + "t_int64": { + "label": "int64" + }, + "t_uint16": { + "label": "uint16" + }, + "t_mapping(t_bytes32,t_struct(PegoutRecord)7043_storage)": { + "label": "mapping(bytes32 => struct LiquidityBridgeContractV2.PegoutRecord)" + }, + "t_struct(PegoutRecord)7043_storage": { + "label": "struct LiquidityBridgeContractV2.PegoutRecord", + "members": [ + { + "label": "depositTimestamp", + "type": "t_uint256" + }, + { + "label": "completed", + "type": "t_bool" + } + ] + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]" + } + } + } + }, + "3dd224bf4dade6a28f5bc9580e95605dfe954e5935c2f4f6c6e43d845b365eb8": { + "address": "0xE2F501320571eD2E4bF909677c99D8Ec0D1A9903", + "txHash": "0x37c84989fee55dac03b0d3e38f64b567f9dfbf948035341d12ac6afc89d73099", + "layout": { + "solcVersion": "0.8.18", + "storage": [ + { + "contract": "Initializable", + "label": "_initialized", + "type": "t_uint8", + "src": "../@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "contract": "Initializable", + "label": "_initializing", + "type": "t_bool", + "src": "../@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "contract": "ContextUpgradeable", + "label": "__gap", + "type": "t_array(t_uint256)50_storage", + "src": "../@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "contract": "OwnableUpgradeable", + "label": "_owner", + "type": "t_address", + "src": "../@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "contract": "OwnableUpgradeable", + "label": "__gap", + "type": "t_array(t_uint256)49_storage", + "src": "../@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "contract": "ReentrancyGuardUpgradeable", + "label": "_status", + "type": "t_uint256", + "src": "../@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:38" + }, + { + "contract": "ReentrancyGuardUpgradeable", + "label": "__gap", + "type": "t_array(t_uint256)49_storage", + "src": "../@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol:80" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "bridge", + "type": "t_contract(Bridge)3208", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:92" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "balances", + "type": "t_mapping(t_address,t_uint256)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:93" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "collateral", + "type": "t_mapping(t_address,t_uint256)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:94" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "pegoutCollateral", + "type": "t_mapping(t_address,t_uint256)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:95" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "liquidityProviders", + "type": "t_mapping(t_uint256,t_struct(LiquidityProvider)7056_storage)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:96" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "callRegistry", + "type": "t_mapping(t_bytes32,t_struct(Registry)7038_storage)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:97" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "resignationBlockNum", + "type": "t_mapping(t_address,t_uint256)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:98" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "minCollateral", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:100" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "minPegIn", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:101" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "rewardP", + "type": "t_uint32", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:103" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "resignDelayInBlocks", + "type": "t_uint32", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:104" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "dust", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:105" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "providerId", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:106" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "btcBlockTime", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:108" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "mainnet", + "type": "t_bool", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:109" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "processedQuotes", + "type": "t_mapping(t_bytes32,t_uint8)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:111" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "registeredPegoutQuotes", + "type": "t_mapping(t_bytes32,t_struct(PegOutQuote)10194_storage)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:112" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "pegoutRegistry", + "type": "t_mapping(t_bytes32,t_struct(PegoutRecord)7043_storage)", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:113" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "productFeePercentage", + "type": "t_uint256", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:115" + }, + { + "contract": "LiquidityBridgeContractV2", + "label": "daoFeeCollectorAddress", + "type": "t_address", + "src": "../project:/contracts/LiquidityBridgeContractV2.sol:116" + } + ], + "types": { + "t_contract(Bridge)3208": { + "label": "contract Bridge" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)" + }, + "t_address": { + "label": "address" + }, + "t_uint256": { + "label": "uint256" + }, + "t_mapping(t_uint256,t_struct(LiquidityProvider)7056_storage)": { + "label": "mapping(uint256 => struct LiquidityBridgeContractV2.LiquidityProvider)" + }, + "t_struct(LiquidityProvider)7056_storage": { + "label": "struct LiquidityBridgeContractV2.LiquidityProvider", + "members": [ + { + "label": "id", + "type": "t_uint256" + }, + { + "label": "provider", + "type": "t_address" + }, + { + "label": "name", + "type": "t_string_storage" + }, + { + "label": "apiBaseUrl", + "type": "t_string_storage" + }, + { + "label": "status", + "type": "t_bool" + }, + { + "label": "providerType", + "type": "t_string_storage" + } + ] + }, + "t_string_storage": { + "label": "string" + }, + "t_bool": { + "label": "bool" + }, + "t_mapping(t_bytes32,t_struct(Registry)7038_storage)": { + "label": "mapping(bytes32 => struct LiquidityBridgeContractV2.Registry)" + }, + "t_bytes32": { + "label": "bytes32" + }, + "t_struct(Registry)7038_storage": { + "label": "struct LiquidityBridgeContractV2.Registry", + "members": [ + { + "label": "timestamp", + "type": "t_uint32" + }, + { + "label": "success", + "type": "t_bool" + } + ] + }, + "t_uint32": { + "label": "uint32" + }, + "t_mapping(t_bytes32,t_uint8)": { + "label": "mapping(bytes32 => uint8)" + }, + "t_uint8": { + "label": "uint8" + }, + "t_mapping(t_bytes32,t_struct(PegOutQuote)10194_storage)": { + "label": "mapping(bytes32 => struct QuotesV2.PegOutQuote)" + }, + "t_struct(PegOutQuote)10194_storage": { + "label": "struct QuotesV2.PegOutQuote", + "members": [ + { + "label": "lbcAddress", + "type": "t_address" + }, + { + "label": "lpRskAddress", + "type": "t_address" + }, + { + "label": "btcRefundAddress", + "type": "t_bytes_storage" + }, + { + "label": "rskRefundAddress", + "type": "t_address" + }, + { + "label": "lpBtcAddress", + "type": "t_bytes_storage" + }, + { + "label": "callFee", + "type": "t_uint256" + }, + { + "label": "penaltyFee", + "type": "t_uint256" + }, + { + "label": "nonce", + "type": "t_int64" + }, + { + "label": "deposityAddress", + "type": "t_bytes_storage" + }, + { + "label": "value", + "type": "t_uint256" + }, + { + "label": "agreementTimestamp", + "type": "t_uint32" + }, + { + "label": "depositDateLimit", + "type": "t_uint32" + }, + { + "label": "depositConfirmations", + "type": "t_uint16" + }, + { + "label": "transferConfirmations", + "type": "t_uint16" + }, + { + "label": "transferTime", + "type": "t_uint32" + }, + { + "label": "expireDate", + "type": "t_uint32" + }, + { + "label": "expireBlock", + "type": "t_uint32" + }, + { + "label": "productFeeAmount", + "type": "t_uint256" + }, + { + "label": "gasFee", + "type": "t_uint256" + } + ] + }, + "t_bytes_storage": { + "label": "bytes" + }, + "t_int64": { + "label": "int64" + }, + "t_uint16": { + "label": "uint16" + }, + "t_mapping(t_bytes32,t_struct(PegoutRecord)7043_storage)": { + "label": "mapping(bytes32 => struct LiquidityBridgeContractV2.PegoutRecord)" + }, + "t_struct(PegoutRecord)7043_storage": { + "label": "struct LiquidityBridgeContractV2.PegoutRecord", + "members": [ + { + "label": "depositTimestamp", + "type": "t_uint256" + }, + { + "label": "completed", + "type": "t_bool" + } + ] + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]" + } + } + } } } } diff --git a/build/contracts/Address.json b/build/contracts/Address.json new file mode 100644 index 0000000..00fb1e0 --- /dev/null +++ b/build/contracts/Address.json @@ -0,0 +1,4386 @@ +{ + "contractName": "Address", + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]}},\"version\":1}", + "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122013c9c6e61d8d97ee77398e323cd55b576d468a8dec64e7bf8526cf99a361039a64736f6c63430008120033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122013c9c6e61d8d97ee77398e323cd55b576d468a8dec64e7bf8526cf99a361039a64736f6c63430008120033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "194:8964:13:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;194:8964:13;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "194:8964:13:-:0;;;;;;;;", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/Address.sol)\n\npragma solidity ^0.8.1;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * [IMPORTANT]\n * ====\n * It is unsafe to assume that an address for which this function returns\n * false is an externally-owned account (EOA) and not a contract.\n *\n * Among others, `isContract` will return false for the following\n * types of addresses:\n *\n * - an externally-owned account\n * - a contract in construction\n * - an address where a contract will be created\n * - an address where a contract lived, but was destroyed\n * ====\n *\n * [IMPORTANT]\n * ====\n * You shouldn't rely on `isContract` to protect against flash loan attacks!\n *\n * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n * constructor.\n * ====\n */\n function isContract(address account) internal view returns (bool) {\n // This method relies on extcodesize/address.code.length, which returns 0\n // for contracts in construction, since the code is only stored at the end\n // of the constructor execution.\n\n return account.code.length > 0;\n }\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n require(address(this).balance >= amount, \"Address: insufficient balance\");\n\n (bool success, ) = recipient.call{value: amount}(\"\");\n require(success, \"Address: unable to send value, recipient may have reverted\");\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain `call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason, it is bubbled up by this\n * function (like regular Solidity function calls).\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, \"Address: low-level call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n * `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(\n address target,\n bytes memory data,\n uint256 value\n ) internal returns (bytes memory) {\n return functionCallWithValue(target, data, value, \"Address: low-level call with value failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n * with `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(\n address target,\n bytes memory data,\n uint256 value,\n string memory errorMessage\n ) internal returns (bytes memory) {\n require(address(this).balance >= value, \"Address: insufficient balance for call\");\n (bool success, bytes memory returndata) = target.call{value: value}(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n return functionStaticCall(target, data, \"Address: low-level static call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n (bool success, bytes memory returndata) = target.staticcall(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionDelegateCall(target, data, \"Address: low-level delegate call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n (bool success, bytes memory returndata) = target.delegatecall(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\n * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\n *\n * _Available since v4.8._\n */\n function verifyCallResultFromTarget(\n address target,\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n if (success) {\n if (returndata.length == 0) {\n // only check isContract if the call was successful and the return data is empty\n // otherwise we already know that it was a contract\n require(isContract(target), \"Address: call to non-contract\");\n }\n return returndata;\n } else {\n _revert(returndata, errorMessage);\n }\n }\n\n /**\n * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\n * revert reason or using the provided one.\n *\n * _Available since v4.3._\n */\n function verifyCallResult(\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal pure returns (bytes memory) {\n if (success) {\n return returndata;\n } else {\n _revert(returndata, errorMessage);\n }\n }\n\n function _revert(bytes memory returndata, string memory errorMessage) private pure {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n /// @solidity memory-safe-assembly\n assembly {\n let returndata_size := mload(returndata)\n revert(add(32, returndata), returndata_size)\n }\n } else {\n revert(errorMessage);\n }\n }\n}\n", + "sourcePath": "@openzeppelin/contracts/utils/Address.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Address.sol", + "exportedSymbols": { + "Address": [ + 1853 + ] + }, + "id": 1854, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1525, + "literals": [ + "solidity", + "^", + "0.8", + ".1" + ], + "nodeType": "PragmaDirective", + "src": "101:23:13" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Address", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 1526, + "nodeType": "StructuredDocumentation", + "src": "126:67:13", + "text": " @dev Collection of functions related to the address type" + }, + "fullyImplemented": true, + "id": 1853, + "linearizedBaseContracts": [ + 1853 + ], + "name": "Address", + "nameLocation": "202:7:13", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1540, + "nodeType": "Block", + "src": "1241:254:13", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 1534, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1529, + "src": "1465:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1473:4:13", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "1465:12:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1478:6:13", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1465:19:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1537, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1487:1:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1465:23:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1533, + "id": 1539, + "nodeType": "Return", + "src": "1458:30:13" + } + ] + }, + "documentation": { + "id": 1527, + "nodeType": "StructuredDocumentation", + "src": "216:954:13", + "text": " @dev Returns true if `account` is a contract.\n [IMPORTANT]\n ====\n It is unsafe to assume that an address for which this function returns\n false is an externally-owned account (EOA) and not a contract.\n Among others, `isContract` will return false for the following\n types of addresses:\n - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n ====\n [IMPORTANT]\n ====\n You shouldn't rely on `isContract` to protect against flash loan attacks!\n Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n constructor.\n ====" + }, + "id": 1541, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isContract", + "nameLocation": "1184:10:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1530, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1529, + "mutability": "mutable", + "name": "account", + "nameLocation": "1203:7:13", + "nodeType": "VariableDeclaration", + "scope": 1541, + "src": "1195:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1528, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1195:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1194:17:13" + }, + "returnParameters": { + "id": 1533, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1532, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1541, + "src": "1235:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1531, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1235:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1234:6:13" + }, + "scope": 1853, + "src": "1175:320:13", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1574, + "nodeType": "Block", + "src": "2483:241:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 1552, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "2509:4:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Address_$1853", + "typeString": "library Address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Address_$1853", + "typeString": "library Address" + } + ], + "id": 1551, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2501:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1550, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2501:7:13", + "typeDescriptions": {} + } + }, + "id": 1553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2501:13:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2515:7:13", + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "2501:21:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 1555, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1546, + "src": "2526:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2501:31:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", + "id": 1557, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2534:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", + "typeString": "literal_string \"Address: insufficient balance\"" + }, + "value": "Address: insufficient balance" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", + "typeString": "literal_string \"Address: insufficient balance\"" + } + ], + "id": 1549, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2493:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2493:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1559, + "nodeType": "ExpressionStatement", + "src": "2493:73:13" + }, + { + "assignments": [ + 1561, + null + ], + "declarations": [ + { + "constant": false, + "id": 1561, + "mutability": "mutable", + "name": "success", + "nameLocation": "2583:7:13", + "nodeType": "VariableDeclaration", + "scope": 1574, + "src": "2578:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1560, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2578:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 1568, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 1566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2626:2:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "id": 1562, + "name": "recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1544, + "src": "2596:9:13", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 1563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2606:4:13", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "2596:14: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": 1565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 1564, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1546, + "src": "2618:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "2596:29:13", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 1567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2596:33:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2577:52:13" + }, + { + "expression": { + "arguments": [ + { + "id": 1570, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "2647:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", + "id": 1571, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2656:60:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", + "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" + }, + "value": "Address: unable to send value, recipient may have reverted" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", + "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" + } + ], + "id": 1569, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2639:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2639:78:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1573, + "nodeType": "ExpressionStatement", + "src": "2639:78:13" + } + ] + }, + "documentation": { + "id": 1542, + "nodeType": "StructuredDocumentation", + "src": "1501:906:13", + "text": " @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the\n https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]." + }, + "id": 1575, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sendValue", + "nameLocation": "2421:9:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1547, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1544, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "2447:9:13", + "nodeType": "VariableDeclaration", + "scope": 1575, + "src": "2431:25:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1543, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2431:15:13", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1546, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2466:6:13", + "nodeType": "VariableDeclaration", + "scope": 1575, + "src": "2458:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1545, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2458:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2430:43:13" + }, + "returnParameters": { + "id": 1548, + "nodeType": "ParameterList", + "parameters": [], + "src": "2483:0:13" + }, + "scope": 1853, + "src": "2412:312:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1592, + "nodeType": "Block", + "src": "3555:96:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1586, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1578, + "src": "3594:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1587, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1580, + "src": "3602:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 1588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3608:1:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564", + "id": 1589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3611:32:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", + "typeString": "literal_string \"Address: low-level call failed\"" + }, + "value": "Address: low-level call failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", + "typeString": "literal_string \"Address: low-level call failed\"" + } + ], + "id": 1585, + "name": "functionCallWithValue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1633, + 1677 + ], + "referencedDeclaration": 1677, + "src": "3572:21:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" + } + }, + "id": 1590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3572:72:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1584, + "id": 1591, + "nodeType": "Return", + "src": "3565:79:13" + } + ] + }, + "documentation": { + "id": 1576, + "nodeType": "StructuredDocumentation", + "src": "2730:731:13", + "text": " @dev Performs a Solidity function call using a low level `call`. A\n plain `call` is an unsafe replacement for a function call: use this\n function instead.\n If `target` reverts with a revert reason, it is bubbled up by this\n function (like regular Solidity function calls).\n Returns the raw returned data. To convert to the expected return value,\n use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert.\n _Available since v3.1._" + }, + "id": 1593, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCall", + "nameLocation": "3475:12:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1581, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1578, + "mutability": "mutable", + "name": "target", + "nameLocation": "3496:6:13", + "nodeType": "VariableDeclaration", + "scope": 1593, + "src": "3488:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1577, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3488:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1580, + "mutability": "mutable", + "name": "data", + "nameLocation": "3517:4:13", + "nodeType": "VariableDeclaration", + "scope": 1593, + "src": "3504:17:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1579, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3504:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3487:35:13" + }, + "returnParameters": { + "id": 1584, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1583, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1593, + "src": "3541:12:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1582, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3541:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3540:14:13" + }, + "scope": 1853, + "src": "3466:185:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1612, + "nodeType": "Block", + "src": "4020:76:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1606, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1596, + "src": "4059:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1607, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1598, + "src": "4067:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 1608, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4073:1:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "id": 1609, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1600, + "src": "4076:12:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1605, + "name": "functionCallWithValue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1633, + 1677 + ], + "referencedDeclaration": 1677, + "src": "4037:21:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" + } + }, + "id": 1610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4037:52:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1604, + "id": 1611, + "nodeType": "Return", + "src": "4030:59:13" + } + ] + }, + "documentation": { + "id": 1594, + "nodeType": "StructuredDocumentation", + "src": "3657:211:13", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" + }, + "id": 1613, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCall", + "nameLocation": "3882:12:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1601, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1596, + "mutability": "mutable", + "name": "target", + "nameLocation": "3912:6:13", + "nodeType": "VariableDeclaration", + "scope": 1613, + "src": "3904:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1595, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3904:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1598, + "mutability": "mutable", + "name": "data", + "nameLocation": "3941:4:13", + "nodeType": "VariableDeclaration", + "scope": 1613, + "src": "3928:17:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1597, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3928:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1600, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "3969:12:13", + "nodeType": "VariableDeclaration", + "scope": 1613, + "src": "3955:26:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1599, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3955:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3894:93:13" + }, + "returnParameters": { + "id": 1604, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1603, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1613, + "src": "4006:12:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1602, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4006:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4005:14:13" + }, + "scope": 1853, + "src": "3873:223:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1632, + "nodeType": "Block", + "src": "4601:111:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1626, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1616, + "src": "4640:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1627, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1618, + "src": "4648:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1628, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1620, + "src": "4654:5:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564", + "id": 1629, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4661:43:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", + "typeString": "literal_string \"Address: low-level call with value failed\"" + }, + "value": "Address: low-level call with value failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", + "typeString": "literal_string \"Address: low-level call with value failed\"" + } + ], + "id": 1625, + "name": "functionCallWithValue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1633, + 1677 + ], + "referencedDeclaration": 1677, + "src": "4618:21:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" + } + }, + "id": 1630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4618:87:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1624, + "id": 1631, + "nodeType": "Return", + "src": "4611:94:13" + } + ] + }, + "documentation": { + "id": 1614, + "nodeType": "StructuredDocumentation", + "src": "4102:351:13", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but also transferring `value` wei to `target`.\n Requirements:\n - the calling contract must have an ETH balance of at least `value`.\n - the called Solidity function must be `payable`.\n _Available since v3.1._" + }, + "id": 1633, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCallWithValue", + "nameLocation": "4467:21:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1621, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1616, + "mutability": "mutable", + "name": "target", + "nameLocation": "4506:6:13", + "nodeType": "VariableDeclaration", + "scope": 1633, + "src": "4498:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1615, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4498:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1618, + "mutability": "mutable", + "name": "data", + "nameLocation": "4535:4:13", + "nodeType": "VariableDeclaration", + "scope": 1633, + "src": "4522:17:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1617, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4522:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1620, + "mutability": "mutable", + "name": "value", + "nameLocation": "4557:5:13", + "nodeType": "VariableDeclaration", + "scope": 1633, + "src": "4549:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1619, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4549:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4488:80:13" + }, + "returnParameters": { + "id": 1624, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1623, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1633, + "src": "4587:12:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1622, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4587:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4586:14:13" + }, + "scope": 1853, + "src": "4458:254:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1676, + "nodeType": "Block", + "src": "5139:267:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 1650, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "5165:4:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Address_$1853", + "typeString": "library Address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Address_$1853", + "typeString": "library Address" + } + ], + "id": 1649, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5157:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1648, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5157:7:13", + "typeDescriptions": {} + } + }, + "id": 1651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5157:13:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5171:7:13", + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "5157:21:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 1653, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1640, + "src": "5182:5:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5157:30:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c", + "id": 1655, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5189:40:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", + "typeString": "literal_string \"Address: insufficient balance for call\"" + }, + "value": "Address: insufficient balance for call" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", + "typeString": "literal_string \"Address: insufficient balance for call\"" + } + ], + "id": 1647, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "5149:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5149:81:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1657, + "nodeType": "ExpressionStatement", + "src": "5149:81:13" + }, + { + "assignments": [ + 1659, + 1661 + ], + "declarations": [ + { + "constant": false, + "id": 1659, + "mutability": "mutable", + "name": "success", + "nameLocation": "5246:7:13", + "nodeType": "VariableDeclaration", + "scope": 1676, + "src": "5241:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1658, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5241:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1661, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "5268:10:13", + "nodeType": "VariableDeclaration", + "scope": 1676, + "src": "5255:23:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1660, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5255:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 1668, + "initialValue": { + "arguments": [ + { + "id": 1666, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1638, + "src": "5308:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 1662, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1636, + "src": "5282:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5289:4:13", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "5282:11: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": 1665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 1664, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1640, + "src": "5301:5:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "5282:25:13", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 1667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5282:31:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5240:73:13" + }, + { + "expression": { + "arguments": [ + { + "id": 1670, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1636, + "src": "5357:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1671, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1659, + "src": "5365:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 1672, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1661, + "src": "5374:10:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1673, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1642, + "src": "5386:12:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1669, + "name": "verifyCallResultFromTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1808, + "src": "5330:26:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bool,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 1674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5330:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1646, + "id": 1675, + "nodeType": "Return", + "src": "5323:76:13" + } + ] + }, + "documentation": { + "id": 1634, + "nodeType": "StructuredDocumentation", + "src": "4718:237:13", + "text": " @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n with `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" + }, + "id": 1677, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCallWithValue", + "nameLocation": "4969:21:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1643, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1636, + "mutability": "mutable", + "name": "target", + "nameLocation": "5008:6:13", + "nodeType": "VariableDeclaration", + "scope": 1677, + "src": "5000:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1635, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5000:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1638, + "mutability": "mutable", + "name": "data", + "nameLocation": "5037:4:13", + "nodeType": "VariableDeclaration", + "scope": 1677, + "src": "5024:17:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1637, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5024:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1640, + "mutability": "mutable", + "name": "value", + "nameLocation": "5059:5:13", + "nodeType": "VariableDeclaration", + "scope": 1677, + "src": "5051:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1639, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5051:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1642, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "5088:12:13", + "nodeType": "VariableDeclaration", + "scope": 1677, + "src": "5074:26:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1641, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5074:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4990:116:13" + }, + "returnParameters": { + "id": 1646, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1645, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1677, + "src": "5125:12:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1644, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5125:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5124:14:13" + }, + "scope": 1853, + "src": "4960:446:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1693, + "nodeType": "Block", + "src": "5683:97:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1688, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1680, + "src": "5719:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1689, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1682, + "src": "5727:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564", + "id": 1690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5733:39:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", + "typeString": "literal_string \"Address: low-level static call failed\"" + }, + "value": "Address: low-level static call failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", + "typeString": "literal_string \"Address: low-level static call failed\"" + } + ], + "id": 1687, + "name": "functionStaticCall", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1694, + 1723 + ], + "referencedDeclaration": 1723, + "src": "5700:18:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 1691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5700:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1686, + "id": 1692, + "nodeType": "Return", + "src": "5693:80:13" + } + ] + }, + "documentation": { + "id": 1678, + "nodeType": "StructuredDocumentation", + "src": "5412:166:13", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" + }, + "id": 1694, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionStaticCall", + "nameLocation": "5592:18:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1683, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1680, + "mutability": "mutable", + "name": "target", + "nameLocation": "5619:6:13", + "nodeType": "VariableDeclaration", + "scope": 1694, + "src": "5611:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1679, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5611:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1682, + "mutability": "mutable", + "name": "data", + "nameLocation": "5640:4:13", + "nodeType": "VariableDeclaration", + "scope": 1694, + "src": "5627:17:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1681, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5627:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5610:35:13" + }, + "returnParameters": { + "id": 1686, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1685, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1694, + "src": "5669:12:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1684, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5669:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5668:14:13" + }, + "scope": 1853, + "src": "5583:197:13", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1722, + "nodeType": "Block", + "src": "6122:168:13", + "statements": [ + { + "assignments": [ + 1707, + 1709 + ], + "declarations": [ + { + "constant": false, + "id": 1707, + "mutability": "mutable", + "name": "success", + "nameLocation": "6138:7:13", + "nodeType": "VariableDeclaration", + "scope": 1722, + "src": "6133:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1706, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6133:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1709, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "6160:10:13", + "nodeType": "VariableDeclaration", + "scope": 1722, + "src": "6147:23:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1708, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6147:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 1714, + "initialValue": { + "arguments": [ + { + "id": 1712, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1699, + "src": "6192:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 1710, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1697, + "src": "6174:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6181:10:13", + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "6174:17:13", + "typeDescriptions": { + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 1713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6174:23:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6132:65:13" + }, + { + "expression": { + "arguments": [ + { + "id": 1716, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1697, + "src": "6241:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1717, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1707, + "src": "6249:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 1718, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1709, + "src": "6258:10:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1719, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1701, + "src": "6270:12:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1715, + "name": "verifyCallResultFromTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1808, + "src": "6214:26:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bool,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 1720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6214:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1705, + "id": 1721, + "nodeType": "Return", + "src": "6207:76:13" + } + ] + }, + "documentation": { + "id": 1695, + "nodeType": "StructuredDocumentation", + "src": "5786:173:13", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" + }, + "id": 1723, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionStaticCall", + "nameLocation": "5973:18:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1702, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1697, + "mutability": "mutable", + "name": "target", + "nameLocation": "6009:6:13", + "nodeType": "VariableDeclaration", + "scope": 1723, + "src": "6001:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1696, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6001:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1699, + "mutability": "mutable", + "name": "data", + "nameLocation": "6038:4:13", + "nodeType": "VariableDeclaration", + "scope": 1723, + "src": "6025:17:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1698, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6025:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1701, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "6066:12:13", + "nodeType": "VariableDeclaration", + "scope": 1723, + "src": "6052:26:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1700, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6052:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5991:93:13" + }, + "returnParameters": { + "id": 1705, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1704, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1723, + "src": "6108:12:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1703, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6108:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6107:14:13" + }, + "scope": 1853, + "src": "5964:326:13", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1739, + "nodeType": "Block", + "src": "6566:101:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1734, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1726, + "src": "6604:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1735, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1728, + "src": "6612:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", + "id": 1736, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6618:41:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", + "typeString": "literal_string \"Address: low-level delegate call failed\"" + }, + "value": "Address: low-level delegate call failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", + "typeString": "literal_string \"Address: low-level delegate call failed\"" + } + ], + "id": 1733, + "name": "functionDelegateCall", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1740, + 1769 + ], + "referencedDeclaration": 1769, + "src": "6583:20:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" + } + }, + "id": 1737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6583:77:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1732, + "id": 1738, + "nodeType": "Return", + "src": "6576:84:13" + } + ] + }, + "documentation": { + "id": 1724, + "nodeType": "StructuredDocumentation", + "src": "6296:168:13", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._" + }, + "id": 1740, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionDelegateCall", + "nameLocation": "6478:20:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1729, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1726, + "mutability": "mutable", + "name": "target", + "nameLocation": "6507:6:13", + "nodeType": "VariableDeclaration", + "scope": 1740, + "src": "6499:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1725, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6499:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1728, + "mutability": "mutable", + "name": "data", + "nameLocation": "6528:4:13", + "nodeType": "VariableDeclaration", + "scope": 1740, + "src": "6515:17:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1727, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6515:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6498:35:13" + }, + "returnParameters": { + "id": 1732, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1731, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1740, + "src": "6552:12:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1730, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6552:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6551:14:13" + }, + "scope": 1853, + "src": "6469:198:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1768, + "nodeType": "Block", + "src": "7008:170:13", + "statements": [ + { + "assignments": [ + 1753, + 1755 + ], + "declarations": [ + { + "constant": false, + "id": 1753, + "mutability": "mutable", + "name": "success", + "nameLocation": "7024:7:13", + "nodeType": "VariableDeclaration", + "scope": 1768, + "src": "7019:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1752, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7019:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1755, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "7046:10:13", + "nodeType": "VariableDeclaration", + "scope": 1768, + "src": "7033:23:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1754, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7033:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 1760, + "initialValue": { + "arguments": [ + { + "id": 1758, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1745, + "src": "7080:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 1756, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "7060:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7067:12:13", + "memberName": "delegatecall", + "nodeType": "MemberAccess", + "src": "7060:19:13", + "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": 1759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7060:25:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7018:67:13" + }, + { + "expression": { + "arguments": [ + { + "id": 1762, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1743, + "src": "7129:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1763, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1753, + "src": "7137:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 1764, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "7146:10:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1765, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1747, + "src": "7158:12:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1761, + "name": "verifyCallResultFromTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1808, + "src": "7102:26:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bool,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 1766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7102:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1751, + "id": 1767, + "nodeType": "Return", + "src": "7095:76:13" + } + ] + }, + "documentation": { + "id": 1741, + "nodeType": "StructuredDocumentation", + "src": "6673:175:13", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._" + }, + "id": 1769, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionDelegateCall", + "nameLocation": "6862:20:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1748, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1743, + "mutability": "mutable", + "name": "target", + "nameLocation": "6900:6:13", + "nodeType": "VariableDeclaration", + "scope": 1769, + "src": "6892:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1742, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6892:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1745, + "mutability": "mutable", + "name": "data", + "nameLocation": "6929:4:13", + "nodeType": "VariableDeclaration", + "scope": 1769, + "src": "6916:17:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1744, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6916:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1747, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "6957:12:13", + "nodeType": "VariableDeclaration", + "scope": 1769, + "src": "6943:26:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1746, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6943:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6882:93:13" + }, + "returnParameters": { + "id": 1751, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1750, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1769, + "src": "6994:12:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1749, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6994:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6993:14:13" + }, + "scope": 1853, + "src": "6853:325:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1807, + "nodeType": "Block", + "src": "7660:434:13", + "statements": [ + { + "condition": { + "id": 1783, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1774, + "src": "7674:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1805, + "nodeType": "Block", + "src": "8030:58:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1801, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1776, + "src": "8052:10:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1802, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1778, + "src": "8064:12:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1800, + "name": "_revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1852, + "src": "8044:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,string memory) pure" + } + }, + "id": 1803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8044:33:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1804, + "nodeType": "ExpressionStatement", + "src": "8044:33:13" + } + ] + }, + "id": 1806, + "nodeType": "IfStatement", + "src": "7670:418:13", + "trueBody": { + "id": 1799, + "nodeType": "Block", + "src": "7683:341:13", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1784, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1776, + "src": "7701:10:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7712:6:13", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7701:17:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1786, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7722:1:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7701:22:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1796, + "nodeType": "IfStatement", + "src": "7697:286:13", + "trueBody": { + "id": 1795, + "nodeType": "Block", + "src": "7725:258:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 1790, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1772, + "src": "7927:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1789, + "name": "isContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1541, + "src": "7916:10:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 1791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7916:18:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", + "id": 1792, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7936:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", + "typeString": "literal_string \"Address: call to non-contract\"" + }, + "value": "Address: call to non-contract" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", + "typeString": "literal_string \"Address: call to non-contract\"" + } + ], + "id": 1788, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "7908:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7908:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1794, + "nodeType": "ExpressionStatement", + "src": "7908:60:13" + } + ] + } + }, + { + "expression": { + "id": 1797, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1776, + "src": "8003:10:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1782, + "id": 1798, + "nodeType": "Return", + "src": "7996:17:13" + } + ] + } + } + ] + }, + "documentation": { + "id": 1770, + "nodeType": "StructuredDocumentation", + "src": "7184:277:13", + "text": " @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\n the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\n _Available since v4.8._" + }, + "id": 1808, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyCallResultFromTarget", + "nameLocation": "7475:26:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1779, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1772, + "mutability": "mutable", + "name": "target", + "nameLocation": "7519:6:13", + "nodeType": "VariableDeclaration", + "scope": 1808, + "src": "7511:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1771, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7511:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1774, + "mutability": "mutable", + "name": "success", + "nameLocation": "7540:7:13", + "nodeType": "VariableDeclaration", + "scope": 1808, + "src": "7535:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1773, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7535:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1776, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "7570:10:13", + "nodeType": "VariableDeclaration", + "scope": 1808, + "src": "7557:23:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1775, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7557:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1778, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "7604:12:13", + "nodeType": "VariableDeclaration", + "scope": 1808, + "src": "7590:26:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1777, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7590:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7501:121:13" + }, + "returnParameters": { + "id": 1782, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1781, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1808, + "src": "7646:12:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1780, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7646:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "7645:14:13" + }, + "scope": 1853, + "src": "7466:628:13", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1831, + "nodeType": "Block", + "src": "8475:135:13", + "statements": [ + { + "condition": { + "id": 1820, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1811, + "src": "8489:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1829, + "nodeType": "Block", + "src": "8546:58:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1825, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1813, + "src": "8568:10:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1826, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1815, + "src": "8580:12:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1824, + "name": "_revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1852, + "src": "8560:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,string memory) pure" + } + }, + "id": 1827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8560:33:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1828, + "nodeType": "ExpressionStatement", + "src": "8560:33:13" + } + ] + }, + "id": 1830, + "nodeType": "IfStatement", + "src": "8485:119:13", + "trueBody": { + "id": 1823, + "nodeType": "Block", + "src": "8498:42:13", + "statements": [ + { + "expression": { + "id": 1821, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1813, + "src": "8519:10:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1819, + "id": 1822, + "nodeType": "Return", + "src": "8512:17:13" + } + ] + } + } + ] + }, + "documentation": { + "id": 1809, + "nodeType": "StructuredDocumentation", + "src": "8100:210:13", + "text": " @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\n revert reason or using the provided one.\n _Available since v4.3._" + }, + "id": 1832, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyCallResult", + "nameLocation": "8324:16:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1811, + "mutability": "mutable", + "name": "success", + "nameLocation": "8355:7:13", + "nodeType": "VariableDeclaration", + "scope": 1832, + "src": "8350:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1810, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8350:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1813, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "8385:10:13", + "nodeType": "VariableDeclaration", + "scope": 1832, + "src": "8372:23:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1812, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8372:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1815, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "8419:12:13", + "nodeType": "VariableDeclaration", + "scope": 1832, + "src": "8405:26:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1814, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8405:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8340:97:13" + }, + "returnParameters": { + "id": 1819, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1818, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1832, + "src": "8461:12:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1817, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8461:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8460:14:13" + }, + "scope": 1853, + "src": "8315:295:13", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1851, + "nodeType": "Block", + "src": "8699:457:13", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1839, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1834, + "src": "8775:10:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8786:6:13", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8775:17:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1841, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8795:1:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8775:21:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1849, + "nodeType": "Block", + "src": "9105:45:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1846, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1836, + "src": "9126:12:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1845, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967277, + 4294967277 + ], + "referencedDeclaration": 4294967277, + "src": "9119:6:13", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 1847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9119:20:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1848, + "nodeType": "ExpressionStatement", + "src": "9119:20:13" + } + ] + }, + "id": 1850, + "nodeType": "IfStatement", + "src": "8771:379:13", + "trueBody": { + "id": 1844, + "nodeType": "Block", + "src": "8798:301:13", + "statements": [ + { + "AST": { + "nodeType": "YulBlock", + "src": "8956:133:13", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8974:40:13", + "value": { + "arguments": [ + { + "name": "returndata", + "nodeType": "YulIdentifier", + "src": "9003:10:13" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "8997:5:13" + }, + "nodeType": "YulFunctionCall", + "src": "8997:17:13" + }, + "variables": [ + { + "name": "returndata_size", + "nodeType": "YulTypedName", + "src": "8978:15:13", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9042:2:13", + "type": "", + "value": "32" + }, + { + "name": "returndata", + "nodeType": "YulIdentifier", + "src": "9046:10:13" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9038:3:13" + }, + "nodeType": "YulFunctionCall", + "src": "9038:19:13" + }, + { + "name": "returndata_size", + "nodeType": "YulIdentifier", + "src": "9059:15:13" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9031:6:13" + }, + "nodeType": "YulFunctionCall", + "src": "9031:44:13" + }, + "nodeType": "YulExpressionStatement", + "src": "9031:44:13" + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1834, + "isOffset": false, + "isSlot": false, + "src": "9003:10:13", + "valueSize": 1 + }, + { + "declaration": 1834, + "isOffset": false, + "isSlot": false, + "src": "9046:10:13", + "valueSize": 1 + } + ], + "id": 1843, + "nodeType": "InlineAssembly", + "src": "8947:142:13" + } + ] + } + } + ] + }, + "id": 1852, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_revert", + "nameLocation": "8625:7:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1837, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1834, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "8646:10:13", + "nodeType": "VariableDeclaration", + "scope": 1852, + "src": "8633:23:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1833, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8633:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1836, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "8672:12:13", + "nodeType": "VariableDeclaration", + "scope": 1852, + "src": "8658:26:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1835, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8658:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8632:53:13" + }, + "returnParameters": { + "id": 1838, + "nodeType": "ParameterList", + "parameters": [], + "src": "8699:0:13" + }, + "scope": 1853, + "src": "8616:540:13", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + } + ], + "scope": 1854, + "src": "194:8964:13", + "usedErrors": [] + } + ], + "src": "101:9058:13" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.611Z", + "devdoc": { + "details": "Collection of functions related to the address type", + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/AddressUpgradeable.json b/build/contracts/AddressUpgradeable.json new file mode 100644 index 0000000..7a309b7 --- /dev/null +++ b/build/contracts/AddressUpgradeable.json @@ -0,0 +1,3787 @@ +{ + "contractName": "AddressUpgradeable", + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol\":\"AddressUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x2edcb41c121abc510932e8d83ff8b82cf9cdde35e7c297622f5c29ef0af25183\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72460c66cd1c3b1c11b863e0d8df0a1c56f37743019e468dc312c754f43e3b06\",\"dweb:/ipfs/QmPExYKiNb9PUsgktQBupPaM33kzDHxaYoVeJdLhv8s879\"]}},\"version\":1}", + "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e9ba50d75d3f9eed10482e3940bb46f9fafcef599b09b4bdf335fe455d62242b64736f6c63430008120033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e9ba50d75d3f9eed10482e3940bb46f9fafcef599b09b4bdf335fe455d62242b64736f6c63430008120033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "194:8087:3:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;194:8087:3;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "194:8087:3:-:0;;;;;;;;", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/Address.sol)\n\npragma solidity ^0.8.1;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary AddressUpgradeable {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * [IMPORTANT]\n * ====\n * It is unsafe to assume that an address for which this function returns\n * false is an externally-owned account (EOA) and not a contract.\n *\n * Among others, `isContract` will return false for the following\n * types of addresses:\n *\n * - an externally-owned account\n * - a contract in construction\n * - an address where a contract will be created\n * - an address where a contract lived, but was destroyed\n * ====\n *\n * [IMPORTANT]\n * ====\n * You shouldn't rely on `isContract` to protect against flash loan attacks!\n *\n * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n * constructor.\n * ====\n */\n function isContract(address account) internal view returns (bool) {\n // This method relies on extcodesize/address.code.length, which returns 0\n // for contracts in construction, since the code is only stored at the end\n // of the constructor execution.\n\n return account.code.length > 0;\n }\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n require(address(this).balance >= amount, \"Address: insufficient balance\");\n\n (bool success, ) = recipient.call{value: amount}(\"\");\n require(success, \"Address: unable to send value, recipient may have reverted\");\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain `call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason, it is bubbled up by this\n * function (like regular Solidity function calls).\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, \"Address: low-level call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n * `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(\n address target,\n bytes memory data,\n uint256 value\n ) internal returns (bytes memory) {\n return functionCallWithValue(target, data, value, \"Address: low-level call with value failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n * with `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(\n address target,\n bytes memory data,\n uint256 value,\n string memory errorMessage\n ) internal returns (bytes memory) {\n require(address(this).balance >= value, \"Address: insufficient balance for call\");\n (bool success, bytes memory returndata) = target.call{value: value}(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n return functionStaticCall(target, data, \"Address: low-level static call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n (bool success, bytes memory returndata) = target.staticcall(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\n * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\n *\n * _Available since v4.8._\n */\n function verifyCallResultFromTarget(\n address target,\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n if (success) {\n if (returndata.length == 0) {\n // only check isContract if the call was successful and the return data is empty\n // otherwise we already know that it was a contract\n require(isContract(target), \"Address: call to non-contract\");\n }\n return returndata;\n } else {\n _revert(returndata, errorMessage);\n }\n }\n\n /**\n * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\n * revert reason or using the provided one.\n *\n * _Available since v4.3._\n */\n function verifyCallResult(\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal pure returns (bytes memory) {\n if (success) {\n return returndata;\n } else {\n _revert(returndata, errorMessage);\n }\n }\n\n function _revert(bytes memory returndata, string memory errorMessage) private pure {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n /// @solidity memory-safe-assembly\n assembly {\n let returndata_size := mload(returndata)\n revert(add(32, returndata), returndata_size)\n }\n } else {\n revert(errorMessage);\n }\n }\n}\n", + "sourcePath": "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol", + "exportedSymbols": { + "AddressUpgradeable": [ + 657 + ] + }, + "id": 658, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 375, + "literals": [ + "solidity", + "^", + "0.8", + ".1" + ], + "nodeType": "PragmaDirective", + "src": "101:23:3" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "AddressUpgradeable", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 376, + "nodeType": "StructuredDocumentation", + "src": "126:67:3", + "text": " @dev Collection of functions related to the address type" + }, + "fullyImplemented": true, + "id": 657, + "linearizedBaseContracts": [ + 657 + ], + "name": "AddressUpgradeable", + "nameLocation": "202:18:3", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 390, + "nodeType": "Block", + "src": "1252:254:3", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 384, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 379, + "src": "1476:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1484:4:3", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "1476:12:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1489:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1476:19:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 387, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1498:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1476:23:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 383, + "id": 389, + "nodeType": "Return", + "src": "1469:30:3" + } + ] + }, + "documentation": { + "id": 377, + "nodeType": "StructuredDocumentation", + "src": "227:954:3", + "text": " @dev Returns true if `account` is a contract.\n [IMPORTANT]\n ====\n It is unsafe to assume that an address for which this function returns\n false is an externally-owned account (EOA) and not a contract.\n Among others, `isContract` will return false for the following\n types of addresses:\n - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n ====\n [IMPORTANT]\n ====\n You shouldn't rely on `isContract` to protect against flash loan attacks!\n Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n constructor.\n ====" + }, + "id": 391, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isContract", + "nameLocation": "1195:10:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 380, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 379, + "mutability": "mutable", + "name": "account", + "nameLocation": "1214:7:3", + "nodeType": "VariableDeclaration", + "scope": 391, + "src": "1206:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 378, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1206:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1205:17:3" + }, + "returnParameters": { + "id": 383, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 382, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 391, + "src": "1246:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 381, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1246:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1245:6:3" + }, + "scope": 657, + "src": "1186:320:3", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 424, + "nodeType": "Block", + "src": "2494:241:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 402, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "2520:4:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AddressUpgradeable_$657", + "typeString": "library AddressUpgradeable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_AddressUpgradeable_$657", + "typeString": "library AddressUpgradeable" + } + ], + "id": 401, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2512:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 400, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2512:7:3", + "typeDescriptions": {} + } + }, + "id": 403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2512:13:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2526:7:3", + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "2512:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 405, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 396, + "src": "2537:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2512:31:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", + "id": 407, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2545:31:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", + "typeString": "literal_string \"Address: insufficient balance\"" + }, + "value": "Address: insufficient balance" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", + "typeString": "literal_string \"Address: insufficient balance\"" + } + ], + "id": 399, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2504:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2504:73:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 409, + "nodeType": "ExpressionStatement", + "src": "2504:73:3" + }, + { + "assignments": [ + 411, + null + ], + "declarations": [ + { + "constant": false, + "id": 411, + "mutability": "mutable", + "name": "success", + "nameLocation": "2594:7:3", + "nodeType": "VariableDeclaration", + "scope": 424, + "src": "2589:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 410, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2589:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 418, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 416, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2637:2:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "id": 412, + "name": "recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 394, + "src": "2607:9:3", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2617:4:3", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "2607:14:3", + "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": 415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 414, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 396, + "src": "2629:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "2607:29:3", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2607:33:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2588:52:3" + }, + { + "expression": { + "arguments": [ + { + "id": 420, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 411, + "src": "2658:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", + "id": 421, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2667:60:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", + "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" + }, + "value": "Address: unable to send value, recipient may have reverted" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", + "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" + } + ], + "id": 419, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2650:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2650:78:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 423, + "nodeType": "ExpressionStatement", + "src": "2650:78:3" + } + ] + }, + "documentation": { + "id": 392, + "nodeType": "StructuredDocumentation", + "src": "1512:906:3", + "text": " @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the\n https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]." + }, + "id": 425, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sendValue", + "nameLocation": "2432:9:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 397, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 394, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "2458:9:3", + "nodeType": "VariableDeclaration", + "scope": 425, + "src": "2442:25:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 393, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2442:15:3", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 396, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2477:6:3", + "nodeType": "VariableDeclaration", + "scope": 425, + "src": "2469:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 395, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2469:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2441:43:3" + }, + "returnParameters": { + "id": 398, + "nodeType": "ParameterList", + "parameters": [], + "src": "2494:0:3" + }, + "scope": 657, + "src": "2423:312:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 442, + "nodeType": "Block", + "src": "3566:96:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 436, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 428, + "src": "3605:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 437, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 430, + "src": "3613:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3619:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564", + "id": 439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3622:32:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", + "typeString": "literal_string \"Address: low-level call failed\"" + }, + "value": "Address: low-level call failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", + "typeString": "literal_string \"Address: low-level call failed\"" + } + ], + "id": 435, + "name": "functionCallWithValue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 483, + 527 + ], + "referencedDeclaration": 527, + "src": "3583:21:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" + } + }, + "id": 440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3583:72:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 434, + "id": 441, + "nodeType": "Return", + "src": "3576:79:3" + } + ] + }, + "documentation": { + "id": 426, + "nodeType": "StructuredDocumentation", + "src": "2741:731:3", + "text": " @dev Performs a Solidity function call using a low level `call`. A\n plain `call` is an unsafe replacement for a function call: use this\n function instead.\n If `target` reverts with a revert reason, it is bubbled up by this\n function (like regular Solidity function calls).\n Returns the raw returned data. To convert to the expected return value,\n use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert.\n _Available since v3.1._" + }, + "id": 443, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCall", + "nameLocation": "3486:12:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 431, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 428, + "mutability": "mutable", + "name": "target", + "nameLocation": "3507:6:3", + "nodeType": "VariableDeclaration", + "scope": 443, + "src": "3499:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 427, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3499:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 430, + "mutability": "mutable", + "name": "data", + "nameLocation": "3528:4:3", + "nodeType": "VariableDeclaration", + "scope": 443, + "src": "3515:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 429, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3515:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3498:35:3" + }, + "returnParameters": { + "id": 434, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 433, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 443, + "src": "3552:12:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 432, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3552:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3551:14:3" + }, + "scope": 657, + "src": "3477:185:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 462, + "nodeType": "Block", + "src": "4031:76:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 456, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 446, + "src": "4070:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 457, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 448, + "src": "4078:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 458, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4084:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "id": 459, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 450, + "src": "4087:12:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 455, + "name": "functionCallWithValue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 483, + 527 + ], + "referencedDeclaration": 527, + "src": "4048:21:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" + } + }, + "id": 460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4048:52:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 454, + "id": 461, + "nodeType": "Return", + "src": "4041:59:3" + } + ] + }, + "documentation": { + "id": 444, + "nodeType": "StructuredDocumentation", + "src": "3668:211:3", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" + }, + "id": 463, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCall", + "nameLocation": "3893:12:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 451, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 446, + "mutability": "mutable", + "name": "target", + "nameLocation": "3923:6:3", + "nodeType": "VariableDeclaration", + "scope": 463, + "src": "3915:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 445, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3915:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 448, + "mutability": "mutable", + "name": "data", + "nameLocation": "3952:4:3", + "nodeType": "VariableDeclaration", + "scope": 463, + "src": "3939:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 447, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3939:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 450, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "3980:12:3", + "nodeType": "VariableDeclaration", + "scope": 463, + "src": "3966:26:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 449, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3966:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3905:93:3" + }, + "returnParameters": { + "id": 454, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 453, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 463, + "src": "4017:12:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 452, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4017:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4016:14:3" + }, + "scope": 657, + "src": "3884:223:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 482, + "nodeType": "Block", + "src": "4612:111:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 476, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 466, + "src": "4651:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 477, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 468, + "src": "4659:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 478, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 470, + "src": "4665:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564", + "id": 479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4672:43:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", + "typeString": "literal_string \"Address: low-level call with value failed\"" + }, + "value": "Address: low-level call with value failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", + "typeString": "literal_string \"Address: low-level call with value failed\"" + } + ], + "id": 475, + "name": "functionCallWithValue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 483, + 527 + ], + "referencedDeclaration": 527, + "src": "4629:21:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" + } + }, + "id": 480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4629:87:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 474, + "id": 481, + "nodeType": "Return", + "src": "4622:94:3" + } + ] + }, + "documentation": { + "id": 464, + "nodeType": "StructuredDocumentation", + "src": "4113:351:3", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but also transferring `value` wei to `target`.\n Requirements:\n - the calling contract must have an ETH balance of at least `value`.\n - the called Solidity function must be `payable`.\n _Available since v3.1._" + }, + "id": 483, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCallWithValue", + "nameLocation": "4478:21:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 471, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 466, + "mutability": "mutable", + "name": "target", + "nameLocation": "4517:6:3", + "nodeType": "VariableDeclaration", + "scope": 483, + "src": "4509:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 465, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4509:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 468, + "mutability": "mutable", + "name": "data", + "nameLocation": "4546:4:3", + "nodeType": "VariableDeclaration", + "scope": 483, + "src": "4533:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 467, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4533:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 470, + "mutability": "mutable", + "name": "value", + "nameLocation": "4568:5:3", + "nodeType": "VariableDeclaration", + "scope": 483, + "src": "4560:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 469, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4560:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4499:80:3" + }, + "returnParameters": { + "id": 474, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 473, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 483, + "src": "4598:12:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 472, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4598:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4597:14:3" + }, + "scope": 657, + "src": "4469:254:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 526, + "nodeType": "Block", + "src": "5150:267:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 500, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "5176:4:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AddressUpgradeable_$657", + "typeString": "library AddressUpgradeable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_AddressUpgradeable_$657", + "typeString": "library AddressUpgradeable" + } + ], + "id": 499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5168:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 498, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5168:7:3", + "typeDescriptions": {} + } + }, + "id": 501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5168:13:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5182:7:3", + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "5168:21:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 503, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 490, + "src": "5193:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5168:30:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c", + "id": 505, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5200:40:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", + "typeString": "literal_string \"Address: insufficient balance for call\"" + }, + "value": "Address: insufficient balance for call" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", + "typeString": "literal_string \"Address: insufficient balance for call\"" + } + ], + "id": 497, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "5160:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5160:81:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 507, + "nodeType": "ExpressionStatement", + "src": "5160:81:3" + }, + { + "assignments": [ + 509, + 511 + ], + "declarations": [ + { + "constant": false, + "id": 509, + "mutability": "mutable", + "name": "success", + "nameLocation": "5257:7:3", + "nodeType": "VariableDeclaration", + "scope": 526, + "src": "5252:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 508, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5252:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 511, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "5279:10:3", + "nodeType": "VariableDeclaration", + "scope": 526, + "src": "5266:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 510, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5266:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 518, + "initialValue": { + "arguments": [ + { + "id": 516, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 488, + "src": "5319:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 512, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 486, + "src": "5293:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5300:4:3", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "5293:11:3", + "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": 515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 514, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 490, + "src": "5312:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "5293:25:3", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5293:31:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5251:73:3" + }, + { + "expression": { + "arguments": [ + { + "id": 520, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 486, + "src": "5368:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 521, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 509, + "src": "5376:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 522, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "5385:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 523, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 492, + "src": "5397:12:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 519, + "name": "verifyCallResultFromTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 612, + "src": "5341:26:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bool,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5341:69:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 496, + "id": 525, + "nodeType": "Return", + "src": "5334:76:3" + } + ] + }, + "documentation": { + "id": 484, + "nodeType": "StructuredDocumentation", + "src": "4729:237:3", + "text": " @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n with `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" + }, + "id": 527, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCallWithValue", + "nameLocation": "4980:21:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 493, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 486, + "mutability": "mutable", + "name": "target", + "nameLocation": "5019:6:3", + "nodeType": "VariableDeclaration", + "scope": 527, + "src": "5011:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 485, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5011:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 488, + "mutability": "mutable", + "name": "data", + "nameLocation": "5048:4:3", + "nodeType": "VariableDeclaration", + "scope": 527, + "src": "5035:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 487, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5035:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 490, + "mutability": "mutable", + "name": "value", + "nameLocation": "5070:5:3", + "nodeType": "VariableDeclaration", + "scope": 527, + "src": "5062:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 489, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5062:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 492, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "5099:12:3", + "nodeType": "VariableDeclaration", + "scope": 527, + "src": "5085:26:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 491, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5085:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5001:116:3" + }, + "returnParameters": { + "id": 496, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 495, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 527, + "src": "5136:12:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 494, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5136:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5135:14:3" + }, + "scope": 657, + "src": "4971:446:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 543, + "nodeType": "Block", + "src": "5694:97:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 538, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 530, + "src": "5730:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 539, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 532, + "src": "5738:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564", + "id": 540, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5744:39:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", + "typeString": "literal_string \"Address: low-level static call failed\"" + }, + "value": "Address: low-level static call failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", + "typeString": "literal_string \"Address: low-level static call failed\"" + } + ], + "id": 537, + "name": "functionStaticCall", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 544, + 573 + ], + "referencedDeclaration": 573, + "src": "5711:18:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5711:73:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 536, + "id": 542, + "nodeType": "Return", + "src": "5704:80:3" + } + ] + }, + "documentation": { + "id": 528, + "nodeType": "StructuredDocumentation", + "src": "5423:166:3", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" + }, + "id": 544, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionStaticCall", + "nameLocation": "5603:18:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 533, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 530, + "mutability": "mutable", + "name": "target", + "nameLocation": "5630:6:3", + "nodeType": "VariableDeclaration", + "scope": 544, + "src": "5622:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 529, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5622:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 532, + "mutability": "mutable", + "name": "data", + "nameLocation": "5651:4:3", + "nodeType": "VariableDeclaration", + "scope": 544, + "src": "5638:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 531, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5638:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5621:35:3" + }, + "returnParameters": { + "id": 536, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 535, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 544, + "src": "5680:12:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 534, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5680:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5679:14:3" + }, + "scope": 657, + "src": "5594:197:3", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 572, + "nodeType": "Block", + "src": "6133:168:3", + "statements": [ + { + "assignments": [ + 557, + 559 + ], + "declarations": [ + { + "constant": false, + "id": 557, + "mutability": "mutable", + "name": "success", + "nameLocation": "6149:7:3", + "nodeType": "VariableDeclaration", + "scope": 572, + "src": "6144:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 556, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6144:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 559, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "6171:10:3", + "nodeType": "VariableDeclaration", + "scope": 572, + "src": "6158:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 558, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6158:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 564, + "initialValue": { + "arguments": [ + { + "id": 562, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 549, + "src": "6203:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 560, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 547, + "src": "6185:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6192:10:3", + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "6185:17:3", + "typeDescriptions": { + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6185:23:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6143:65:3" + }, + { + "expression": { + "arguments": [ + { + "id": 566, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 547, + "src": "6252:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 567, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 557, + "src": "6260:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 568, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 559, + "src": "6269:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 569, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 551, + "src": "6281:12:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 565, + "name": "verifyCallResultFromTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 612, + "src": "6225:26:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bool,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6225:69:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 555, + "id": 571, + "nodeType": "Return", + "src": "6218:76:3" + } + ] + }, + "documentation": { + "id": 545, + "nodeType": "StructuredDocumentation", + "src": "5797:173:3", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" + }, + "id": 573, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionStaticCall", + "nameLocation": "5984:18:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 552, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 547, + "mutability": "mutable", + "name": "target", + "nameLocation": "6020:6:3", + "nodeType": "VariableDeclaration", + "scope": 573, + "src": "6012:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 546, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6012:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 549, + "mutability": "mutable", + "name": "data", + "nameLocation": "6049:4:3", + "nodeType": "VariableDeclaration", + "scope": 573, + "src": "6036:17:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 548, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6036:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 551, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "6077:12:3", + "nodeType": "VariableDeclaration", + "scope": 573, + "src": "6063:26:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 550, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6063:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6002:93:3" + }, + "returnParameters": { + "id": 555, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 554, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 573, + "src": "6119:12:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 553, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6119:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6118:14:3" + }, + "scope": 657, + "src": "5975:326:3", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 611, + "nodeType": "Block", + "src": "6783:434:3", + "statements": [ + { + "condition": { + "id": 587, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "6797:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 609, + "nodeType": "Block", + "src": "7153:58:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 605, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 580, + "src": "7175:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 606, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 582, + "src": "7187:12:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 604, + "name": "_revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 656, + "src": "7167:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,string memory) pure" + } + }, + "id": 607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7167:33:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 608, + "nodeType": "ExpressionStatement", + "src": "7167:33:3" + } + ] + }, + "id": 610, + "nodeType": "IfStatement", + "src": "6793:418:3", + "trueBody": { + "id": 603, + "nodeType": "Block", + "src": "6806:341:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 588, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 580, + "src": "6824:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6835:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6824:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 590, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6845:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6824:22:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 600, + "nodeType": "IfStatement", + "src": "6820:286:3", + "trueBody": { + "id": 599, + "nodeType": "Block", + "src": "6848:258:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 594, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "7050:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 593, + "name": "isContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 391, + "src": "7039:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7039:18:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", + "id": 596, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7059:31:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", + "typeString": "literal_string \"Address: call to non-contract\"" + }, + "value": "Address: call to non-contract" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", + "typeString": "literal_string \"Address: call to non-contract\"" + } + ], + "id": 592, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "7031:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7031:60:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 598, + "nodeType": "ExpressionStatement", + "src": "7031:60:3" + } + ] + } + }, + { + "expression": { + "id": 601, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 580, + "src": "7126:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 586, + "id": 602, + "nodeType": "Return", + "src": "7119:17:3" + } + ] + } + } + ] + }, + "documentation": { + "id": 574, + "nodeType": "StructuredDocumentation", + "src": "6307:277:3", + "text": " @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\n the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\n _Available since v4.8._" + }, + "id": 612, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyCallResultFromTarget", + "nameLocation": "6598:26:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 583, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 576, + "mutability": "mutable", + "name": "target", + "nameLocation": "6642:6:3", + "nodeType": "VariableDeclaration", + "scope": 612, + "src": "6634:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 575, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6634:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 578, + "mutability": "mutable", + "name": "success", + "nameLocation": "6663:7:3", + "nodeType": "VariableDeclaration", + "scope": 612, + "src": "6658:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 577, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6658:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 580, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "6693:10:3", + "nodeType": "VariableDeclaration", + "scope": 612, + "src": "6680:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 579, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6680:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 582, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "6727:12:3", + "nodeType": "VariableDeclaration", + "scope": 612, + "src": "6713:26:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 581, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6713:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6624:121:3" + }, + "returnParameters": { + "id": 586, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 585, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 612, + "src": "6769:12:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 584, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6769:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6768:14:3" + }, + "scope": 657, + "src": "6589:628:3", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 635, + "nodeType": "Block", + "src": "7598:135:3", + "statements": [ + { + "condition": { + "id": 624, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 615, + "src": "7612:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 633, + "nodeType": "Block", + "src": "7669:58:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 629, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 617, + "src": "7691:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 630, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 619, + "src": "7703:12:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 628, + "name": "_revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 656, + "src": "7683:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bytes memory,string memory) pure" + } + }, + "id": 631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7683:33:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 632, + "nodeType": "ExpressionStatement", + "src": "7683:33:3" + } + ] + }, + "id": 634, + "nodeType": "IfStatement", + "src": "7608:119:3", + "trueBody": { + "id": 627, + "nodeType": "Block", + "src": "7621:42:3", + "statements": [ + { + "expression": { + "id": 625, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 617, + "src": "7642:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 623, + "id": 626, + "nodeType": "Return", + "src": "7635:17:3" + } + ] + } + } + ] + }, + "documentation": { + "id": 613, + "nodeType": "StructuredDocumentation", + "src": "7223:210:3", + "text": " @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\n revert reason or using the provided one.\n _Available since v4.3._" + }, + "id": 636, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyCallResult", + "nameLocation": "7447:16:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 620, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 615, + "mutability": "mutable", + "name": "success", + "nameLocation": "7478:7:3", + "nodeType": "VariableDeclaration", + "scope": 636, + "src": "7473:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 614, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7473:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 617, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "7508:10:3", + "nodeType": "VariableDeclaration", + "scope": 636, + "src": "7495:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 616, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7495:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 619, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "7542:12:3", + "nodeType": "VariableDeclaration", + "scope": 636, + "src": "7528:26:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 618, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7528:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7463:97:3" + }, + "returnParameters": { + "id": 623, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 622, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 636, + "src": "7584:12:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 621, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7584:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "7583:14:3" + }, + "scope": 657, + "src": "7438:295:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 655, + "nodeType": "Block", + "src": "7822:457:3", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 643, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 638, + "src": "7898:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7909:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7898:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 645, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7918:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7898:21:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 653, + "nodeType": "Block", + "src": "8228:45:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 650, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 640, + "src": "8249:12:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 649, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967277, + 4294967277 + ], + "referencedDeclaration": 4294967277, + "src": "8242:6:3", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8242:20:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 652, + "nodeType": "ExpressionStatement", + "src": "8242:20:3" + } + ] + }, + "id": 654, + "nodeType": "IfStatement", + "src": "7894:379:3", + "trueBody": { + "id": 648, + "nodeType": "Block", + "src": "7921:301:3", + "statements": [ + { + "AST": { + "nodeType": "YulBlock", + "src": "8079:133:3", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8097:40:3", + "value": { + "arguments": [ + { + "name": "returndata", + "nodeType": "YulIdentifier", + "src": "8126:10:3" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "8120:5:3" + }, + "nodeType": "YulFunctionCall", + "src": "8120:17:3" + }, + "variables": [ + { + "name": "returndata_size", + "nodeType": "YulTypedName", + "src": "8101:15:3", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8165:2:3", + "type": "", + "value": "32" + }, + { + "name": "returndata", + "nodeType": "YulIdentifier", + "src": "8169:10:3" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8161:3:3" + }, + "nodeType": "YulFunctionCall", + "src": "8161:19:3" + }, + { + "name": "returndata_size", + "nodeType": "YulIdentifier", + "src": "8182:15:3" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8154:6:3" + }, + "nodeType": "YulFunctionCall", + "src": "8154:44:3" + }, + "nodeType": "YulExpressionStatement", + "src": "8154:44:3" + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 638, + "isOffset": false, + "isSlot": false, + "src": "8126:10:3", + "valueSize": 1 + }, + { + "declaration": 638, + "isOffset": false, + "isSlot": false, + "src": "8169:10:3", + "valueSize": 1 + } + ], + "id": 647, + "nodeType": "InlineAssembly", + "src": "8070:142:3" + } + ] + } + } + ] + }, + "id": 656, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_revert", + "nameLocation": "7748:7:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 641, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 638, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "7769:10:3", + "nodeType": "VariableDeclaration", + "scope": 656, + "src": "7756:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 637, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7756:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 640, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "7795:12:3", + "nodeType": "VariableDeclaration", + "scope": 656, + "src": "7781:26:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 639, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7781:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7755:53:3" + }, + "returnParameters": { + "id": 642, + "nodeType": "ParameterList", + "parameters": [], + "src": "7822:0:3" + }, + "scope": 657, + "src": "7739:540:3", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + } + ], + "scope": 658, + "src": "194:8087:3", + "usedErrors": [] + } + ], + "src": "101:8181:3" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.592Z", + "devdoc": { + "details": "Collection of functions related to the address type", + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/Bridge.json b/build/contracts/Bridge.json new file mode 100644 index 0000000..a2f2ada --- /dev/null +++ b/build/contracts/Bridge.json @@ -0,0 +1,5797 @@ +{ + "contractName": "Bridge", + "abi": [ + { + "stateMutability": "payable", + "type": "receive" + }, + { + "inputs": [], + "name": "getBtcBlockchainBestChainHeight", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getStateForBtcReleaseClient", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getStateForDebugging", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getBtcBlockchainInitialBlockHeight", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "depth", + "type": "int256" + } + ], + "name": "getBtcBlockchainBlockHashAtDepth", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "hash", + "type": "string" + } + ], + "name": "getBtcTxHashProcessedHeight", + "outputs": [ + { + "internalType": "int64", + "name": "", + "type": "int64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "hash", + "type": "string" + } + ], + "name": "isBtcTxHashAlreadyProcessed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getFederationAddress", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "atx", + "type": "bytes" + }, + { + "internalType": "int256", + "name": "height", + "type": "int256" + }, + { + "internalType": "bytes", + "name": "pmt", + "type": "bytes" + } + ], + "name": "registerBtcTransaction", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "pubkey", + "type": "bytes" + }, + { + "internalType": "bytes[]", + "name": "signatures", + "type": "bytes[]" + }, + { + "internalType": "bytes", + "name": "txhash", + "type": "bytes" + } + ], + "name": "addSignature", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "blocks", + "type": "bytes[]" + } + ], + "name": "receiveHeaders", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "ablock", + "type": "bytes" + } + ], + "name": "receiveHeader", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getFederationSize", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getFederationThreshold", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "index", + "type": "int256" + } + ], + "name": "getFederatorPublicKey", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "index", + "type": "int256" + }, + { + "internalType": "string", + "name": "atype", + "type": "string" + } + ], + "name": "getFederatorPublicKeyOfType", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getFederationCreationTime", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getFederationCreationBlockNumber", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getRetiringFederationAddress", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getRetiringFederationSize", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getRetiringFederationThreshold", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "index", + "type": "int256" + } + ], + "name": "getRetiringFederatorPublicKey", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "index", + "type": "int256" + }, + { + "internalType": "string", + "name": "atype", + "type": "string" + } + ], + "name": "getRetiringFederatorPublicKeyOfType", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getRetiringFederationCreationTime", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getRetiringFederationCreationBlockNumber", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "createFederation", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "key", + "type": "bytes" + } + ], + "name": "addFederatorPublicKey", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "btcKey", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "rskKey", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "mstKey", + "type": "bytes" + } + ], + "name": "addFederatorPublicKeyMultikey", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "hash", + "type": "bytes" + } + ], + "name": "commitFederation", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rollbackFederation", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getPendingFederationHash", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getPendingFederationSize", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "index", + "type": "int256" + } + ], + "name": "getPendingFederatorPublicKey", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "index", + "type": "int256" + }, + { + "internalType": "string", + "name": "atype", + "type": "string" + } + ], + "name": "getPendingFederatorPublicKeyOfType", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getLockWhitelistSize", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "index", + "type": "int256" + } + ], + "name": "getLockWhitelistAddress", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "aaddress", + "type": "string" + } + ], + "name": "getLockWhitelistEntryByAddress", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "aaddress", + "type": "string" + }, + { + "internalType": "int256", + "name": "maxTransferValue", + "type": "int256" + } + ], + "name": "addLockWhitelistAddress", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "aaddress", + "type": "string" + }, + { + "internalType": "int256", + "name": "maxTransferValue", + "type": "int256" + } + ], + "name": "addOneOffLockWhitelistAddress", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "aaddress", + "type": "string" + } + ], + "name": "addUnlimitedLockWhitelistAddress", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "aaddress", + "type": "string" + } + ], + "name": "removeLockWhitelistAddress", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "disableDelay", + "type": "int256" + } + ], + "name": "setLockWhitelistDisableBlockDelay", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getFeePerKb", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "feePerKb", + "type": "int256" + } + ], + "name": "voteFeePerKbChange", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "updateCollections", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getMinimumLockTxValue", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "blockHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "merkleBranchPath", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "merkleBranchHashes", + "type": "bytes32[]" + } + ], + "name": "getBtcTransactionConfirmations", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getLockingCap", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "newLockingCap", + "type": "int256" + } + ], + "name": "increaseLockingCap", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "btcTxSerialized", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "blockHash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "pmtSerialized", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "witnessMerkleRoot", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "witnessReservedValue", + "type": "bytes32" + } + ], + "name": "registerBtcCoinbaseTransaction", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "blockHash", + "type": "bytes32" + } + ], + "name": "hasBtcBlockCoinbaseTransactionInformation", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "btcTxSerialized", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "height", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "pmtSerialized", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "derivationArgumentsHash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "userRefundBtcAddress", + "type": "bytes" + }, + { + "internalType": "address payable", + "name": "liquidityBridgeContractAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "liquidityProviderBtcAddress", + "type": "bytes" + }, + { + "internalType": "bool", + "name": "shouldTransferToContract", + "type": "bool" + } + ], + "name": "registerFastBridgeBtcTransaction", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getActiveFederationCreationBlockHeight", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getActivePowpegRedeemScript", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getBtcBlockchainBestBlockHeader", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "btcBlockHash", + "type": "bytes32" + } + ], + "name": "getBtcBlockchainBlockHeaderByHash", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "btcBlockHeight", + "type": "uint256" + } + ], + "name": "getBtcBlockchainBlockHeaderByHeight", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "btcBlockHash", + "type": "bytes32" + } + ], + "name": "getBtcBlockchainParentBlockHeaderByHash", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"key\",\"type\":\"bytes\"}],\"name\":\"addFederatorPublicKey\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"btcKey\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"rskKey\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"mstKey\",\"type\":\"bytes\"}],\"name\":\"addFederatorPublicKeyMultikey\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"aaddress\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"maxTransferValue\",\"type\":\"int256\"}],\"name\":\"addLockWhitelistAddress\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"aaddress\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"maxTransferValue\",\"type\":\"int256\"}],\"name\":\"addOneOffLockWhitelistAddress\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"pubkey\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes\",\"name\":\"txhash\",\"type\":\"bytes\"}],\"name\":\"addSignature\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"aaddress\",\"type\":\"string\"}],\"name\":\"addUnlimitedLockWhitelistAddress\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"hash\",\"type\":\"bytes\"}],\"name\":\"commitFederation\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"createFederation\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActiveFederationCreationBlockHeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActivePowpegRedeemScript\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBtcBlockchainBestBlockHeader\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBtcBlockchainBestChainHeight\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"depth\",\"type\":\"int256\"}],\"name\":\"getBtcBlockchainBlockHashAtDepth\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"btcBlockHash\",\"type\":\"bytes32\"}],\"name\":\"getBtcBlockchainBlockHeaderByHash\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"btcBlockHeight\",\"type\":\"uint256\"}],\"name\":\"getBtcBlockchainBlockHeaderByHeight\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBtcBlockchainInitialBlockHeight\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"btcBlockHash\",\"type\":\"bytes32\"}],\"name\":\"getBtcBlockchainParentBlockHeaderByHash\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"merkleBranchPath\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"merkleBranchHashes\",\"type\":\"bytes32[]\"}],\"name\":\"getBtcTransactionConfirmations\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"hash\",\"type\":\"string\"}],\"name\":\"getBtcTxHashProcessedHeight\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFederationAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFederationCreationBlockNumber\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFederationCreationTime\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFederationSize\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFederationThreshold\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"index\",\"type\":\"int256\"}],\"name\":\"getFederatorPublicKey\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"index\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"atype\",\"type\":\"string\"}],\"name\":\"getFederatorPublicKeyOfType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeePerKb\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"index\",\"type\":\"int256\"}],\"name\":\"getLockWhitelistAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"aaddress\",\"type\":\"string\"}],\"name\":\"getLockWhitelistEntryByAddress\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLockWhitelistSize\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLockingCap\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinimumLockTxValue\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPendingFederationHash\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPendingFederationSize\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"index\",\"type\":\"int256\"}],\"name\":\"getPendingFederatorPublicKey\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"index\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"atype\",\"type\":\"string\"}],\"name\":\"getPendingFederatorPublicKeyOfType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRetiringFederationAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRetiringFederationCreationBlockNumber\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRetiringFederationCreationTime\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRetiringFederationSize\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRetiringFederationThreshold\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"index\",\"type\":\"int256\"}],\"name\":\"getRetiringFederatorPublicKey\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"index\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"atype\",\"type\":\"string\"}],\"name\":\"getRetiringFederatorPublicKeyOfType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateForBtcReleaseClient\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateForDebugging\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"name\":\"hasBtcBlockCoinbaseTransactionInformation\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"newLockingCap\",\"type\":\"int256\"}],\"name\":\"increaseLockingCap\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"hash\",\"type\":\"string\"}],\"name\":\"isBtcTxHashAlreadyProcessed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"ablock\",\"type\":\"bytes\"}],\"name\":\"receiveHeader\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"blocks\",\"type\":\"bytes[]\"}],\"name\":\"receiveHeaders\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"btcTxSerialized\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"pmtSerialized\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"witnessMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"witnessReservedValue\",\"type\":\"bytes32\"}],\"name\":\"registerBtcCoinbaseTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"atx\",\"type\":\"bytes\"},{\"internalType\":\"int256\",\"name\":\"height\",\"type\":\"int256\"},{\"internalType\":\"bytes\",\"name\":\"pmt\",\"type\":\"bytes\"}],\"name\":\"registerBtcTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"btcTxSerialized\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"pmtSerialized\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"derivationArgumentsHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"userRefundBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"address payable\",\"name\":\"liquidityBridgeContractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"liquidityProviderBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"shouldTransferToContract\",\"type\":\"bool\"}],\"name\":\"registerFastBridgeBtcTransaction\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"aaddress\",\"type\":\"string\"}],\"name\":\"removeLockWhitelistAddress\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rollbackFederation\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"disableDelay\",\"type\":\"int256\"}],\"name\":\"setLockWhitelistDisableBlockDelay\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"updateCollections\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"feePerKb\",\"type\":\"int256\"}],\"name\":\"voteFeePerKbChange\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Bridge.sol\":\"Bridge\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"project:/contracts/Bridge.sol\":{\"keccak256\":\"0xae192fa4fc0d6d395fd0c3912bc3affe86ddd4869f04501fbae0afe234d1becd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://309436cba07567a3ee76e71d6a751023b436a17f7d83e291ef731318287756e6\",\"dweb:/ipfs/QmZTjw3hbY4ofptJmQwnLRGrBTQcv6yPgbY4WvMAwgkzGS\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "", + "deployedSourceMap": "", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.18;\n\ninterface Bridge {\n\n receive() external payable;\n\n function getBtcBlockchainBestChainHeight() external view returns (int);\n\n function getStateForBtcReleaseClient() external view returns (bytes memory);\n\n function getStateForDebugging() external view returns (bytes memory);\n\n function getBtcBlockchainInitialBlockHeight() external view returns (int);\n\n function getBtcBlockchainBlockHashAtDepth(int256 depth) external view returns (bytes memory);\n\n function getBtcTxHashProcessedHeight(string calldata hash) external view returns (int64);\n\n function isBtcTxHashAlreadyProcessed(string calldata hash) external view returns (bool);\n\n function getFederationAddress() external view returns (string memory);\n\n function registerBtcTransaction(bytes calldata atx, int256 height, bytes calldata pmt) external;\n\n function addSignature(bytes calldata pubkey, bytes[] calldata signatures, bytes calldata txhash) external;\n\n function receiveHeaders(bytes[] calldata blocks) external;\n\n function receiveHeader(bytes calldata ablock) external returns (int256);\n\n function getFederationSize() external view returns (int256);\n\n function getFederationThreshold() external view returns (int256);\n\n function getFederatorPublicKey(int256 index) external view returns (bytes memory);\n\n function getFederatorPublicKeyOfType(int256 index, string calldata atype) external returns (bytes memory);\n\n function getFederationCreationTime() external view returns (int256);\n\n function getFederationCreationBlockNumber() external view returns (int256);\n\n function getRetiringFederationAddress() external view returns (string memory);\n\n function getRetiringFederationSize() external view returns (int256);\n\n function getRetiringFederationThreshold() external view returns (int256);\n\n function getRetiringFederatorPublicKey(int256 index) external view returns (bytes memory);\n\n function getRetiringFederatorPublicKeyOfType(int256 index, string calldata atype)\n external view returns (bytes memory);\n\n function getRetiringFederationCreationTime() external view returns (int256);\n\n function getRetiringFederationCreationBlockNumber() external view returns (int256);\n\n function createFederation() external returns (int256);\n\n function addFederatorPublicKey(bytes calldata key) external returns (int256);\n\n function addFederatorPublicKeyMultikey(bytes calldata btcKey, bytes calldata rskKey,\n bytes calldata mstKey) external returns (int256);\n\n function commitFederation(bytes calldata hash) external returns (int256);\n\n function rollbackFederation() external returns (int256);\n\n function getPendingFederationHash() external view returns (bytes memory);\n\n function getPendingFederationSize() external view returns (int256);\n\n function getPendingFederatorPublicKey(int256 index) external view returns (bytes memory);\n\n function getPendingFederatorPublicKeyOfType(int256 index, string calldata atype)\n external view returns (bytes memory);\n\n function getLockWhitelistSize() external view returns (int256);\n\n function getLockWhitelistAddress(int256 index) external view returns (string memory);\n\n function getLockWhitelistEntryByAddress(string calldata aaddress) external view returns (int256);\n\n function addLockWhitelistAddress(string calldata aaddress, int256 maxTransferValue) external returns (int256);\n\n function addOneOffLockWhitelistAddress(string calldata aaddress, int256 maxTransferValue)\n external returns (int256);\n\n function addUnlimitedLockWhitelistAddress(string calldata aaddress) external returns (int256);\n\n function removeLockWhitelistAddress(string calldata aaddress) external returns (int256);\n\n function setLockWhitelistDisableBlockDelay(int256 disableDelay) external returns (int256);\n\n function getFeePerKb() external view returns (int256);\n\n function voteFeePerKbChange(int256 feePerKb) external returns (int256);\n\n function updateCollections() external;\n\n function getMinimumLockTxValue() external view returns (int256);\n\n function getBtcTransactionConfirmations(bytes32 txHash, bytes32 blockHash,\n uint256 merkleBranchPath, bytes32[] calldata merkleBranchHashes) external view returns (int256);\n\n function getLockingCap() external view returns (int256);\n\n function increaseLockingCap(int256 newLockingCap) external returns (bool);\n\n function registerBtcCoinbaseTransaction(bytes calldata btcTxSerialized, bytes32 blockHash,\n bytes calldata pmtSerialized, bytes32 witnessMerkleRoot, bytes32 witnessReservedValue) external;\n\n function hasBtcBlockCoinbaseTransactionInformation(bytes32 blockHash) external returns (bool);\n\n function registerFastBridgeBtcTransaction(bytes calldata btcTxSerialized, uint256 height,\n bytes calldata pmtSerialized, bytes32 derivationArgumentsHash,\n bytes calldata userRefundBtcAddress, address payable liquidityBridgeContractAddress,\n bytes calldata liquidityProviderBtcAddress, bool shouldTransferToContract) external returns (int256);\n\n function getActiveFederationCreationBlockHeight() external view returns (uint256);\n\n function getActivePowpegRedeemScript() external view returns (bytes memory);\n\n function getBtcBlockchainBestBlockHeader() external view returns (bytes memory);\n\n function getBtcBlockchainBlockHeaderByHash(bytes32 btcBlockHash) external view returns (bytes memory);\n\n function getBtcBlockchainBlockHeaderByHeight(uint256 btcBlockHeight) external view returns (bytes memory);\n\n function getBtcBlockchainParentBlockHeaderByHash(bytes32 btcBlockHash) external view returns (bytes memory);\n}", + "sourcePath": "/Users/luischavez/iov/liquidity-bridge-contract/contracts/Bridge.sol", + "ast": { + "absolutePath": "project:/contracts/Bridge.sol", + "exportedSymbols": { + "Bridge": [ + 3208 + ] + }, + "id": 3209, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2807, + "literals": [ + "solidity", + "^", + "0.8", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "32:24:17" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Bridge", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 3208, + "linearizedBaseContracts": [ + 3208 + ], + "name": "Bridge", + "nameLocation": "68:6:17", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 2810, + "implemented": false, + "kind": "receive", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2808, + "nodeType": "ParameterList", + "parameters": [], + "src": "89:2:17" + }, + "returnParameters": { + "id": 2809, + "nodeType": "ParameterList", + "parameters": [], + "src": "108:0:17" + }, + "scope": 3208, + "src": "82:27:17", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "14c89c01", + "id": 2815, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getBtcBlockchainBestChainHeight", + "nameLocation": "124:31:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2811, + "nodeType": "ParameterList", + "parameters": [], + "src": "155:2:17" + }, + "returnParameters": { + "id": 2814, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2813, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2815, + "src": "181:3:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2812, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "181:3:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "180:5:17" + }, + "scope": 3208, + "src": "115:71:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "c4fbca20", + "id": 2820, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getStateForBtcReleaseClient", + "nameLocation": "201:27:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2816, + "nodeType": "ParameterList", + "parameters": [], + "src": "228:2:17" + }, + "returnParameters": { + "id": 2819, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2818, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2820, + "src": "254:12:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2817, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "254:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "253:14:17" + }, + "scope": 3208, + "src": "192:76:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "0d0cee93", + "id": 2825, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getStateForDebugging", + "nameLocation": "283:20:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2821, + "nodeType": "ParameterList", + "parameters": [], + "src": "303:2:17" + }, + "returnParameters": { + "id": 2824, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2823, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2825, + "src": "329:12:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2822, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "329:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "328:14:17" + }, + "scope": 3208, + "src": "274:69:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "4897193f", + "id": 2830, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getBtcBlockchainInitialBlockHeight", + "nameLocation": "358:34:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2826, + "nodeType": "ParameterList", + "parameters": [], + "src": "392:2:17" + }, + "returnParameters": { + "id": 2829, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2828, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2830, + "src": "418:3:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2827, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "418:3:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "417:5:17" + }, + "scope": 3208, + "src": "349:74:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "efd44418", + "id": 2837, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getBtcBlockchainBlockHashAtDepth", + "nameLocation": "438:32:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2833, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2832, + "mutability": "mutable", + "name": "depth", + "nameLocation": "478:5:17", + "nodeType": "VariableDeclaration", + "scope": 2837, + "src": "471:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2831, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "471:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "470:14:17" + }, + "returnParameters": { + "id": 2836, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2835, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2837, + "src": "508:12:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2834, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "508:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "507:14:17" + }, + "scope": 3208, + "src": "429:93:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "97fcca7d", + "id": 2844, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getBtcTxHashProcessedHeight", + "nameLocation": "537:27:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2840, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2839, + "mutability": "mutable", + "name": "hash", + "nameLocation": "581:4:17", + "nodeType": "VariableDeclaration", + "scope": 2844, + "src": "565:20:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2838, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "565:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "564:22:17" + }, + "returnParameters": { + "id": 2843, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2842, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2844, + "src": "610:5:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2841, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "610:5:17", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "src": "609:7:17" + }, + "scope": 3208, + "src": "528:89:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "248a982d", + "id": 2851, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isBtcTxHashAlreadyProcessed", + "nameLocation": "632:27:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2847, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2846, + "mutability": "mutable", + "name": "hash", + "nameLocation": "676:4:17", + "nodeType": "VariableDeclaration", + "scope": 2851, + "src": "660:20:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2845, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "660:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "659:22:17" + }, + "returnParameters": { + "id": 2850, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2849, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2851, + "src": "705:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2848, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "705:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "704:6:17" + }, + "scope": 3208, + "src": "623:88:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "6923fa85", + "id": 2856, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getFederationAddress", + "nameLocation": "726:20:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2852, + "nodeType": "ParameterList", + "parameters": [], + "src": "746:2:17" + }, + "returnParameters": { + "id": 2855, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2854, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2856, + "src": "772:13:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2853, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "772:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "771:15:17" + }, + "scope": 3208, + "src": "717:70:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "43dc0656", + "id": 2865, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "registerBtcTransaction", + "nameLocation": "802:22:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2863, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2858, + "mutability": "mutable", + "name": "atx", + "nameLocation": "840:3:17", + "nodeType": "VariableDeclaration", + "scope": 2865, + "src": "825:18:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2857, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "825:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2860, + "mutability": "mutable", + "name": "height", + "nameLocation": "852:6:17", + "nodeType": "VariableDeclaration", + "scope": 2865, + "src": "845:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2859, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "845:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2862, + "mutability": "mutable", + "name": "pmt", + "nameLocation": "875:3:17", + "nodeType": "VariableDeclaration", + "scope": 2865, + "src": "860:18:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2861, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "860:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "824:55:17" + }, + "returnParameters": { + "id": 2864, + "nodeType": "ParameterList", + "parameters": [], + "src": "888:0:17" + }, + "scope": 3208, + "src": "793:96:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "f10b9c59", + "id": 2875, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addSignature", + "nameLocation": "904:12:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2873, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2867, + "mutability": "mutable", + "name": "pubkey", + "nameLocation": "932:6:17", + "nodeType": "VariableDeclaration", + "scope": 2875, + "src": "917:21:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2866, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "917:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2870, + "mutability": "mutable", + "name": "signatures", + "nameLocation": "957:10:17", + "nodeType": "VariableDeclaration", + "scope": 2875, + "src": "940:27:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 2868, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "940:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 2869, + "nodeType": "ArrayTypeName", + "src": "940:7:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2872, + "mutability": "mutable", + "name": "txhash", + "nameLocation": "984:6:17", + "nodeType": "VariableDeclaration", + "scope": 2875, + "src": "969:21:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2871, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "969:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "916:75:17" + }, + "returnParameters": { + "id": 2874, + "nodeType": "ParameterList", + "parameters": [], + "src": "1000:0:17" + }, + "scope": 3208, + "src": "895:106:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "e5400e7b", + "id": 2881, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "receiveHeaders", + "nameLocation": "1016:14:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2879, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2878, + "mutability": "mutable", + "name": "blocks", + "nameLocation": "1048:6:17", + "nodeType": "VariableDeclaration", + "scope": 2881, + "src": "1031:23:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 2876, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1031:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 2877, + "nodeType": "ArrayTypeName", + "src": "1031:7:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "src": "1030:25:17" + }, + "returnParameters": { + "id": 2880, + "nodeType": "ParameterList", + "parameters": [], + "src": "1064:0:17" + }, + "scope": 3208, + "src": "1007:58:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "884bdd86", + "id": 2888, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "receiveHeader", + "nameLocation": "1080:13:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2884, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2883, + "mutability": "mutable", + "name": "ablock", + "nameLocation": "1109:6:17", + "nodeType": "VariableDeclaration", + "scope": 2888, + "src": "1094:21:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2882, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1094:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1093:23:17" + }, + "returnParameters": { + "id": 2887, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2886, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2888, + "src": "1135:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2885, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1135:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1134:8:17" + }, + "scope": 3208, + "src": "1071:72:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "802ad4b6", + "id": 2893, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getFederationSize", + "nameLocation": "1158:17:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2889, + "nodeType": "ParameterList", + "parameters": [], + "src": "1175:2:17" + }, + "returnParameters": { + "id": 2892, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2891, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2893, + "src": "1201:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2890, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1201:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1200:8:17" + }, + "scope": 3208, + "src": "1149:60:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "0fd47456", + "id": 2898, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getFederationThreshold", + "nameLocation": "1224:22:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2894, + "nodeType": "ParameterList", + "parameters": [], + "src": "1246:2:17" + }, + "returnParameters": { + "id": 2897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2896, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2898, + "src": "1272:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2895, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1272:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1271:8:17" + }, + "scope": 3208, + "src": "1215:65:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "6b89a1af", + "id": 2905, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getFederatorPublicKey", + "nameLocation": "1295:21:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2901, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2900, + "mutability": "mutable", + "name": "index", + "nameLocation": "1324:5:17", + "nodeType": "VariableDeclaration", + "scope": 2905, + "src": "1317:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2899, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1317:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1316:14:17" + }, + "returnParameters": { + "id": 2904, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2903, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2905, + "src": "1354:12:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2902, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1354:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1353:14:17" + }, + "scope": 3208, + "src": "1286:82:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "549cfd1c", + "id": 2914, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getFederatorPublicKeyOfType", + "nameLocation": "1383:27:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2910, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2907, + "mutability": "mutable", + "name": "index", + "nameLocation": "1418:5:17", + "nodeType": "VariableDeclaration", + "scope": 2914, + "src": "1411:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2906, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1411:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2909, + "mutability": "mutable", + "name": "atype", + "nameLocation": "1441:5:17", + "nodeType": "VariableDeclaration", + "scope": 2914, + "src": "1425:21:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2908, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1425:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1410:37:17" + }, + "returnParameters": { + "id": 2913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2912, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2914, + "src": "1466:12:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2911, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1466:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1465:14:17" + }, + "scope": 3208, + "src": "1374:106:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "5e2db9d4", + "id": 2919, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getFederationCreationTime", + "nameLocation": "1495:25:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2915, + "nodeType": "ParameterList", + "parameters": [], + "src": "1520:2:17" + }, + "returnParameters": { + "id": 2918, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2917, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2919, + "src": "1546:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2916, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1546:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1545:8:17" + }, + "scope": 3208, + "src": "1486:68:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "1b2045ee", + "id": 2924, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getFederationCreationBlockNumber", + "nameLocation": "1569:32:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2920, + "nodeType": "ParameterList", + "parameters": [], + "src": "1601:2:17" + }, + "returnParameters": { + "id": 2923, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2922, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2924, + "src": "1627:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2921, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1627:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1626:8:17" + }, + "scope": 3208, + "src": "1560:75:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "47227286", + "id": 2929, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getRetiringFederationAddress", + "nameLocation": "1650:28:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2925, + "nodeType": "ParameterList", + "parameters": [], + "src": "1678:2:17" + }, + "returnParameters": { + "id": 2928, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2927, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2929, + "src": "1704:13:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2926, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1704:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1703:15:17" + }, + "scope": 3208, + "src": "1641:78:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "d970b0fd", + "id": 2934, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getRetiringFederationSize", + "nameLocation": "1734:25:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2930, + "nodeType": "ParameterList", + "parameters": [], + "src": "1759:2:17" + }, + "returnParameters": { + "id": 2933, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2932, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2934, + "src": "1785:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2931, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1785:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1784:8:17" + }, + "scope": 3208, + "src": "1725:68:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "07bbdfc4", + "id": 2939, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getRetiringFederationThreshold", + "nameLocation": "1808:30:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2935, + "nodeType": "ParameterList", + "parameters": [], + "src": "1838:2:17" + }, + "returnParameters": { + "id": 2938, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2937, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2939, + "src": "1864:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2936, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1864:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1863:8:17" + }, + "scope": 3208, + "src": "1799:73:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "4675d6de", + "id": 2946, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getRetiringFederatorPublicKey", + "nameLocation": "1887:29:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2942, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2941, + "mutability": "mutable", + "name": "index", + "nameLocation": "1924:5:17", + "nodeType": "VariableDeclaration", + "scope": 2946, + "src": "1917:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2940, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1917:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1916:14:17" + }, + "returnParameters": { + "id": 2945, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2944, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2946, + "src": "1954:12:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2943, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1954:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1953:14:17" + }, + "scope": 3208, + "src": "1878:90:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "68bc2b2b", + "id": 2955, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getRetiringFederatorPublicKeyOfType", + "nameLocation": "1983:35:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2951, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2948, + "mutability": "mutable", + "name": "index", + "nameLocation": "2026:5:17", + "nodeType": "VariableDeclaration", + "scope": 2955, + "src": "2019:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2947, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2019:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2950, + "mutability": "mutable", + "name": "atype", + "nameLocation": "2049:5:17", + "nodeType": "VariableDeclaration", + "scope": 2955, + "src": "2033:21:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2949, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2033:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2018:37:17" + }, + "returnParameters": { + "id": 2954, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2953, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2955, + "src": "2083:12:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2952, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2083:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2082:14:17" + }, + "scope": 3208, + "src": "1974:123:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "3f0ce9b1", + "id": 2960, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getRetiringFederationCreationTime", + "nameLocation": "2112:33:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2956, + "nodeType": "ParameterList", + "parameters": [], + "src": "2145:2:17" + }, + "returnParameters": { + "id": 2959, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2958, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2960, + "src": "2171:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2957, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2171:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "2170:8:17" + }, + "scope": 3208, + "src": "2103:76:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "d905153f", + "id": 2965, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getRetiringFederationCreationBlockNumber", + "nameLocation": "2194:40:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2961, + "nodeType": "ParameterList", + "parameters": [], + "src": "2234:2:17" + }, + "returnParameters": { + "id": 2964, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2963, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2965, + "src": "2260:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2962, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2260:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "2259:8:17" + }, + "scope": 3208, + "src": "2185:83:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "1183d5d1", + "id": 2970, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "createFederation", + "nameLocation": "2283:16:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2966, + "nodeType": "ParameterList", + "parameters": [], + "src": "2299:2:17" + }, + "returnParameters": { + "id": 2969, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2968, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2970, + "src": "2320:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2967, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2320:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "2319:8:17" + }, + "scope": 3208, + "src": "2274:54:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "ecefd339", + "id": 2977, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addFederatorPublicKey", + "nameLocation": "2343:21:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2973, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2972, + "mutability": "mutable", + "name": "key", + "nameLocation": "2380:3:17", + "nodeType": "VariableDeclaration", + "scope": 2977, + "src": "2365:18:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2971, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2365:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2364:20:17" + }, + "returnParameters": { + "id": 2976, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2975, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2977, + "src": "2403:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2974, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2403:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "2402:8:17" + }, + "scope": 3208, + "src": "2334:77:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "444ff9da", + "id": 2988, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addFederatorPublicKeyMultikey", + "nameLocation": "2426:29:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2984, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2979, + "mutability": "mutable", + "name": "btcKey", + "nameLocation": "2471:6:17", + "nodeType": "VariableDeclaration", + "scope": 2988, + "src": "2456:21:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2978, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2456:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2981, + "mutability": "mutable", + "name": "rskKey", + "nameLocation": "2494:6:17", + "nodeType": "VariableDeclaration", + "scope": 2988, + "src": "2479:21:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2980, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2479:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2983, + "mutability": "mutable", + "name": "mstKey", + "nameLocation": "2525:6:17", + "nodeType": "VariableDeclaration", + "scope": 2988, + "src": "2510:21:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2982, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2510:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2455:77:17" + }, + "returnParameters": { + "id": 2987, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2986, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2988, + "src": "2551:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2985, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2551:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "2550:8:17" + }, + "scope": 3208, + "src": "2417:142:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "1533330f", + "id": 2995, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "commitFederation", + "nameLocation": "2574:16:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2991, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2990, + "mutability": "mutable", + "name": "hash", + "nameLocation": "2606:4:17", + "nodeType": "VariableDeclaration", + "scope": 2995, + "src": "2591:19:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2989, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2591:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2590:21:17" + }, + "returnParameters": { + "id": 2994, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2993, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2995, + "src": "2630:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2992, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2630:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "2629:8:17" + }, + "scope": 3208, + "src": "2565:73:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "8dec3d32", + "id": 3000, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "rollbackFederation", + "nameLocation": "2653:18:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2996, + "nodeType": "ParameterList", + "parameters": [], + "src": "2671:2:17" + }, + "returnParameters": { + "id": 2999, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2998, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3000, + "src": "2692:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2997, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2692:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "2691:8:17" + }, + "scope": 3208, + "src": "2644:56:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "6ce0ed5a", + "id": 3005, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getPendingFederationHash", + "nameLocation": "2715:24:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3001, + "nodeType": "ParameterList", + "parameters": [], + "src": "2739:2:17" + }, + "returnParameters": { + "id": 3004, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3003, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3005, + "src": "2765:12:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3002, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2765:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2764:14:17" + }, + "scope": 3208, + "src": "2706:73:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "3ac72b38", + "id": 3010, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getPendingFederationSize", + "nameLocation": "2794:24:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3006, + "nodeType": "ParameterList", + "parameters": [], + "src": "2818:2:17" + }, + "returnParameters": { + "id": 3009, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3008, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3010, + "src": "2844:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3007, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2844:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "2843:8:17" + }, + "scope": 3208, + "src": "2785:67:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "492f7c44", + "id": 3017, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getPendingFederatorPublicKey", + "nameLocation": "2867:28:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3013, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3012, + "mutability": "mutable", + "name": "index", + "nameLocation": "2903:5:17", + "nodeType": "VariableDeclaration", + "scope": 3017, + "src": "2896:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3011, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2896:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "2895:14:17" + }, + "returnParameters": { + "id": 3016, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3015, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3017, + "src": "2933:12:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3014, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2933:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2932:14:17" + }, + "scope": 3208, + "src": "2858:89:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "c61295d9", + "id": 3026, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getPendingFederatorPublicKeyOfType", + "nameLocation": "2962:34:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3022, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3019, + "mutability": "mutable", + "name": "index", + "nameLocation": "3004:5:17", + "nodeType": "VariableDeclaration", + "scope": 3026, + "src": "2997:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3018, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2997:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3021, + "mutability": "mutable", + "name": "atype", + "nameLocation": "3027:5:17", + "nodeType": "VariableDeclaration", + "scope": 3026, + "src": "3011:21:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3020, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3011:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2996:37:17" + }, + "returnParameters": { + "id": 3025, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3024, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3026, + "src": "3061:12:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3023, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3061:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3060:14:17" + }, + "scope": 3208, + "src": "2953:122:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "e9e658dc", + "id": 3031, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getLockWhitelistSize", + "nameLocation": "3090:20:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3027, + "nodeType": "ParameterList", + "parameters": [], + "src": "3110:2:17" + }, + "returnParameters": { + "id": 3030, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3029, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3031, + "src": "3136:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3028, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3136:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3135:8:17" + }, + "scope": 3208, + "src": "3081:63:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "93988b76", + "id": 3038, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getLockWhitelistAddress", + "nameLocation": "3159:23:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3034, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3033, + "mutability": "mutable", + "name": "index", + "nameLocation": "3190:5:17", + "nodeType": "VariableDeclaration", + "scope": 3038, + "src": "3183:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3032, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3183:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3182:14:17" + }, + "returnParameters": { + "id": 3037, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3036, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3038, + "src": "3220:13:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3035, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3220:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3219:15:17" + }, + "scope": 3208, + "src": "3150:85:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "251c5f7b", + "id": 3045, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getLockWhitelistEntryByAddress", + "nameLocation": "3250:30:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3041, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3040, + "mutability": "mutable", + "name": "aaddress", + "nameLocation": "3297:8:17", + "nodeType": "VariableDeclaration", + "scope": 3045, + "src": "3281:24:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3039, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3281:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3280:26:17" + }, + "returnParameters": { + "id": 3044, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3043, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3045, + "src": "3330:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3042, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3330:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3329:8:17" + }, + "scope": 3208, + "src": "3241:97:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "502bbbce", + "id": 3054, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addLockWhitelistAddress", + "nameLocation": "3353:23:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3050, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3047, + "mutability": "mutable", + "name": "aaddress", + "nameLocation": "3393:8:17", + "nodeType": "VariableDeclaration", + "scope": 3054, + "src": "3377:24:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3046, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3377:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3049, + "mutability": "mutable", + "name": "maxTransferValue", + "nameLocation": "3410:16:17", + "nodeType": "VariableDeclaration", + "scope": 3054, + "src": "3403:23:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3048, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3403:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3376:51:17" + }, + "returnParameters": { + "id": 3053, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3052, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3054, + "src": "3446:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3051, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3446:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3445:8:17" + }, + "scope": 3208, + "src": "3344:110:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "848206d9", + "id": 3063, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addOneOffLockWhitelistAddress", + "nameLocation": "3469:29:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3059, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3056, + "mutability": "mutable", + "name": "aaddress", + "nameLocation": "3515:8:17", + "nodeType": "VariableDeclaration", + "scope": 3063, + "src": "3499:24:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3055, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3499:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3058, + "mutability": "mutable", + "name": "maxTransferValue", + "nameLocation": "3532:16:17", + "nodeType": "VariableDeclaration", + "scope": 3063, + "src": "3525:23:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3057, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3525:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3498:51:17" + }, + "returnParameters": { + "id": 3062, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3061, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3063, + "src": "3576:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3060, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3576:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3575:8:17" + }, + "scope": 3208, + "src": "3460:124:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "b906c938", + "id": 3070, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addUnlimitedLockWhitelistAddress", + "nameLocation": "3599:32:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3066, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3065, + "mutability": "mutable", + "name": "aaddress", + "nameLocation": "3648:8:17", + "nodeType": "VariableDeclaration", + "scope": 3070, + "src": "3632:24:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3064, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3632:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3631:26:17" + }, + "returnParameters": { + "id": 3069, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3068, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3070, + "src": "3676:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3067, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3676:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3675:8:17" + }, + "scope": 3208, + "src": "3590:94:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "fcdeb46f", + "id": 3077, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "removeLockWhitelistAddress", + "nameLocation": "3699:26:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3073, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3072, + "mutability": "mutable", + "name": "aaddress", + "nameLocation": "3742:8:17", + "nodeType": "VariableDeclaration", + "scope": 3077, + "src": "3726:24:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3071, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3726:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3725:26:17" + }, + "returnParameters": { + "id": 3076, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3075, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3077, + "src": "3770:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3074, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3770:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3769:8:17" + }, + "scope": 3208, + "src": "3690:88:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "c1cc54f5", + "id": 3084, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setLockWhitelistDisableBlockDelay", + "nameLocation": "3793:33:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3080, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3079, + "mutability": "mutable", + "name": "disableDelay", + "nameLocation": "3834:12:17", + "nodeType": "VariableDeclaration", + "scope": 3084, + "src": "3827:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3078, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3827:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3826:21:17" + }, + "returnParameters": { + "id": 3083, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3082, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3084, + "src": "3866:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3081, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3866:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3865:8:17" + }, + "scope": 3208, + "src": "3784:90:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "724ec886", + "id": 3089, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getFeePerKb", + "nameLocation": "3889:11:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3085, + "nodeType": "ParameterList", + "parameters": [], + "src": "3900:2:17" + }, + "returnParameters": { + "id": 3088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3087, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3089, + "src": "3926:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3086, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3926:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3925:8:17" + }, + "scope": 3208, + "src": "3880:54:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "0461313e", + "id": 3096, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "voteFeePerKbChange", + "nameLocation": "3949:18:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3092, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3091, + "mutability": "mutable", + "name": "feePerKb", + "nameLocation": "3975:8:17", + "nodeType": "VariableDeclaration", + "scope": 3096, + "src": "3968:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3090, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3968:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3967:17:17" + }, + "returnParameters": { + "id": 3095, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3094, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3096, + "src": "4003:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3093, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4003:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "4002:8:17" + }, + "scope": 3208, + "src": "3940:71:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "0c5a9990", + "id": 3099, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "updateCollections", + "nameLocation": "4026:17:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3097, + "nodeType": "ParameterList", + "parameters": [], + "src": "4043:2:17" + }, + "returnParameters": { + "id": 3098, + "nodeType": "ParameterList", + "parameters": [], + "src": "4054:0:17" + }, + "scope": 3208, + "src": "4017:38:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "2f8d158f", + "id": 3104, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getMinimumLockTxValue", + "nameLocation": "4070:21:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3100, + "nodeType": "ParameterList", + "parameters": [], + "src": "4091:2:17" + }, + "returnParameters": { + "id": 3103, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3102, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3104, + "src": "4117:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3101, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4117:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "4116:8:17" + }, + "scope": 3208, + "src": "4061:64:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "5b644587", + "id": 3118, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getBtcTransactionConfirmations", + "nameLocation": "4140:30:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3114, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3106, + "mutability": "mutable", + "name": "txHash", + "nameLocation": "4179:6:17", + "nodeType": "VariableDeclaration", + "scope": 3118, + "src": "4171:14:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3105, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4171:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3108, + "mutability": "mutable", + "name": "blockHash", + "nameLocation": "4195:9:17", + "nodeType": "VariableDeclaration", + "scope": 3118, + "src": "4187:17:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3107, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4187:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3110, + "mutability": "mutable", + "name": "merkleBranchPath", + "nameLocation": "4222:16:17", + "nodeType": "VariableDeclaration", + "scope": 3118, + "src": "4214:24:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3109, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4214:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3113, + "mutability": "mutable", + "name": "merkleBranchHashes", + "nameLocation": "4259:18:17", + "nodeType": "VariableDeclaration", + "scope": 3118, + "src": "4240:37:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 3111, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4240:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3112, + "nodeType": "ArrayTypeName", + "src": "4240:9:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "4170:108:17" + }, + "returnParameters": { + "id": 3117, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3116, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3118, + "src": "4302:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3115, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4302:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "4301:8:17" + }, + "scope": 3208, + "src": "4131:179:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "3f9db977", + "id": 3123, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getLockingCap", + "nameLocation": "4325:13:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3119, + "nodeType": "ParameterList", + "parameters": [], + "src": "4338:2:17" + }, + "returnParameters": { + "id": 3122, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3121, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3123, + "src": "4364:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3120, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4364:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "4363:8:17" + }, + "scope": 3208, + "src": "4316:56:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "2910aeb2", + "id": 3130, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "increaseLockingCap", + "nameLocation": "4387:18:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3126, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3125, + "mutability": "mutable", + "name": "newLockingCap", + "nameLocation": "4413:13:17", + "nodeType": "VariableDeclaration", + "scope": 3130, + "src": "4406:20:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3124, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4406:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "4405:22:17" + }, + "returnParameters": { + "id": 3129, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3128, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3130, + "src": "4446:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3127, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4446:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4445:6:17" + }, + "scope": 3208, + "src": "4378:74:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "ccf417ae", + "id": 3143, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "registerBtcCoinbaseTransaction", + "nameLocation": "4467:30:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3141, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3132, + "mutability": "mutable", + "name": "btcTxSerialized", + "nameLocation": "4513:15:17", + "nodeType": "VariableDeclaration", + "scope": 3143, + "src": "4498:30:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3131, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4498:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3134, + "mutability": "mutable", + "name": "blockHash", + "nameLocation": "4538:9:17", + "nodeType": "VariableDeclaration", + "scope": 3143, + "src": "4530:17:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3133, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4530:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3136, + "mutability": "mutable", + "name": "pmtSerialized", + "nameLocation": "4572:13:17", + "nodeType": "VariableDeclaration", + "scope": 3143, + "src": "4557:28:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3135, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4557:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3138, + "mutability": "mutable", + "name": "witnessMerkleRoot", + "nameLocation": "4595:17:17", + "nodeType": "VariableDeclaration", + "scope": 3143, + "src": "4587:25:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3137, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4587:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3140, + "mutability": "mutable", + "name": "witnessReservedValue", + "nameLocation": "4622:20:17", + "nodeType": "VariableDeclaration", + "scope": 3143, + "src": "4614:28:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3139, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4614:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4497:146:17" + }, + "returnParameters": { + "id": 3142, + "nodeType": "ParameterList", + "parameters": [], + "src": "4652:0:17" + }, + "scope": 3208, + "src": "4458:195:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "253b944b", + "id": 3150, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "hasBtcBlockCoinbaseTransactionInformation", + "nameLocation": "4668:41:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3146, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3145, + "mutability": "mutable", + "name": "blockHash", + "nameLocation": "4718:9:17", + "nodeType": "VariableDeclaration", + "scope": 3150, + "src": "4710:17:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3144, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4710:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4709:19:17" + }, + "returnParameters": { + "id": 3149, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3148, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3150, + "src": "4747:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3147, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4747:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4746:6:17" + }, + "scope": 3208, + "src": "4659:94:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "6adc0133", + "id": 3171, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "registerFastBridgeBtcTransaction", + "nameLocation": "4768:32:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3167, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3152, + "mutability": "mutable", + "name": "btcTxSerialized", + "nameLocation": "4816:15:17", + "nodeType": "VariableDeclaration", + "scope": 3171, + "src": "4801:30:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3151, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4801:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3154, + "mutability": "mutable", + "name": "height", + "nameLocation": "4841:6:17", + "nodeType": "VariableDeclaration", + "scope": 3171, + "src": "4833:14:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3153, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4833:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3156, + "mutability": "mutable", + "name": "pmtSerialized", + "nameLocation": "4872:13:17", + "nodeType": "VariableDeclaration", + "scope": 3171, + "src": "4857:28:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3155, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4857:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3158, + "mutability": "mutable", + "name": "derivationArgumentsHash", + "nameLocation": "4895:23:17", + "nodeType": "VariableDeclaration", + "scope": 3171, + "src": "4887:31:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3157, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4887:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3160, + "mutability": "mutable", + "name": "userRefundBtcAddress", + "nameLocation": "4943:20:17", + "nodeType": "VariableDeclaration", + "scope": 3171, + "src": "4928:35:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3159, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4928:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3162, + "mutability": "mutable", + "name": "liquidityBridgeContractAddress", + "nameLocation": "4981:30:17", + "nodeType": "VariableDeclaration", + "scope": 3171, + "src": "4965:46:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 3161, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4965:15:17", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3164, + "mutability": "mutable", + "name": "liquidityProviderBtcAddress", + "nameLocation": "5036:27:17", + "nodeType": "VariableDeclaration", + "scope": 3171, + "src": "5021:42:17", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3163, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5021:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3166, + "mutability": "mutable", + "name": "shouldTransferToContract", + "nameLocation": "5070:24:17", + "nodeType": "VariableDeclaration", + "scope": 3171, + "src": "5065:29:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3165, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5065:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4800:295:17" + }, + "returnParameters": { + "id": 3170, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3169, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3171, + "src": "5114:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3168, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "5114:6:17", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "5113:8:17" + }, + "scope": 3208, + "src": "4759:363:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "177d6e18", + "id": 3176, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getActiveFederationCreationBlockHeight", + "nameLocation": "5137:38:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3172, + "nodeType": "ParameterList", + "parameters": [], + "src": "5175:2:17" + }, + "returnParameters": { + "id": 3175, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3174, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3176, + "src": "5201:7:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3173, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5201:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5200:9:17" + }, + "scope": 3208, + "src": "5128:82:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "1d73d5dd", + "id": 3181, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getActivePowpegRedeemScript", + "nameLocation": "5225:27:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3177, + "nodeType": "ParameterList", + "parameters": [], + "src": "5252:2:17" + }, + "returnParameters": { + "id": 3180, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3179, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3181, + "src": "5278:12:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3178, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5278:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5277:14:17" + }, + "scope": 3208, + "src": "5216:76:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "f0b2424b", + "id": 3186, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getBtcBlockchainBestBlockHeader", + "nameLocation": "5307:31:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3182, + "nodeType": "ParameterList", + "parameters": [], + "src": "5338:2:17" + }, + "returnParameters": { + "id": 3185, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3184, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3186, + "src": "5364:12:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3183, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5364:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5363:14:17" + }, + "scope": 3208, + "src": "5298:80:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "739e364a", + "id": 3193, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getBtcBlockchainBlockHeaderByHash", + "nameLocation": "5393:33:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3189, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3188, + "mutability": "mutable", + "name": "btcBlockHash", + "nameLocation": "5435:12:17", + "nodeType": "VariableDeclaration", + "scope": 3193, + "src": "5427:20:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3187, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5427:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5426:22:17" + }, + "returnParameters": { + "id": 3192, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3191, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3193, + "src": "5472:12:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3190, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5472:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5471:14:17" + }, + "scope": 3208, + "src": "5384:102:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "bd0c1fff", + "id": 3200, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getBtcBlockchainBlockHeaderByHeight", + "nameLocation": "5501:35:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3196, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3195, + "mutability": "mutable", + "name": "btcBlockHeight", + "nameLocation": "5545:14:17", + "nodeType": "VariableDeclaration", + "scope": 3200, + "src": "5537:22:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3194, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5537:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5536:24:17" + }, + "returnParameters": { + "id": 3199, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3198, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3200, + "src": "5584:12:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3197, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5584:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5583:14:17" + }, + "scope": 3208, + "src": "5492:106:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "e0236724", + "id": 3207, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getBtcBlockchainParentBlockHeaderByHash", + "nameLocation": "5613:39:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3203, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3202, + "mutability": "mutable", + "name": "btcBlockHash", + "nameLocation": "5661:12:17", + "nodeType": "VariableDeclaration", + "scope": 3207, + "src": "5653:20:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3201, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5653:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5652:22:17" + }, + "returnParameters": { + "id": 3206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3205, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3207, + "src": "5698:12:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3204, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5698:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5697:14:17" + }, + "scope": 3208, + "src": "5604:108:17", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3209, + "src": "58:5656:17", + "usedErrors": [] + } + ], + "src": "32:5682:17" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.626Z", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/BridgeMock.json b/build/contracts/BridgeMock.json new file mode 100644 index 0000000..db07acd --- /dev/null +++ b/build/contracts/BridgeMock.json @@ -0,0 +1,23829 @@ +{ + "contractName": "BridgeMock", + "abi": [ + { + "stateMutability": "payable", + "type": "receive" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "derivationArgumentsHash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "address payable", + "name": "liquidityBridgeContractAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "name": "registerFastBridgeBtcTransaction", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "height", + "type": "uint256" + } + ], + "name": "getBtcBlockchainBlockHeaderByHeight", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "derivationArgumentsHash", + "type": "bytes32" + } + ], + "name": "setPegin", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "height", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "header", + "type": "bytes" + } + ], + "name": "setHeader", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "blockHash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "header", + "type": "bytes" + } + ], + "name": "setHeaderByHash", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getActivePowpegRedeemScript", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getBtcBlockchainBestChainHeight", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getStateForBtcReleaseClient", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getStateForDebugging", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getBtcBlockchainInitialBlockHeight", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "name": "getBtcBlockchainBlockHashAtDepth", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "name": "getBtcTxHashProcessedHeight", + "outputs": [ + { + "internalType": "int64", + "name": "", + "type": "int64" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "name": "isBtcTxHashAlreadyProcessed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getFederationAddress", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "atx", + "type": "bytes" + }, + { + "internalType": "int256", + "name": "height", + "type": "int256" + }, + { + "internalType": "bytes", + "name": "pmt", + "type": "bytes" + } + ], + "name": "registerBtcTransaction", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "pubkey", + "type": "bytes" + }, + { + "internalType": "bytes[]", + "name": "signatures", + "type": "bytes[]" + }, + { + "internalType": "bytes", + "name": "txhash", + "type": "bytes" + } + ], + "name": "addSignature", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "blocks", + "type": "bytes[]" + } + ], + "name": "receiveHeaders", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "receiveHeader", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getFederationSize", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getFederationThreshold", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "name": "getFederatorPublicKey", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + }, + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "name": "getFederatorPublicKeyOfType", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getFederationCreationTime", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getFederationCreationBlockNumber", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getRetiringFederationAddress", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getRetiringFederationSize", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getRetiringFederationThreshold", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "name": "getRetiringFederatorPublicKey", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + }, + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "name": "getRetiringFederatorPublicKeyOfType", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getRetiringFederationCreationTime", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getRetiringFederationCreationBlockNumber", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "createFederation", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "addFederatorPublicKey", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "addFederatorPublicKeyMultikey", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "commitFederation", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "rollbackFederation", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getPendingFederationHash", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getPendingFederationSize", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "name": "getPendingFederatorPublicKey", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + }, + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "name": "getPendingFederatorPublicKeyOfType", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getLockWhitelistSize", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "name": "getLockWhitelistAddress", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "name": "getLockWhitelistEntryByAddress", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "name": "addLockWhitelistAddress", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "name": "addOneOffLockWhitelistAddress", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "name": "addUnlimitedLockWhitelistAddress", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "name": "removeLockWhitelistAddress", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "name": "setLockWhitelistDisableBlockDelay", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getFeePerKb", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "name": "voteFeePerKbChange", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "updateCollections", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getMinimumLockTxValue", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "", + "type": "bytes32[]" + } + ], + "name": "getBtcTransactionConfirmations", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getLockingCap", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "name": "increaseLockingCap", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "btcTxSerialized", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "blockHash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "pmtSerialized", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "witnessMerkleRoot", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "witnessReservedValue", + "type": "bytes32" + } + ], + "name": "registerBtcCoinbaseTransaction", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "hasBtcBlockCoinbaseTransactionInformation", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getActiveFederationCreationBlockHeight", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "getBtcBlockchainBestBlockHeader", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "blockHash", + "type": "bytes32" + } + ], + "name": "getBtcBlockchainBlockHeaderByHash", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "getBtcBlockchainParentBlockHeaderByHash", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"addFederatorPublicKey\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"addFederatorPublicKeyMultikey\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"addLockWhitelistAddress\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"addOneOffLockWhitelistAddress\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"pubkey\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes\",\"name\":\"txhash\",\"type\":\"bytes\"}],\"name\":\"addSignature\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"addUnlimitedLockWhitelistAddress\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"commitFederation\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"createFederation\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActiveFederationCreationBlockHeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActivePowpegRedeemScript\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBtcBlockchainBestBlockHeader\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBtcBlockchainBestChainHeight\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"getBtcBlockchainBlockHashAtDepth\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"name\":\"getBtcBlockchainBlockHeaderByHash\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"}],\"name\":\"getBtcBlockchainBlockHeaderByHeight\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBtcBlockchainInitialBlockHeight\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"getBtcBlockchainParentBlockHeaderByHash\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"name\":\"getBtcTransactionConfirmations\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"getBtcTxHashProcessedHeight\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFederationAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFederationCreationBlockNumber\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFederationCreationTime\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFederationSize\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFederationThreshold\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"getFederatorPublicKey\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"getFederatorPublicKeyOfType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeePerKb\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"getLockWhitelistAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"getLockWhitelistEntryByAddress\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLockWhitelistSize\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLockingCap\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinimumLockTxValue\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPendingFederationHash\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPendingFederationSize\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"getPendingFederatorPublicKey\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"getPendingFederatorPublicKeyOfType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRetiringFederationAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRetiringFederationCreationBlockNumber\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRetiringFederationCreationTime\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRetiringFederationSize\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRetiringFederationThreshold\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"getRetiringFederatorPublicKey\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"getRetiringFederatorPublicKeyOfType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateForBtcReleaseClient\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateForDebugging\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"hasBtcBlockCoinbaseTransactionInformation\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"increaseLockingCap\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"isBtcTxHashAlreadyProcessed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveHeader\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"blocks\",\"type\":\"bytes[]\"}],\"name\":\"receiveHeaders\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"btcTxSerialized\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"pmtSerialized\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"witnessMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"witnessReservedValue\",\"type\":\"bytes32\"}],\"name\":\"registerBtcCoinbaseTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"atx\",\"type\":\"bytes\"},{\"internalType\":\"int256\",\"name\":\"height\",\"type\":\"int256\"},{\"internalType\":\"bytes\",\"name\":\"pmt\",\"type\":\"bytes\"}],\"name\":\"registerBtcTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"derivationArgumentsHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"address payable\",\"name\":\"liquidityBridgeContractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"registerFastBridgeBtcTransaction\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"removeLockWhitelistAddress\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rollbackFederation\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"header\",\"type\":\"bytes\"}],\"name\":\"setHeader\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"header\",\"type\":\"bytes\"}],\"name\":\"setHeaderByHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"setLockWhitelistDisableBlockDelay\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"derivationArgumentsHash\",\"type\":\"bytes32\"}],\"name\":\"setPegin\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"updateCollections\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"voteFeePerKbChange\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/BridgeMock.sol\":\"BridgeMock\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"project:/contracts/Bridge.sol\":{\"keccak256\":\"0xae192fa4fc0d6d395fd0c3912bc3affe86ddd4869f04501fbae0afe234d1becd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://309436cba07567a3ee76e71d6a751023b436a17f7d83e291ef731318287756e6\",\"dweb:/ipfs/QmZTjw3hbY4ofptJmQwnLRGrBTQcv6yPgbY4WvMAwgkzGS\"]},\"project:/contracts/BridgeMock.sol\":{\"keccak256\":\"0x6189e630ddab58eca7615334f05ecb804d11e9276ad6b97a7b4a7e44e5fb162c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0cf50f404c1ecb4656654be7ecc3f8f314ed9f9d2bedd0e310e18b64e0a0edef\",\"dweb:/ipfs/QmSY1vRdQ42sc5721FFGpvMPdUNzu2UY96tVtxpinZnD5M\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b5061114e806100206000396000f3fe6080604052600436106102b65760003560e01c80630461313e146102c257806307bbdfc4146102f65780630c5a99901461030a5780630d0cee931461031a5780630fd47456146102f657806310d86efd146103375780631183d5d1146102f657806314c89c01146102f65780631533330f14610358578063177d6e18146102f65780631b2045ee146102f65780631d73d5dd1461037b578063248a982d14610390578063251c5f7b14610358578063253b944b146103bb5780632910aeb2146103bb5780632f8d158f146103d65780633ac72b38146102f65780633f0ce9b1146102f65780633f9db977146102f657806343dc0656146103ea578063444ff9da1461040c5780634675d6de1461043357806347227286146104545780634897193f146102f6578063492f7c4414610433578063502bbbce14610475578063549cfd1c14610499578063572de37b146104bd5780635b644587146104dd5780635e2db9d4146102f657806368bc2b2b146104995780636923fa85146105035780636adc0133146105185780636b89a1af146104335780636ce0ed5a1461031a578063724ec886146102f6578063739e364a14610538578063802ad4b6146102f6578063848206d914610475578063884bdd86146103585780638dec3d32146102f657806393988b761461055857806397fcca7d14610586578063b906c93814610358578063bd0c1fff146105b4578063c1cc54f5146102c2578063c4fbca201461031a578063c61295d914610499578063ccf417ae146105d4578063d5949890146105f8578063d905153f146102f6578063d970b0fd146102f6578063e023672414610433578063e5400e7b14610618578063e9e658dc146102f6578063ecefd33914610358578063efd4441814610433578063f0b2424b1461031a578063f10b9c5914610637578063fcdeb46f1461035857600080fd5b366102bd57005b600080fd5b3480156102ce57600080fd5b506102e36102dd3660046108c6565b50600090565b6040519081526020015b60405180910390f35b34801561030257600080fd5b5060006102e3565b34801561031657600080fd5b505b005b34801561032657600080fd5b5060605b6040516102ed919061092f565b6103186103453660046108c6565b6000908152602081905260409020349055565b34801561036457600080fd5b506102e3610373366004610991565b600092915050565b34801561038757600080fd5b5061032a61065a565b34801561039c57600080fd5b506103ab610373366004610991565b60405190151581526020016102ed565b3480156103c757600080fd5b506103ab6102dd3660046108c6565b3480156103e257600080fd5b5060026102e3565b3480156103f657600080fd5b506103186104053660046109d2565b5050505050565b34801561041857600080fd5b506102e3610427366004610a4b565b60009695505050505050565b34801561043f57600080fd5b5061032a61044e3660046108c6565b50606090565b34801561046057600080fd5b5060408051602081019091526000815261032a565b34801561048157600080fd5b506102e3610490366004610ae4565b60009392505050565b3480156104a557600080fd5b5061032a6104b4366004610b2f565b60609392505050565b3480156104c957600080fd5b506103186104d8366004610c1c565b6106f5565b3480156104e957600080fd5b506102e36104f8366004610ca6565b600095945050505050565b34801561050f57600080fd5b5061032a610712565b34801561052457600080fd5b506102e3610533366004610d21565b610732565b34801561054457600080fd5b5061032a6105533660046108c6565b6107ef565b34801561056457600080fd5b5061032a6105733660046108c6565b5060408051602081019091526000815290565b34801561059257600080fd5b506105a1610373366004610991565b60405160079190910b81526020016102ed565b3480156105c057600080fd5b5061032a6105cf3660046108c6565b610891565b3480156105e057600080fd5b506103186105ef366004610e02565b50505050505050565b34801561060457600080fd5b50610318610613366004610c1c565b6108ae565b34801561062457600080fd5b50610318610633366004610e8a565b5050565b34801561064357600080fd5b50610318610652366004610ebf565b505050505050565b606060006040518060600160405280602981526020016110a360299139905060006040518060600160405280602a81526020016110cc602a913990506000604051806040016040528060168152602001751e4f6a9a7043c32b8bad8995c653187922ef826da9d760511b81525090508282826040516020016106de93929190610f20565b604051602081830303815290604052935050505090565b600082815260016020526040902061070d8282610fe3565b505050565b60606040518060600160405280602381526020016110f660239139905090565b600085815260208190526040808220805490839055905182906001600160a01b0387169083908381818185875af1925050503d8060008114610790576040519150601f19603f3d011682016040523d82523d6000602084013e610795565b606091505b50509050806107e15760405162461bcd60e51b815260206004820152601460248201527314d95b991a5b99c8199d5b991cc819985a5b195960621b604482015260640160405180910390fd5b509998505050505050505050565b600081815260026020526040902080546060919061080c90610f63565b80601f016020809104026020016040519081016040528092919081815260200182805461083890610f63565b80156108855780601f1061085a57610100808354040283529160200191610885565b820191906000526020600020905b81548152906001019060200180831161086857829003601f168201915b50505050509050919050565b600081815260016020526040902080546060919061080c90610f63565b600082815260026020526040902061070d8282610fe3565b6000602082840312156108d857600080fd5b5035919050565b60005b838110156108fa5781810151838201526020016108e2565b50506000910152565b6000815180845261091b8160208601602086016108df565b601f01601f19169290920160200192915050565b6020815260006109426020830184610903565b9392505050565b60008083601f84011261095b57600080fd5b5081356001600160401b0381111561097257600080fd5b60208301915083602082850101111561098a57600080fd5b9250929050565b600080602083850312156109a457600080fd5b82356001600160401b038111156109ba57600080fd5b6109c685828601610949565b90969095509350505050565b6000806000806000606086880312156109ea57600080fd5b85356001600160401b0380821115610a0157600080fd5b610a0d89838a01610949565b9097509550602088013594506040880135915080821115610a2d57600080fd5b50610a3a88828901610949565b969995985093965092949392505050565b60008060008060008060608789031215610a6457600080fd5b86356001600160401b0380821115610a7b57600080fd5b610a878a838b01610949565b90985096506020890135915080821115610aa057600080fd5b610aac8a838b01610949565b90965094506040890135915080821115610ac557600080fd5b50610ad289828a01610949565b979a9699509497509295939492505050565b600080600060408486031215610af957600080fd5b83356001600160401b03811115610b0f57600080fd5b610b1b86828701610949565b909790965060209590950135949350505050565b600080600060408486031215610b4457600080fd5b8335925060208401356001600160401b03811115610b6157600080fd5b610b6d86828701610949565b9497909650939450505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610ba157600080fd5b81356001600160401b0380821115610bbb57610bbb610b7a565b604051601f8301601f19908116603f01168101908282118183101715610be357610be3610b7a565b81604052838152866020858801011115610bfc57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215610c2f57600080fd5b8235915060208301356001600160401b03811115610c4c57600080fd5b610c5885828601610b90565b9150509250929050565b60008083601f840112610c7457600080fd5b5081356001600160401b03811115610c8b57600080fd5b6020830191508360208260051b850101111561098a57600080fd5b600080600080600060808688031215610cbe57600080fd5b85359450602086013593506040860135925060608601356001600160401b03811115610ce957600080fd5b610a3a88828901610c62565b80356001600160a01b0381168114610d0c57600080fd5b919050565b80358015158114610d0c57600080fd5b600080600080600080600080610100898b031215610d3e57600080fd5b88356001600160401b0380821115610d5557600080fd5b610d618c838d01610b90565b995060208b0135985060408b0135915080821115610d7e57600080fd5b610d8a8c838d01610b90565b975060608b0135965060808b0135915080821115610da757600080fd5b610db38c838d01610b90565b9550610dc160a08c01610cf5565b945060c08b0135915080821115610dd757600080fd5b50610de48b828c01610b90565b925050610df360e08a01610d11565b90509295985092959890939650565b600080600080600080600060a0888a031215610e1d57600080fd5b87356001600160401b0380821115610e3457600080fd5b610e408b838c01610949565b909950975060208a0135965060408a0135915080821115610e6057600080fd5b50610e6d8a828b01610949565b989b979a5095989597966060870135966080013595509350505050565b60008060208385031215610e9d57600080fd5b82356001600160401b03811115610eb357600080fd5b6109c685828601610c62565b60008060008060008060608789031215610ed857600080fd5b86356001600160401b0380821115610eef57600080fd5b610efb8a838b01610949565b90985096506020890135915080821115610f1457600080fd5b610aac8a838b01610c62565b60008451610f328184602089016108df565b845190830190610f468183602089016108df565b8451910190610f598183602088016108df565b0195945050505050565b600181811c90821680610f7757607f821691505b602082108103610f9757634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561070d57600081815260208120601f850160051c81016020861015610fc45750805b601f850160051c820191505b8181101561065257828155600101610fd0565b81516001600160401b03811115610ffc57610ffc610b7a565b6110108161100a8454610f63565b84610f9d565b602080601f831160018114611045576000841561102d5750858301515b600019600386901b1c1916600185901b178555610652565b600085815260208120601f198616915b8281101561107457888601518255948401946001909101908401611055565b50858210156110925787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fe522102cd53fc53a07f211641a677d250f6de99caf620e8e77071e811a28b3bcddf0be1210362634ab57dae9cb373a5d536e66a8c4f67468bbcfb063809bab643072d78a1242103c5946b3fbae03a654237da86324e356d754d65704a697a4a45316752374662484a553643443138563342704e463970a26469706673582212205f3c0f599ddba0fbb2444d1d5a3259554a053c1b120a2774577c30674978782764736f6c63430008120033", + "deployedBytecode": "0x6080604052600436106102b65760003560e01c80630461313e146102c257806307bbdfc4146102f65780630c5a99901461030a5780630d0cee931461031a5780630fd47456146102f657806310d86efd146103375780631183d5d1146102f657806314c89c01146102f65780631533330f14610358578063177d6e18146102f65780631b2045ee146102f65780631d73d5dd1461037b578063248a982d14610390578063251c5f7b14610358578063253b944b146103bb5780632910aeb2146103bb5780632f8d158f146103d65780633ac72b38146102f65780633f0ce9b1146102f65780633f9db977146102f657806343dc0656146103ea578063444ff9da1461040c5780634675d6de1461043357806347227286146104545780634897193f146102f6578063492f7c4414610433578063502bbbce14610475578063549cfd1c14610499578063572de37b146104bd5780635b644587146104dd5780635e2db9d4146102f657806368bc2b2b146104995780636923fa85146105035780636adc0133146105185780636b89a1af146104335780636ce0ed5a1461031a578063724ec886146102f6578063739e364a14610538578063802ad4b6146102f6578063848206d914610475578063884bdd86146103585780638dec3d32146102f657806393988b761461055857806397fcca7d14610586578063b906c93814610358578063bd0c1fff146105b4578063c1cc54f5146102c2578063c4fbca201461031a578063c61295d914610499578063ccf417ae146105d4578063d5949890146105f8578063d905153f146102f6578063d970b0fd146102f6578063e023672414610433578063e5400e7b14610618578063e9e658dc146102f6578063ecefd33914610358578063efd4441814610433578063f0b2424b1461031a578063f10b9c5914610637578063fcdeb46f1461035857600080fd5b366102bd57005b600080fd5b3480156102ce57600080fd5b506102e36102dd3660046108c6565b50600090565b6040519081526020015b60405180910390f35b34801561030257600080fd5b5060006102e3565b34801561031657600080fd5b505b005b34801561032657600080fd5b5060605b6040516102ed919061092f565b6103186103453660046108c6565b6000908152602081905260409020349055565b34801561036457600080fd5b506102e3610373366004610991565b600092915050565b34801561038757600080fd5b5061032a61065a565b34801561039c57600080fd5b506103ab610373366004610991565b60405190151581526020016102ed565b3480156103c757600080fd5b506103ab6102dd3660046108c6565b3480156103e257600080fd5b5060026102e3565b3480156103f657600080fd5b506103186104053660046109d2565b5050505050565b34801561041857600080fd5b506102e3610427366004610a4b565b60009695505050505050565b34801561043f57600080fd5b5061032a61044e3660046108c6565b50606090565b34801561046057600080fd5b5060408051602081019091526000815261032a565b34801561048157600080fd5b506102e3610490366004610ae4565b60009392505050565b3480156104a557600080fd5b5061032a6104b4366004610b2f565b60609392505050565b3480156104c957600080fd5b506103186104d8366004610c1c565b6106f5565b3480156104e957600080fd5b506102e36104f8366004610ca6565b600095945050505050565b34801561050f57600080fd5b5061032a610712565b34801561052457600080fd5b506102e3610533366004610d21565b610732565b34801561054457600080fd5b5061032a6105533660046108c6565b6107ef565b34801561056457600080fd5b5061032a6105733660046108c6565b5060408051602081019091526000815290565b34801561059257600080fd5b506105a1610373366004610991565b60405160079190910b81526020016102ed565b3480156105c057600080fd5b5061032a6105cf3660046108c6565b610891565b3480156105e057600080fd5b506103186105ef366004610e02565b50505050505050565b34801561060457600080fd5b50610318610613366004610c1c565b6108ae565b34801561062457600080fd5b50610318610633366004610e8a565b5050565b34801561064357600080fd5b50610318610652366004610ebf565b505050505050565b606060006040518060600160405280602981526020016110a360299139905060006040518060600160405280602a81526020016110cc602a913990506000604051806040016040528060168152602001751e4f6a9a7043c32b8bad8995c653187922ef826da9d760511b81525090508282826040516020016106de93929190610f20565b604051602081830303815290604052935050505090565b600082815260016020526040902061070d8282610fe3565b505050565b60606040518060600160405280602381526020016110f660239139905090565b600085815260208190526040808220805490839055905182906001600160a01b0387169083908381818185875af1925050503d8060008114610790576040519150601f19603f3d011682016040523d82523d6000602084013e610795565b606091505b50509050806107e15760405162461bcd60e51b815260206004820152601460248201527314d95b991a5b99c8199d5b991cc819985a5b195960621b604482015260640160405180910390fd5b509998505050505050505050565b600081815260026020526040902080546060919061080c90610f63565b80601f016020809104026020016040519081016040528092919081815260200182805461083890610f63565b80156108855780601f1061085a57610100808354040283529160200191610885565b820191906000526020600020905b81548152906001019060200180831161086857829003601f168201915b50505050509050919050565b600081815260016020526040902080546060919061080c90610f63565b600082815260026020526040902061070d8282610fe3565b6000602082840312156108d857600080fd5b5035919050565b60005b838110156108fa5781810151838201526020016108e2565b50506000910152565b6000815180845261091b8160208601602086016108df565b601f01601f19169290920160200192915050565b6020815260006109426020830184610903565b9392505050565b60008083601f84011261095b57600080fd5b5081356001600160401b0381111561097257600080fd5b60208301915083602082850101111561098a57600080fd5b9250929050565b600080602083850312156109a457600080fd5b82356001600160401b038111156109ba57600080fd5b6109c685828601610949565b90969095509350505050565b6000806000806000606086880312156109ea57600080fd5b85356001600160401b0380821115610a0157600080fd5b610a0d89838a01610949565b9097509550602088013594506040880135915080821115610a2d57600080fd5b50610a3a88828901610949565b969995985093965092949392505050565b60008060008060008060608789031215610a6457600080fd5b86356001600160401b0380821115610a7b57600080fd5b610a878a838b01610949565b90985096506020890135915080821115610aa057600080fd5b610aac8a838b01610949565b90965094506040890135915080821115610ac557600080fd5b50610ad289828a01610949565b979a9699509497509295939492505050565b600080600060408486031215610af957600080fd5b83356001600160401b03811115610b0f57600080fd5b610b1b86828701610949565b909790965060209590950135949350505050565b600080600060408486031215610b4457600080fd5b8335925060208401356001600160401b03811115610b6157600080fd5b610b6d86828701610949565b9497909650939450505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610ba157600080fd5b81356001600160401b0380821115610bbb57610bbb610b7a565b604051601f8301601f19908116603f01168101908282118183101715610be357610be3610b7a565b81604052838152866020858801011115610bfc57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215610c2f57600080fd5b8235915060208301356001600160401b03811115610c4c57600080fd5b610c5885828601610b90565b9150509250929050565b60008083601f840112610c7457600080fd5b5081356001600160401b03811115610c8b57600080fd5b6020830191508360208260051b850101111561098a57600080fd5b600080600080600060808688031215610cbe57600080fd5b85359450602086013593506040860135925060608601356001600160401b03811115610ce957600080fd5b610a3a88828901610c62565b80356001600160a01b0381168114610d0c57600080fd5b919050565b80358015158114610d0c57600080fd5b600080600080600080600080610100898b031215610d3e57600080fd5b88356001600160401b0380821115610d5557600080fd5b610d618c838d01610b90565b995060208b0135985060408b0135915080821115610d7e57600080fd5b610d8a8c838d01610b90565b975060608b0135965060808b0135915080821115610da757600080fd5b610db38c838d01610b90565b9550610dc160a08c01610cf5565b945060c08b0135915080821115610dd757600080fd5b50610de48b828c01610b90565b925050610df360e08a01610d11565b90509295985092959890939650565b600080600080600080600060a0888a031215610e1d57600080fd5b87356001600160401b0380821115610e3457600080fd5b610e408b838c01610949565b909950975060208a0135965060408a0135915080821115610e6057600080fd5b50610e6d8a828b01610949565b989b979a5095989597966060870135966080013595509350505050565b60008060208385031215610e9d57600080fd5b82356001600160401b03811115610eb357600080fd5b6109c685828601610c62565b60008060008060008060608789031215610ed857600080fd5b86356001600160401b0380821115610eef57600080fd5b610efb8a838b01610949565b90985096506020890135915080821115610f1457600080fd5b610aac8a838b01610c62565b60008451610f328184602089016108df565b845190830190610f468183602089016108df565b8451910190610f598183602088016108df565b0195945050505050565b600181811c90821680610f7757607f821691505b602082108103610f9757634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561070d57600081815260208120601f850160051c81016020861015610fc45750805b601f850160051c820191505b8181101561065257828155600101610fd0565b81516001600160401b03811115610ffc57610ffc610b7a565b6110108161100a8454610f63565b84610f9d565b602080601f831160018114611045576000841561102d5750858301515b600019600386901b1c1916600185901b178555610652565b600085815260208120601f198616915b8281101561107457888601518255948401946001909101908401611055565b50858210156110925787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fe522102cd53fc53a07f211641a677d250f6de99caf620e8e77071e811a28b3bcddf0be1210362634ab57dae9cb373a5d536e66a8c4f67468bbcfb063809bab643072d78a1242103c5946b3fbae03a654237da86324e356d754d65704a697a4a45316752374662484a553643443138563342704e463970a26469706673582212205f3c0f599ddba0fbb2444d1d5a3259554a053c1b120a2774577c30674978782764736f6c63430008120033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:16754:30", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:30", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "83:110:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "129:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "138:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "141:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "131:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "131:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "131:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "104:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "113:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "100:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "100:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "125:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "96:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "96:32:30" + }, + "nodeType": "YulIf", + "src": "93:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "154:33:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "177:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "164:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "164:23:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "154:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_int256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "49:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "60:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "72:6:30", + "type": "" + } + ], + "src": "14:179:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "297:76:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "307:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "319:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "330:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "315:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "315:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "307:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "349:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "360:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "342:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "342:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "342:25:30" + } + ] + }, + "name": "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "266:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "277:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "288:4:30", + "type": "" + } + ], + "src": "198:175:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "444:184:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "454:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "463:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "458:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "523:63:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "548:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "553:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "544:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "544:11:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "567:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "572:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "563:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "563:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "557:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "557:18:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "537:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "537:39:30" + }, + "nodeType": "YulExpressionStatement", + "src": "537:39:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "484:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "487:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "481:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "481:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "495:19:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "497:15:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "506:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "509:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "502:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "502:10:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "497:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "477:3:30", + "statements": [] + }, + "src": "473:113:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "606:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "611:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "602:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "602:16:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "620:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "595:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "595:27:30" + }, + "nodeType": "YulExpressionStatement", + "src": "595:27:30" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "422:3:30", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "427:3:30", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "432:6:30", + "type": "" + } + ], + "src": "378:250:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "682:221:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "692:26:30", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "712:5:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "706:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "706:12:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "696:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "734:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "739:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "727:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "727:19:30" + }, + "nodeType": "YulExpressionStatement", + "src": "727:19:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "794:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "801:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "790:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "790:16:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "812:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "817:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "808:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "808:14:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "824:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "755:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "755:76:30" + }, + "nodeType": "YulExpressionStatement", + "src": "755:76:30" + }, + { + "nodeType": "YulAssignment", + "src": "840:57:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "855:3:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "868:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "876:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "864:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "864:15:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "885:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "881:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "881:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "860:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "860:29:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "851:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "851:39:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "892:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "847:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "847:50:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "840:3:30" + } + ] + } + ] + }, + "name": "abi_encode_bytes", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "659:5:30", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "666:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "674:3:30", + "type": "" + } + ], + "src": "633:270:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1027:98:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1044:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1055:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1037:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1037:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1037:21:30" + }, + { + "nodeType": "YulAssignment", + "src": "1067:52:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1092:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1104:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1115:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1100:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1100:18:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "1075:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "1075:44:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1067:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "996:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1007:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1018:4:30", + "type": "" + } + ], + "src": "908:217:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1200:110:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1246:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1255:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1258:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1248:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1248:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1248:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1221:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1230:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1217:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1217:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1242:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1213:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1213:32:30" + }, + "nodeType": "YulIf", + "src": "1210:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "1271:33:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1294:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1281:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1281:23:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1271:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1166:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1177:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1189:6:30", + "type": "" + } + ], + "src": "1130:180:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1387:275:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1436:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1445:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1448:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1438:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1438:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1438:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1415:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1423:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1411:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1411:17:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1430:3:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1407:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1407:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1400:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1400:35:30" + }, + "nodeType": "YulIf", + "src": "1397:55:30" + }, + { + "nodeType": "YulAssignment", + "src": "1461:30:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1484:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1471:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1471:20:30" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1461:6:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1534:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1543:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1546:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1536:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1536:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1536:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1506:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1522:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1526:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1518:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1518:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1530:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1514:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1514:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1503:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1503:30:30" + }, + "nodeType": "YulIf", + "src": "1500:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "1559:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1575:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1583:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1571:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1571:17:30" + }, + "variableNames": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "1559:8:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1640:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1649:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1652:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1642:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1642:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1642:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1611:6:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1619:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1607:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1607:19:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1628:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1603:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1603:30:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1635:3:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1600:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1600:39:30" + }, + "nodeType": "YulIf", + "src": "1597:59:30" + } + ] + }, + "name": "abi_decode_bytes_calldata", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1350:6:30", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1358:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nodeType": "YulTypedName", + "src": "1366:8:30", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1376:6:30", + "type": "" + } + ], + "src": "1315:347:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1756:320:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1802:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1811:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1814:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1804:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1804:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1804:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1777:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1786:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1773:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1773:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1798:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1769:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1769:32:30" + }, + "nodeType": "YulIf", + "src": "1766:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1827:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1854:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1841:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1841:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1831:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1907:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1916:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1919:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1909:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1909:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1909:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1879:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1895:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1899:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1891:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1891:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1903:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1887:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1887:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1876:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1876:30:30" + }, + "nodeType": "YulIf", + "src": "1873:50:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1932:84:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1988:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1999:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1984:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1984:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2008:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_calldata", + "nodeType": "YulIdentifier", + "src": "1958:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "1958:58:30" + }, + "variables": [ + { + "name": "value0_1", + "nodeType": "YulTypedName", + "src": "1936:8:30", + "type": "" + }, + { + "name": "value1_1", + "nodeType": "YulTypedName", + "src": "1946:8:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2025:18:30", + "value": { + "name": "value0_1", + "nodeType": "YulIdentifier", + "src": "2035:8:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2025:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2052:18:30", + "value": { + "name": "value1_1", + "nodeType": "YulIdentifier", + "src": "2062:8:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "2052:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1714:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1725:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1737:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1745:6:30", + "type": "" + } + ], + "src": "1667:409:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2182:76:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2192:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2204:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2215:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2200:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2200:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2192:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2234:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2245:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2227:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2227:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2227:25:30" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2151:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2162:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2173:4:30", + "type": "" + } + ], + "src": "2081:177:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2353:320:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2399:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2408:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2411:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2401:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2401:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2401:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2374:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2383:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2370:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2370:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2395:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2366:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2366:32:30" + }, + "nodeType": "YulIf", + "src": "2363:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2424:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2451:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2438:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2438:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2428:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2504:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2513:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2516:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2506:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2506:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2506:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2476:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2492:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2496:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "2488:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2488:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2500:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2484:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2484:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2473:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2473:30:30" + }, + "nodeType": "YulIf", + "src": "2470:50:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2529:84:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2585:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2596:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2581:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2581:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2605:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_calldata", + "nodeType": "YulIdentifier", + "src": "2555:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "2555:58:30" + }, + "variables": [ + { + "name": "value0_1", + "nodeType": "YulTypedName", + "src": "2533:8:30", + "type": "" + }, + { + "name": "value1_1", + "nodeType": "YulTypedName", + "src": "2543:8:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2622:18:30", + "value": { + "name": "value0_1", + "nodeType": "YulIdentifier", + "src": "2632:8:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2622:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2649:18:30", + "value": { + "name": "value1_1", + "nodeType": "YulIdentifier", + "src": "2659:8:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "2649:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2311:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2322:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2334:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "2342:6:30", + "type": "" + } + ], + "src": "2263:410:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2773:92:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2783:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2795:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2806:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2791:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2791:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2783:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2825:9:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2850:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2843:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2843:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2836:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2836:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2818:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2818:41:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2818:41:30" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2742:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2753:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2764:4:30", + "type": "" + } + ], + "src": "2678:187:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3011:643:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3057:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3066:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3069:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3059:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3059:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3059:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3032:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3041:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3028:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3028:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3053:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3024:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3024:32:30" + }, + "nodeType": "YulIf", + "src": "3021:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3082:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3109:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3096:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3096:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3086:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3128:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3146:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3150:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "3142:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3142:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3154:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3138:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3138:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "3132:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3183:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3192:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3195:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3185:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3185:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3185:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3171:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "3179:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3168:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "3168:14:30" + }, + "nodeType": "YulIf", + "src": "3165:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3208:84:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3264:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3275:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3260:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3260:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3284:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_calldata", + "nodeType": "YulIdentifier", + "src": "3234:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "3234:58:30" + }, + "variables": [ + { + "name": "value0_1", + "nodeType": "YulTypedName", + "src": "3212:8:30", + "type": "" + }, + { + "name": "value1_1", + "nodeType": "YulTypedName", + "src": "3222:8:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3301:18:30", + "value": { + "name": "value0_1", + "nodeType": "YulIdentifier", + "src": "3311:8:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3301:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3328:18:30", + "value": { + "name": "value1_1", + "nodeType": "YulIdentifier", + "src": "3338:8:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3328:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3355:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3382:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3393:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3378:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3378:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3365:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3365:32:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "3355:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3406:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3439:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3450:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3435:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3435:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3422:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3422:32:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "3410:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3483:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3492:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3495:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3485:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3485:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3485:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "3469:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "3479:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3466:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "3466:16:30" + }, + "nodeType": "YulIf", + "src": "3463:36:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3508:86:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3564:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "3575:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3560:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3560:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3586:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_calldata", + "nodeType": "YulIdentifier", + "src": "3534:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "3534:60:30" + }, + "variables": [ + { + "name": "value3_1", + "nodeType": "YulTypedName", + "src": "3512:8:30", + "type": "" + }, + { + "name": "value4_1", + "nodeType": "YulTypedName", + "src": "3522:8:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3603:18:30", + "value": { + "name": "value3_1", + "nodeType": "YulIdentifier", + "src": "3613:8:30" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "3603:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3630:18:30", + "value": { + "name": "value4_1", + "nodeType": "YulIdentifier", + "src": "3640:8:30" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "3630:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_calldata_ptrt_int256t_bytes_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2945:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2956:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2968:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "2976:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "2984:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "2992:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "3000:6:30", + "type": "" + } + ], + "src": "2870:784:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3820:843:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3866:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3875:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3878:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3868:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3868:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3868:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3841:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3850:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3837:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3837:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3862:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3833:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3833:32:30" + }, + "nodeType": "YulIf", + "src": "3830:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3891:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3918:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3905:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3905:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3895:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3937:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3955:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3959:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "3951:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3951:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3963:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3947:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3947:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "3941:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3992:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4001:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4004:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3994:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3994:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3994:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3980:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "3988:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3977:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "3977:14:30" + }, + "nodeType": "YulIf", + "src": "3974:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4017:84:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4073:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4084:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4069:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4069:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4093:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_calldata", + "nodeType": "YulIdentifier", + "src": "4043:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "4043:58:30" + }, + "variables": [ + { + "name": "value0_1", + "nodeType": "YulTypedName", + "src": "4021:8:30", + "type": "" + }, + { + "name": "value1_1", + "nodeType": "YulTypedName", + "src": "4031:8:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4110:18:30", + "value": { + "name": "value0_1", + "nodeType": "YulIdentifier", + "src": "4120:8:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4110:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4137:18:30", + "value": { + "name": "value1_1", + "nodeType": "YulIdentifier", + "src": "4147:8:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "4137:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4164:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4197:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4208:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4193:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4193:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4180:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "4180:32:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "4168:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4241:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4250:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4253:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4243:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4243:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4243:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "4227:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "4237:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4224:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "4224:16:30" + }, + "nodeType": "YulIf", + "src": "4221:36:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4266:86:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4322:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "4333:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4318:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4318:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4344:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_calldata", + "nodeType": "YulIdentifier", + "src": "4292:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "4292:60:30" + }, + "variables": [ + { + "name": "value2_1", + "nodeType": "YulTypedName", + "src": "4270:8:30", + "type": "" + }, + { + "name": "value3_1", + "nodeType": "YulTypedName", + "src": "4280:8:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4361:18:30", + "value": { + "name": "value2_1", + "nodeType": "YulIdentifier", + "src": "4371:8:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "4361:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4388:18:30", + "value": { + "name": "value3_1", + "nodeType": "YulIdentifier", + "src": "4398:8:30" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "4388:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4415:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4448:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4459:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4444:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4444:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4431:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "4431:32:30" + }, + "variables": [ + { + "name": "offset_2", + "nodeType": "YulTypedName", + "src": "4419:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4492:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4501:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4504:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4494:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4494:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4494:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "4478:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "4488:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4475:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "4475:16:30" + }, + "nodeType": "YulIf", + "src": "4472:36:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4517:86:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4573:9:30" + }, + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "4584:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4569:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4569:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4595:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_calldata", + "nodeType": "YulIdentifier", + "src": "4543:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "4543:60:30" + }, + "variables": [ + { + "name": "value4_1", + "nodeType": "YulTypedName", + "src": "4521:8:30", + "type": "" + }, + { + "name": "value5_1", + "nodeType": "YulTypedName", + "src": "4531:8:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4612:18:30", + "value": { + "name": "value4_1", + "nodeType": "YulIdentifier", + "src": "4622:8:30" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "4612:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4639:18:30", + "value": { + "name": "value5_1", + "nodeType": "YulIdentifier", + "src": "4649:8:30" + }, + "variableNames": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "4639:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_calldata_ptrt_bytes_calldata_ptrt_bytes_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3746:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3757:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3769:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3777:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "3785:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "3793:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "3801:6:30", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "3809:6:30", + "type": "" + } + ], + "src": "3659:1004:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4789:98:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4806:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4817:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4799:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4799:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4799:21:30" + }, + { + "nodeType": "YulAssignment", + "src": "4829:52:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4854:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4866:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4877:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4862:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4862:18:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "4837:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "4837:44:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4829:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4758:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4769:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "4780:4:30", + "type": "" + } + ], + "src": "4668:219:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4998:371:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5044:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5053:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5056:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5046:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5046:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5046:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5019:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5028:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5015:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5015:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5040:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5011:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5011:32:30" + }, + "nodeType": "YulIf", + "src": "5008:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5069:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5096:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5083:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "5083:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5073:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5149:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5158:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5161:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5151:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5151:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5151:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5121:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5137:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5141:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "5133:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5133:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5145:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5129:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5129:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5118:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "5118:30:30" + }, + "nodeType": "YulIf", + "src": "5115:50:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5174:84:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5230:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5241:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5226:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5226:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5250:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_calldata", + "nodeType": "YulIdentifier", + "src": "5200:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "5200:58:30" + }, + "variables": [ + { + "name": "value0_1", + "nodeType": "YulTypedName", + "src": "5178:8:30", + "type": "" + }, + { + "name": "value1_1", + "nodeType": "YulTypedName", + "src": "5188:8:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5267:18:30", + "value": { + "name": "value0_1", + "nodeType": "YulIdentifier", + "src": "5277:8:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5267:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5294:18:30", + "value": { + "name": "value1_1", + "nodeType": "YulIdentifier", + "src": "5304:8:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "5294:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5321:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5348:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5359:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5344:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5344:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5331:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "5331:32:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "5321:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_calldata_ptrt_int256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4948:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4959:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4971:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "4979:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "4987:6:30", + "type": "" + } + ], + "src": "4892:477:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5480:371:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5526:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5535:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5538:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5528:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5528:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5528:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5501:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5510:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5497:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5497:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5522:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5493:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5493:32:30" + }, + "nodeType": "YulIf", + "src": "5490:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "5551:33:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5574:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5561:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "5561:23:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5551:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5593:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5624:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5635:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5620:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5620:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5607:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "5607:32:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5597:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5682:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5691:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5694:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5684:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5684:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5684:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5654:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5670:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5674:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "5666:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5666:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5678:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5662:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5662:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5651:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "5651:30:30" + }, + "nodeType": "YulIf", + "src": "5648:50:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5707:84:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5763:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5774:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5759:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5759:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5783:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_calldata", + "nodeType": "YulIdentifier", + "src": "5733:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "5733:58:30" + }, + "variables": [ + { + "name": "value1_1", + "nodeType": "YulTypedName", + "src": "5711:8:30", + "type": "" + }, + { + "name": "value2_1", + "nodeType": "YulTypedName", + "src": "5721:8:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5800:18:30", + "value": { + "name": "value1_1", + "nodeType": "YulIdentifier", + "src": "5810:8:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "5800:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5827:18:30", + "value": { + "name": "value2_1", + "nodeType": "YulIdentifier", + "src": "5837:8:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "5827:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_int256t_string_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5430:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5441:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5453:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "5461:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "5469:6:30", + "type": "" + } + ], + "src": "5374:477:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5888:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5905:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5912:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5917:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "5908:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5908:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5898:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5898:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5898:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5945:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5948:4:30", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5938:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5938:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5938:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5969:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5972:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5962:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5962:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5962:15:30" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "5856:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6040:666:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6089:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6098:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6101:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6091:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6091:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6091:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6068:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6076:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6064:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6064:17:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "6083:3:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6060:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6060:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "6053:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6053:35:30" + }, + "nodeType": "YulIf", + "src": "6050:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6114:30:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6137:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6124:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6124:20:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "6118:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6153:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6171:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6175:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "6167:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6167:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6179:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6163:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6163:18:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "6157:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6204:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "6206:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "6206:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6206:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6196:2:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6200:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6193:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6193:10:30" + }, + "nodeType": "YulIf", + "src": "6190:36:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6235:17:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6249:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "6245:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6245:7:30" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "6239:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6261:23:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6281:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6275:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "6275:9:30" + }, + "variables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "6265:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6293:71:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "6315:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6339:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6343:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6335:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6335:13:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "6350:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "6331:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6331:22:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6355:2:30", + "type": "", + "value": "63" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6327:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6327:31:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "6360:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "6323:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6323:40:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6311:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6311:53:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "6297:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6423:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "6425:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "6425:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6425:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "6382:10:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6394:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6379:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6379:18:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "6402:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "6414:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "6399:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6399:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "6376:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6376:46:30" + }, + "nodeType": "YulIf", + "src": "6373:72:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6461:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "6465:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6454:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6454:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6454:22:30" + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "6492:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6500:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6485:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6485:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6485:18:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6551:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6560:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6563:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6553:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6553:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6553:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6526:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6534:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6522:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6522:15:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6539:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6518:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6518:26:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "6546:3:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6515:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6515:35:30" + }, + "nodeType": "YulIf", + "src": "6512:55:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "6593:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6601:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6589:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6589:17:30" + }, + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6612:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6620:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6608:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6608:17:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6627:2:30" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "6576:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6576:54:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6576:54:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "6654:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6662:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6650:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6650:15:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6667:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6646:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6646:26:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6674:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6639:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6639:37:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6639:37:30" + }, + { + "nodeType": "YulAssignment", + "src": "6685:15:30", + "value": { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "6694:6:30" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "6685:5:30" + } + ] + } + ] + }, + "name": "abi_decode_bytes", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6014:6:30", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6022:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "6030:5:30", + "type": "" + } + ], + "src": "5988:718:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6807:292:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6853:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6862:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6865:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6855:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6855:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6855:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6828:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6837:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6824:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6824:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6849:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6820:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6820:32:30" + }, + "nodeType": "YulIf", + "src": "6817:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "6878:33:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6901:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6888:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6888:23:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6878:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6920:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6951:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6962:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6947:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6947:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6934:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6934:32:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6924:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7009:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7018:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7021:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7011:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7011:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7011:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6981:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6997:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7001:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "6993:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6993:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7005:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6989:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6989:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6978:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6978:30:30" + }, + "nodeType": "YulIf", + "src": "6975:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "7034:59:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7065:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7076:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7061:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7061:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7085:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "7044:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "7044:49:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "7034:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6765:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "6776:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6788:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "6796:6:30", + "type": "" + } + ], + "src": "6711:388:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7188:283:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7237:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7246:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7249:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7239:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7239:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7239:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7216:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7224:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7212:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7212:17:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7231:3:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "7208:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7208:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "7201:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7201:35:30" + }, + "nodeType": "YulIf", + "src": "7198:55:30" + }, + { + "nodeType": "YulAssignment", + "src": "7262:30:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7285:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7272:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "7272:20:30" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7262:6:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7335:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7344:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7347:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7337:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7337:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7337:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7307:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7323:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7327:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "7319:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7319:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7331:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7315:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7315:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7304:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "7304:30:30" + }, + "nodeType": "YulIf", + "src": "7301:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "7360:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7376:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7384:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7372:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7372:17:30" + }, + "variableNames": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "7360:8:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7449:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7458:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7461:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7451:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7451:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7451:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7412:6:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7424:1:30", + "type": "", + "value": "5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7427:6:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "7420:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7420:14:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7408:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7408:27:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7437:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7404:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7404:38:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7444:3:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7401:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "7401:47:30" + }, + "nodeType": "YulIf", + "src": "7398:67:30" + } + ] + }, + "name": "abi_decode_array_bytes32_dyn_calldata", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7151:6:30", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "7159:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nodeType": "YulTypedName", + "src": "7167:8:30", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7177:6:30", + "type": "" + } + ], + "src": "7104:367:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7632:486:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7679:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7688:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7691:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7681:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7681:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7681:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7653:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7662:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7649:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7649:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7674:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "7645:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7645:33:30" + }, + "nodeType": "YulIf", + "src": "7642:53:30" + }, + { + "nodeType": "YulAssignment", + "src": "7704:33:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7727:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7714:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "7714:23:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7704:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7746:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7773:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7784:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7769:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7769:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7756:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "7756:32:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "7746:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7797:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7824:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7835:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7820:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7820:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7807:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "7807:32:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "7797:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7848:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7879:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7890:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7875:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7875:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7862:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "7862:32:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7852:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7937:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7946:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7949:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7939:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7939:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7939:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7909:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7925:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7929:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "7921:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7921:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7933:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7917:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7917:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7906:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "7906:30:30" + }, + "nodeType": "YulIf", + "src": "7903:50:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7962:96:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8030:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8041:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8026:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8026:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8050:7:30" + } + ], + "functionName": { + "name": "abi_decode_array_bytes32_dyn_calldata", + "nodeType": "YulIdentifier", + "src": "7988:37:30" + }, + "nodeType": "YulFunctionCall", + "src": "7988:70:30" + }, + "variables": [ + { + "name": "value3_1", + "nodeType": "YulTypedName", + "src": "7966:8:30", + "type": "" + }, + { + "name": "value4_1", + "nodeType": "YulTypedName", + "src": "7976:8:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8067:18:30", + "value": { + "name": "value3_1", + "nodeType": "YulIdentifier", + "src": "8077:8:30" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "8067:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8094:18:30", + "value": { + "name": "value4_1", + "nodeType": "YulIdentifier", + "src": "8104:8:30" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "8094:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_bytes32t_uint256t_array$_t_bytes32_$dyn_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7566:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "7577:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7589:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "7597:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "7605:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "7613:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "7621:6:30", + "type": "" + } + ], + "src": "7476:642:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8180:124:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8190:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8212:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8199:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "8199:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8190:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8282:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8291:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8294:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8284:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8284:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8284:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8241:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8252:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8267:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8272:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "8263:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8263:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8276:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8259:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8259:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "8248:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8248:31:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "8238:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "8238:42:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "8231:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8231:50:30" + }, + "nodeType": "YulIf", + "src": "8228:70:30" + } + ] + }, + "name": "abi_decode_address_payable", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8159:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8170:5:30", + "type": "" + } + ], + "src": "8123:181:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8355:114:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8365:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8387:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8374:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "8374:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8365:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8447:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8456:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8459:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8449:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8449:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8449:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8416:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8437:5:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "8430:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8430:13:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "8423:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8423:21:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "8413:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "8413:32:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "8406:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8406:40:30" + }, + "nodeType": "YulIf", + "src": "8403:60:30" + } + ] + }, + "name": "abi_decode_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8334:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8345:5:30", + "type": "" + } + ], + "src": "8309:160:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8704:1004:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "8751:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8760:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8763:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8753:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8753:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8753:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8725:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8734:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8721:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8721:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8746:3:30", + "type": "", + "value": "256" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "8717:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8717:33:30" + }, + "nodeType": "YulIf", + "src": "8714:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8776:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8803:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8790:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "8790:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8780:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8822:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8840:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8844:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "8836:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8836:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8848:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8832:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8832:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "8826:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8877:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8886:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8889:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8879:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8879:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8879:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8865:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "8873:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8862:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "8862:14:30" + }, + "nodeType": "YulIf", + "src": "8859:34:30" + }, + { + "nodeType": "YulAssignment", + "src": "8902:59:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8933:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8944:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8929:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8929:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8953:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "8912:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "8912:49:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8902:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8970:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8997:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9008:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8993:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8993:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8980:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "8980:32:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "8970:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9021:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9054:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9065:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9050:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9050:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9037:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "9037:32:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "9025:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9098:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9107:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9110:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9100:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9100:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9100:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "9084:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "9094:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9081:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "9081:16:30" + }, + "nodeType": "YulIf", + "src": "9078:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "9123:61:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9154:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "9165:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9150:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9150:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9176:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "9133:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "9133:51:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "9123:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9193:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9220:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9231:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9216:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9216:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9203:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "9203:32:30" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "9193:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9244:49:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9277:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9288:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9273:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9273:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9260:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "9260:33:30" + }, + "variables": [ + { + "name": "offset_2", + "nodeType": "YulTypedName", + "src": "9248:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9322:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9331:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9334:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9324:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9324:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9324:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "9308:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "9318:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9305:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "9305:16:30" + }, + "nodeType": "YulIf", + "src": "9302:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "9347:61:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9378:9:30" + }, + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "9389:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9374:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9374:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9400:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "9357:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "9357:51:30" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "9347:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9417:57:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9458:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9469:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9454:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9454:19:30" + } + ], + "functionName": { + "name": "abi_decode_address_payable", + "nodeType": "YulIdentifier", + "src": "9427:26:30" + }, + "nodeType": "YulFunctionCall", + "src": "9427:47:30" + }, + "variableNames": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "9417:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9483:49:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9516:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9527:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9512:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9512:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9499:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "9499:33:30" + }, + "variables": [ + { + "name": "offset_3", + "nodeType": "YulTypedName", + "src": "9487:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9561:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9570:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9573:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9563:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9563:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9563:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_3", + "nodeType": "YulIdentifier", + "src": "9547:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "9557:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9544:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "9544:16:30" + }, + "nodeType": "YulIf", + "src": "9541:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "9586:61:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9617:9:30" + }, + { + "name": "offset_3", + "nodeType": "YulIdentifier", + "src": "9628:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9613:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9613:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9639:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "9596:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "9596:51:30" + }, + "variableNames": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "9586:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9656:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9686:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9697:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9682:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9682:19:30" + } + ], + "functionName": { + "name": "abi_decode_bool", + "nodeType": "YulIdentifier", + "src": "9666:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "9666:36:30" + }, + "variableNames": [ + { + "name": "value7", + "nodeType": "YulIdentifier", + "src": "9656:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_memory_ptrt_uint256t_bytes_memory_ptrt_bytes32t_bytes_memory_ptrt_address_payablet_bytes_memory_ptrt_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8614:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "8625:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8637:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "8645:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "8653:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "8661:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "8669:6:30", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "8677:6:30", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "8685:6:30", + "type": "" + }, + { + "name": "value7", + "nodeType": "YulTypedName", + "src": "8693:6:30", + "type": "" + } + ], + "src": "8474:1234:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9810:91:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9820:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9832:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9843:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9828:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9828:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9820:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9862:9:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9884:1:30", + "type": "", + "value": "7" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9887:6:30" + } + ], + "functionName": { + "name": "signextend", + "nodeType": "YulIdentifier", + "src": "9873:10:30" + }, + "nodeType": "YulFunctionCall", + "src": "9873:21:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9855:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9855:40:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9855:40:30" + } + ] + }, + "name": "abi_encode_tuple_t_int64__to_t_int64__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9779:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9790:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9801:4:30", + "type": "" + } + ], + "src": "9713:188:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9976:110:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "10022:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10031:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10034:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10024:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10024:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10024:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9997:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10006:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9993:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9993:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10018:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "9989:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9989:32:30" + }, + "nodeType": "YulIf", + "src": "9986:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "10047:33:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10070:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10057:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "10057:23:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10047:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9942:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "9953:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9965:6:30", + "type": "" + } + ], + "src": "9906:180:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10267:747:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "10314:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10323:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10326:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10316:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10316:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10316:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10288:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10297:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10284:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10284:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10309:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "10280:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10280:33:30" + }, + "nodeType": "YulIf", + "src": "10277:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "10339:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10366:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10353:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "10353:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10343:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "10385:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10403:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10407:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "10399:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10399:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10411:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10395:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10395:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "10389:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10440:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10449:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10452:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10442:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10442:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10442:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10428:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "10436:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "10425:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "10425:14:30" + }, + "nodeType": "YulIf", + "src": "10422:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "10465:84:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10521:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10532:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10517:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10517:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10541:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_calldata", + "nodeType": "YulIdentifier", + "src": "10491:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "10491:58:30" + }, + "variables": [ + { + "name": "value0_1", + "nodeType": "YulTypedName", + "src": "10469:8:30", + "type": "" + }, + { + "name": "value1_1", + "nodeType": "YulTypedName", + "src": "10479:8:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10558:18:30", + "value": { + "name": "value0_1", + "nodeType": "YulIdentifier", + "src": "10568:8:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10558:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10585:18:30", + "value": { + "name": "value1_1", + "nodeType": "YulIdentifier", + "src": "10595:8:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "10585:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10612:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10639:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10650:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10635:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10635:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10622:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "10622:32:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "10612:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "10663:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10696:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10707:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10692:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10692:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10679:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "10679:32:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "10667:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10740:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10749:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10752:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10742:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10742:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10742:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "10726:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "10736:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "10723:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "10723:16:30" + }, + "nodeType": "YulIf", + "src": "10720:36:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "10765:86:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10821:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "10832:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10817:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10817:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10843:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_calldata", + "nodeType": "YulIdentifier", + "src": "10791:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "10791:60:30" + }, + "variables": [ + { + "name": "value3_1", + "nodeType": "YulTypedName", + "src": "10769:8:30", + "type": "" + }, + { + "name": "value4_1", + "nodeType": "YulTypedName", + "src": "10779:8:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10860:18:30", + "value": { + "name": "value3_1", + "nodeType": "YulIdentifier", + "src": "10870:8:30" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "10860:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10887:18:30", + "value": { + "name": "value4_1", + "nodeType": "YulIdentifier", + "src": "10897:8:30" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "10887:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10914:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10941:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10952:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10937:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10937:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10924:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "10924:32:30" + }, + "variableNames": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "10914:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10965:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10992:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11003:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10988:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10988:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10975:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "10975:33:30" + }, + "variableNames": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "10965:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_calldata_ptrt_bytes32t_bytes_calldata_ptrt_bytes32t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10185:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "10196:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10208:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "10216:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "10224:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "10232:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "10240:6:30", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "10248:6:30", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "10256:6:30", + "type": "" + } + ], + "src": "10091:923:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11115:292:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11161:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11170:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11173:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "11163:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11163:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11163:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11136:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11145:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11132:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11132:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11157:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "11128:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11128:32:30" + }, + "nodeType": "YulIf", + "src": "11125:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "11186:33:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11209:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "11196:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "11196:23:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11186:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11228:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11259:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11270:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11255:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11255:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "11242:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "11242:32:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "11232:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11317:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11326:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11329:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "11319:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11319:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11319:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11289:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11305:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11309:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "11301:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11301:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11313:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11297:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11297:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11286:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "11286:30:30" + }, + "nodeType": "YulIf", + "src": "11283:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "11342:59:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11373:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11384:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11369:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11369:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11393:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "11352:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "11352:49:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "11342:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11073:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "11084:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11096:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "11104:6:30", + "type": "" + } + ], + "src": "11019:388:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11528:332:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11574:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11583:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11586:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "11576:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11576:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11576:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11549:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11558:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11545:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11545:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11570:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "11541:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11541:32:30" + }, + "nodeType": "YulIf", + "src": "11538:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11599:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11626:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "11613:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "11613:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "11603:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11679:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11688:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11691:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "11681:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11681:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11681:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11651:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11667:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11671:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "11663:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11663:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11675:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11659:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11659:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11648:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "11648:30:30" + }, + "nodeType": "YulIf", + "src": "11645:50:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11704:96:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11772:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11783:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11768:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11768:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11792:7:30" + } + ], + "functionName": { + "name": "abi_decode_array_bytes32_dyn_calldata", + "nodeType": "YulIdentifier", + "src": "11730:37:30" + }, + "nodeType": "YulFunctionCall", + "src": "11730:70:30" + }, + "variables": [ + { + "name": "value0_1", + "nodeType": "YulTypedName", + "src": "11708:8:30", + "type": "" + }, + { + "name": "value1_1", + "nodeType": "YulTypedName", + "src": "11718:8:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11809:18:30", + "value": { + "name": "value0_1", + "nodeType": "YulIdentifier", + "src": "11819:8:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11809:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11836:18:30", + "value": { + "name": "value1_1", + "nodeType": "YulIdentifier", + "src": "11846:8:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "11836:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11486:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "11497:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11509:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "11517:6:30", + "type": "" + } + ], + "src": "11412:448:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12053:855:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "12099:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12108:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12111:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12101:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12101:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12101:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12074:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12083:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12070:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12070:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12095:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "12066:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12066:32:30" + }, + "nodeType": "YulIf", + "src": "12063:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12124:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12151:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12138:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "12138:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12128:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12170:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12188:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12192:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "12184:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12184:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12196:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12180:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12180:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "12174:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12225:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12234:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12237:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12227:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12227:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12227:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12213:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "12221:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12210:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "12210:14:30" + }, + "nodeType": "YulIf", + "src": "12207:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12250:84:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12306:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12317:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12302:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12302:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12326:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_calldata", + "nodeType": "YulIdentifier", + "src": "12276:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "12276:58:30" + }, + "variables": [ + { + "name": "value0_1", + "nodeType": "YulTypedName", + "src": "12254:8:30", + "type": "" + }, + { + "name": "value1_1", + "nodeType": "YulTypedName", + "src": "12264:8:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12343:18:30", + "value": { + "name": "value0_1", + "nodeType": "YulIdentifier", + "src": "12353:8:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12343:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12370:18:30", + "value": { + "name": "value1_1", + "nodeType": "YulIdentifier", + "src": "12380:8:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "12370:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12397:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12430:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12441:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12426:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12426:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12413:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "12413:32:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "12401:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12474:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12483:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12486:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12476:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12476:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12476:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "12460:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "12470:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12457:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "12457:16:30" + }, + "nodeType": "YulIf", + "src": "12454:36:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12499:98:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12567:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "12578:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12563:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12563:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12589:7:30" + } + ], + "functionName": { + "name": "abi_decode_array_bytes32_dyn_calldata", + "nodeType": "YulIdentifier", + "src": "12525:37:30" + }, + "nodeType": "YulFunctionCall", + "src": "12525:72:30" + }, + "variables": [ + { + "name": "value2_1", + "nodeType": "YulTypedName", + "src": "12503:8:30", + "type": "" + }, + { + "name": "value3_1", + "nodeType": "YulTypedName", + "src": "12513:8:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12606:18:30", + "value": { + "name": "value2_1", + "nodeType": "YulIdentifier", + "src": "12616:8:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "12606:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12633:18:30", + "value": { + "name": "value3_1", + "nodeType": "YulIdentifier", + "src": "12643:8:30" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "12633:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12660:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12693:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12704:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12689:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12689:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12676:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "12676:32:30" + }, + "variables": [ + { + "name": "offset_2", + "nodeType": "YulTypedName", + "src": "12664:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12737:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12746:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12749:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12739:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12739:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12739:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "12723:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "12733:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12720:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "12720:16:30" + }, + "nodeType": "YulIf", + "src": "12717:36:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12762:86:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12818:9:30" + }, + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "12829:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12814:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12814:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12840:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_calldata", + "nodeType": "YulIdentifier", + "src": "12788:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "12788:60:30" + }, + "variables": [ + { + "name": "value4_1", + "nodeType": "YulTypedName", + "src": "12766:8:30", + "type": "" + }, + { + "name": "value5_1", + "nodeType": "YulTypedName", + "src": "12776:8:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12857:18:30", + "value": { + "name": "value4_1", + "nodeType": "YulIdentifier", + "src": "12867:8:30" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "12857:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12884:18:30", + "value": { + "name": "value5_1", + "nodeType": "YulIdentifier", + "src": "12894:8:30" + }, + "variableNames": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "12884:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_calldata_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptrt_bytes_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11979:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "11990:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "12002:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "12010:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "12018:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "12026:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "12034:6:30", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "12042:6:30", + "type": "" + } + ], + "src": "11865:1043:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13142:468:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13152:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13172:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13166:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "13166:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13156:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13227:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13235:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13223:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13223:17:30" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13242:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13247:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "13188:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "13188:66:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13188:66:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13263:29:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13280:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13285:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13276:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13276:16:30" + }, + "variables": [ + { + "name": "end_1", + "nodeType": "YulTypedName", + "src": "13267:5:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13301:29:30", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "13323:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13317:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "13317:13:30" + }, + "variables": [ + { + "name": "length_1", + "nodeType": "YulTypedName", + "src": "13305:8:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "13378:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13386:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13374:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13374:17:30" + }, + { + "name": "end_1", + "nodeType": "YulIdentifier", + "src": "13393:5:30" + }, + { + "name": "length_1", + "nodeType": "YulIdentifier", + "src": "13400:8:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "13339:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "13339:70:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13339:70:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13418:33:30", + "value": { + "arguments": [ + { + "name": "end_1", + "nodeType": "YulIdentifier", + "src": "13435:5:30" + }, + { + "name": "length_1", + "nodeType": "YulIdentifier", + "src": "13442:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13431:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13431:20:30" + }, + "variables": [ + { + "name": "end_2", + "nodeType": "YulTypedName", + "src": "13422:5:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13460:29:30", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "13482:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13476:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "13476:13:30" + }, + "variables": [ + { + "name": "length_2", + "nodeType": "YulTypedName", + "src": "13464:8:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "13537:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13545:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13533:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13533:17:30" + }, + { + "name": "end_2", + "nodeType": "YulIdentifier", + "src": "13552:5:30" + }, + { + "name": "length_2", + "nodeType": "YulIdentifier", + "src": "13559:8:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "13498:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "13498:70:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13498:70:30" + }, + { + "nodeType": "YulAssignment", + "src": "13577:27:30", + "value": { + "arguments": [ + { + "name": "end_2", + "nodeType": "YulIdentifier", + "src": "13588:5:30" + }, + { + "name": "length_2", + "nodeType": "YulIdentifier", + "src": "13595:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13584:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13584:20:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13577:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "13102:3:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "13107:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "13115:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13123:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13134:3:30", + "type": "" + } + ], + "src": "12913:697:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13670:325:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13680:22:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13694:1:30", + "type": "", + "value": "1" + }, + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "13697:4:30" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "13690:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13690:12:30" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13680:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13711:38:30", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "13741:4:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13747:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "13737:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13737:12:30" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "13715:18:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13788:31:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13790:27:30", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13804:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13812:4:30", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "13800:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13800:17:30" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13790:6:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "13768:18:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "13761:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13761:26:30" + }, + "nodeType": "YulIf", + "src": "13758:61:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13878:111:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13899:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13906:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13911:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "13902:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13902:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13892:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13892:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13892:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13943:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13946:4:30", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13936:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13936:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13936:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13971:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13974:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "13964:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13964:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13964:15:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "13834:18:30" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13857:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13865:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "13854:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "13854:14:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "13831:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "13831:38:30" + }, + "nodeType": "YulIf", + "src": "13828:161:30" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "13650:4:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13659:6:30", + "type": "" + } + ], + "src": "13615:380:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14055:65:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14072:1:30", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "14075:3:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14065:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14065:14:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14065:14:30" + }, + { + "nodeType": "YulAssignment", + "src": "14088:26:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14106:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14109:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nodeType": "YulIdentifier", + "src": "14096:9:30" + }, + "nodeType": "YulFunctionCall", + "src": "14096:18:30" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "14088:4:30" + } + ] + } + ] + }, + "name": "array_dataslot_bytes_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "14038:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "14046:4:30", + "type": "" + } + ], + "src": "14000:120:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14205:464:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "14238:425:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "14252:11:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14262:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "14256:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "14283:2:30" + }, + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "14287:5:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14276:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14276:17:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14276:17:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14306:31:30", + "value": { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "14328:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14332:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nodeType": "YulIdentifier", + "src": "14318:9:30" + }, + "nodeType": "YulFunctionCall", + "src": "14318:19:30" + }, + "variables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "14310:4:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14350:57:30", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "14373:4:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14383:1:30", + "type": "", + "value": "5" + }, + { + "arguments": [ + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "14390:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14402:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14386:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14386:19:30" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "14379:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14379:27:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14369:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14369:38:30" + }, + "variables": [ + { + "name": "deleteStart", + "nodeType": "YulTypedName", + "src": "14354:11:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14444:23:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14446:19:30", + "value": { + "name": "data", + "nodeType": "YulIdentifier", + "src": "14461:4:30" + }, + "variableNames": [ + { + "name": "deleteStart", + "nodeType": "YulIdentifier", + "src": "14446:11:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "14426:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14438:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "14423:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "14423:20:30" + }, + "nodeType": "YulIf", + "src": "14420:47:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14480:41:30", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "14494:4:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14504:1:30", + "type": "", + "value": "5" + }, + { + "arguments": [ + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "14511:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14516:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14507:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14507:12:30" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "14500:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14500:20:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14490:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14490:31:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "14484:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14534:24:30", + "value": { + "name": "deleteStart", + "nodeType": "YulIdentifier", + "src": "14547:11:30" + }, + "variables": [ + { + "name": "start", + "nodeType": "YulTypedName", + "src": "14538:5:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14632:21:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "14641:5:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "14648:2:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "14634:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14634:17:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14634:17:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "14582:5:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "14589:2:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "14579:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "14579:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "14593:26:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14595:22:30", + "value": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "14608:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14615:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14604:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14604:13:30" + }, + "variableNames": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "14595:5:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "14575:3:30", + "statements": [] + }, + "src": "14571:82:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "14221:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14226:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "14218:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "14218:11:30" + }, + "nodeType": "YulIf", + "src": "14215:448:30" + } + ] + }, + "name": "clean_up_bytearray_end_slots_bytes_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "14177:5:30", + "type": "" + }, + { + "name": "len", + "nodeType": "YulTypedName", + "src": "14184:3:30", + "type": "" + }, + { + "name": "startIndex", + "nodeType": "YulTypedName", + "src": "14189:10:30", + "type": "" + } + ], + "src": "14125:544:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14759:81:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14769:65:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "14784:4:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14802:1:30", + "type": "", + "value": "3" + }, + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "14805:3:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "14798:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14798:11:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14815:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "14811:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14811:6:30" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "14794:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14794:24:30" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "14790:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14790:29:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "14780:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14780:40:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14826:1:30", + "type": "", + "value": "1" + }, + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "14829:3:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "14822:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14822:11:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "14777:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "14777:57:30" + }, + "variableNames": [ + { + "name": "used", + "nodeType": "YulIdentifier", + "src": "14769:4:30" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "14736:4:30", + "type": "" + }, + { + "name": "len", + "nodeType": "YulTypedName", + "src": "14742:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nodeType": "YulTypedName", + "src": "14750:4:30", + "type": "" + } + ], + "src": "14674:166:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14939:1254:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "14949:24:30", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "14969:3:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14963:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "14963:10:30" + }, + "variables": [ + { + "name": "newLen", + "nodeType": "YulTypedName", + "src": "14953:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15016:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "15018:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "15018:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "15018:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "14988:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15004:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15008:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "15000:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15000:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15012:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14996:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14996:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "14985:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "14985:30:30" + }, + "nodeType": "YulIf", + "src": "14982:56:30" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "15090:4:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "15128:4:30" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "15122:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "15122:11:30" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nodeType": "YulIdentifier", + "src": "15096:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "15096:38:30" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "15136:6:30" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_bytes_storage", + "nodeType": "YulIdentifier", + "src": "15047:42:30" + }, + "nodeType": "YulFunctionCall", + "src": "15047:96:30" + }, + "nodeType": "YulExpressionStatement", + "src": "15047:96:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "15152:18:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15169:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nodeType": "YulTypedName", + "src": "15156:9:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "15179:23:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15198:4:30", + "type": "", + "value": "0x20" + }, + "variables": [ + { + "name": "srcOffset_1", + "nodeType": "YulTypedName", + "src": "15183:11:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15211:24:30", + "value": { + "name": "srcOffset_1", + "nodeType": "YulIdentifier", + "src": "15224:11:30" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "15211:9:30" + } + ] + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "15281:655:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15295:35:30", + "value": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "15314:6:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15326:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "15322:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15322:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "15310:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15310:20:30" + }, + "variables": [ + { + "name": "loopEnd", + "nodeType": "YulTypedName", + "src": "15299:7:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "15343:48:30", + "value": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "15386:4:30" + } + ], + "functionName": { + "name": "array_dataslot_bytes_storage", + "nodeType": "YulIdentifier", + "src": "15357:28:30" + }, + "nodeType": "YulFunctionCall", + "src": "15357:34:30" + }, + "variables": [ + { + "name": "dstPtr", + "nodeType": "YulTypedName", + "src": "15347:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "15404:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15413:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "15408:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15491:172:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "15516:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "15534:3:30" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "15539:9:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15530:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15530:19:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "15524:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "15524:26:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "15509:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "15509:42:30" + }, + "nodeType": "YulExpressionStatement", + "src": "15509:42:30" + }, + { + "nodeType": "YulAssignment", + "src": "15568:24:30", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "15582:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15590:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15578:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15578:14:30" + }, + "variableNames": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "15568:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15609:40:30", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "15626:9:30" + }, + { + "name": "srcOffset_1", + "nodeType": "YulIdentifier", + "src": "15637:11:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15622:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15622:27:30" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "15609:9:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "15438:1:30" + }, + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "15441:7:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "15435:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "15435:14:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "15450:28:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15452:24:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "15461:1:30" + }, + { + "name": "srcOffset_1", + "nodeType": "YulIdentifier", + "src": "15464:11:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15457:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15457:19:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "15452:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "15431:3:30", + "statements": [] + }, + "src": "15427:236:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15711:166:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15729:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "15756:3:30" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "15761:9:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15752:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15752:19:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "15746:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "15746:26:30" + }, + "variables": [ + { + "name": "lastValue", + "nodeType": "YulTypedName", + "src": "15733:9:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "15796:6:30" + }, + { + "arguments": [ + { + "name": "lastValue", + "nodeType": "YulIdentifier", + "src": "15808:9:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15835:1:30", + "type": "", + "value": "3" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "15838:6:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "15831:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15831:14:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15847:3:30", + "type": "", + "value": "248" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "15827:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15827:24:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15857:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "15853:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15853:6:30" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "15823:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15823:37:30" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "15819:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15819:42:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "15804:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15804:58:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "15789:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "15789:74:30" + }, + "nodeType": "YulExpressionStatement", + "src": "15789:74:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "15682:7:30" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "15691:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "15679:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "15679:19:30" + }, + "nodeType": "YulIf", + "src": "15676:201:30" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "15897:4:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15911:1:30", + "type": "", + "value": "1" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "15914:6:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "15907:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15907:14:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15923:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15903:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15903:22:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "15890:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "15890:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "15890:36:30" + } + ] + }, + "nodeType": "YulCase", + "src": "15274:662:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15279:1:30", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15953:234:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15967:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15980:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15971:5:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16016:67:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16034:35:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "16053:3:30" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "16058:9:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16049:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16049:19:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "16043:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "16043:26:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16034:5:30" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "15997:6:30" + }, + "nodeType": "YulIf", + "src": "15994:89:30" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "16103:4:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16162:5:30" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "16169:6:30" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulIdentifier", + "src": "16109:52:30" + }, + "nodeType": "YulFunctionCall", + "src": "16109:67:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "16096:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "16096:81:30" + }, + "nodeType": "YulExpressionStatement", + "src": "16096:81:30" + } + ] + }, + "nodeType": "YulCase", + "src": "15945:242:30", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "15254:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15262:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "15251:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "15251:14:30" + }, + "nodeType": "YulSwitch", + "src": "15244:943:30" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "14924:4:30", + "type": "" + }, + { + "name": "src", + "nodeType": "YulTypedName", + "src": "14930:3:30", + "type": "" + } + ], + "src": "14845:1348:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16389:14:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16391:10:30", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16398:3:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "16391:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "16373:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "16381:3:30", + "type": "" + } + ], + "src": "16198:205:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16582:170:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16599:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16610:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16592:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "16592:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "16592:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16633:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16644:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16629:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16629:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16649:2:30", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16622:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "16622:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "16622:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16672:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16683:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16668:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16668:18:30" + }, + { + "hexValue": "53656e64696e672066756e6473206661696c6564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "16688:22:30", + "type": "", + "value": "Sending funds failed" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16661:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "16661:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "16661:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "16720:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16732:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16743:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16728:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16728:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16720:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_5eaf50de5ac7eb5958d1afe53b0b3d8c8f9de1eca637320b2e8c7f3a205ca802__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16559:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16573:4:30", + "type": "" + } + ], + "src": "16408:344:30" + } + ] + }, + "contents": "{\n { }\n function abi_decode_tuple_t_int256(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_int256__to_t_int256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function copy_memory_to_memory_with_cleanup(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 mstore(add(dst, length), 0)\n }\n function abi_encode_bytes(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory_with_cleanup(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_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_bytes(value0, add(headStart, 32))\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_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, sub(shl(64, 1), 1)) { 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, sub(shl(64, 1), 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 }\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_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, sub(shl(64, 1), 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 }\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_bytes_calldata_ptrt_int256t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := sub(shl(64, 1), 1)\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 value2 := calldataload(add(headStart, 32))\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 }\n function abi_decode_tuple_t_bytes_calldata_ptrt_bytes_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 := sub(shl(64, 1), 1)\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_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_bytes(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_string_calldata_ptrt_int256(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, sub(shl(64, 1), 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 value2 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_int256t_string_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, sub(shl(64, 1), 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 }\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_bytes(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(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 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_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\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, sub(shl(64, 1), 1)) { revert(0, 0) }\n value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n }\n function abi_decode_array_bytes32_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, sub(shl(64, 1), 1)) { 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_bytes32t_bytes32t_uint256t_array$_t_bytes32_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n let value3_1, value4_1 := abi_decode_array_bytes32_dyn_calldata(add(headStart, offset), dataEnd)\n value3 := value3_1\n value4 := value4_1\n }\n function abi_decode_address_payable(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_bool(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes_memory_ptrt_uint256t_bytes_memory_ptrt_bytes32t_bytes_memory_ptrt_address_payablet_bytes_memory_ptrt_bool(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 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_bytes(add(headStart, offset), dataEnd)\n value1 := calldataload(add(headStart, 32))\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n value2 := abi_decode_bytes(add(headStart, offset_1), dataEnd)\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_bytes(add(headStart, offset_2), dataEnd)\n value5 := abi_decode_address_payable(add(headStart, 160))\n let offset_3 := calldataload(add(headStart, 192))\n if gt(offset_3, _1) { revert(0, 0) }\n value6 := abi_decode_bytes(add(headStart, offset_3), dataEnd)\n value7 := abi_decode_bool(add(headStart, 224))\n }\n function abi_encode_tuple_t_int64__to_t_int64__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, signextend(7, value0))\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_decode_tuple_t_bytes_calldata_ptrt_bytes32t_bytes_calldata_ptrt_bytes32t_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 := sub(shl(64, 1), 1)\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 value2 := calldataload(add(headStart, 32))\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 value6 := calldataload(add(headStart, 128))\n }\n function abi_decode_tuple_t_bytes32t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\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, sub(shl(64, 1), 1)) { revert(0, 0) }\n value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_array$_t_bytes_calldata_ptr_$dyn_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, sub(shl(64, 1), 1)) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_array_bytes32_dyn_calldata(add(headStart, offset), dataEnd)\n value0 := value0_1\n value1 := value1_1\n }\n function abi_decode_tuple_t_bytes_calldata_ptrt_array$_t_bytes_calldata_ptr_$dyn_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 := sub(shl(64, 1), 1)\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_array_bytes32_dyn_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_encode_tuple_packed_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value2, value1, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n let length_1 := mload(value1)\n copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n let end_2 := add(end_1, length_1)\n let length_2 := mload(value2)\n copy_memory_to_memory_with_cleanup(add(value2, 0x20), end_2, length_2)\n end := add(end_2, length_2)\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 function array_dataslot_bytes_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_bytes_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_bytes_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_bytes_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos) -> end\n { end := pos }\n function abi_encode_tuple_t_stringliteral_5eaf50de5ac7eb5958d1afe53b0b3d8c8f9de1eca637320b2e8c7f3a205ca802__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Sending funds failed\")\n tail := add(headStart, 96)\n }\n}", + "id": 30, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "82:8510:18:-:0;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "82:8510:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7050:99;;;;;;;;;;-1:-1:-1;7050:99:18;;;;;:::i;:::-;-1:-1:-1;7122:6:18;;7050:99;;;;342:25:30;;;330:2;315:18;7050:99:18;;;;;;;;4202:105;;;;;;;;;;-1:-1:-1;4280:6:18;4202:105;;7154:52;;;;;;;;;;;;;2104:108;;;;;;;;;;-1:-1:-1;2171:12:18;2104:108;;;;;;;:::i;1053:127::-;;;;;;:::i;:::-;1129:7;:32;;;;;;;;;;1164:9;1129:44;;1053:127;5229:104;;;;;;;;;;-1:-1:-1;5229:104:18;;;;;:::i;:::-;5306:6;5229:104;;;;;1424:455;;;;;;;;;;;;;:::i;2582:110::-;;;;;;;;;;-1:-1:-1;2582:110:18;;;;;:::i;:::-;;;2843:14:30;;2836:22;2818:41;;2806:2;2791:18;2582:110:18;2678:187:30;7879:125:18;;;;;;;;;;-1:-1:-1;7879:125:18;;;;;:::i;7211:95::-;;;;;;;;;;-1:-1:-1;7302:1:18;7211:95;;2867:110;;;;;;;;;;-1:-1:-1;2867:110:18;;;;;:::i;:::-;;;;;;;5064:160;;;;;;;;;;-1:-1:-1;5064:160:18;;;;;:::i;:::-;5197:6;5064:160;;;;;;;;;4312:132;;;;;;;;;;-1:-1:-1;4312:132:18;;;;;:::i;:::-;-1:-1:-1;4395:12:18;;4312:132;3989:103;;;;;;;;;;-1:-1:-1;4081:9:18;;;;;;;;;-1:-1:-1;4081:9:18;;3989:103;;6293:130;;;;;;;;;;-1:-1:-1;6293:130:18;;;;;:::i;:::-;6388:6;6293:130;;;;;;3623:146;;;;;;;;;;-1:-1:-1;3623:146:18;;;;;:::i;:::-;3728:12;3623:146;;;;;;1186:104;;;;;;;;;;-1:-1:-1;1186:104:18;;;;;:::i;:::-;;:::i;7311:160::-;;;;;;;;;;-1:-1:-1;7311:160:18;;;;;:::i;:::-;7444:6;7311:160;;;;;;;;2697:137;;;;;;;;;;;;;:::i;313:582::-;;;;;;;;;;-1:-1:-1;313:582:18;;;;;:::i;:::-;;:::i;8269:170::-;;;;;;;;;;-1:-1:-1;8269:170:18;;;;;:::i;:::-;;:::i;6050:104::-;;;;;;;;;;-1:-1:-1;6050:104:18;;;;;:::i;:::-;-1:-1:-1;6143:9:18;;;;;;;;;-1:-1:-1;6143:9:18;;;6050:104;2463:114;;;;;;;;;;-1:-1:-1;2463:114:18;;;;;:::i;:::-;;;9884:1:30;9873:21;;;;9855:40;;9843:2;9828:18;2463:114:18;9713:188:30;901:146:18;;;;;;;;;;-1:-1:-1;901:146:18;;;;;:::i;:::-;;:::i;7665:209::-;;;;;;;;;;-1:-1:-1;7665:209:18;;;;;:::i;:::-;;;;;;;;;1296:122;;;;;;;;;;-1:-1:-1;1296:122:18;;;;;:::i;:::-;;:::i;3115:72::-;;;;;;;;;;-1:-1:-1;3115:72:18;;;;;:::i;:::-;;;;2982:128;;;;;;;;;;-1:-1:-1;2982:128:18;;;;;:::i;:::-;;;;;;;;1424:455;1486:12;1510:18;:108;;;;;;;;;;;;;;;;;;;1628:18;:110;;;;;;;;;;;;;;;;;;;1748:18;:70;;;;;;;;;;;;;-1:-1:-1;;;1748:70:18;;;;;1852:5;1859;1866;1835:37;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1828:44;;;;;1424:455;:::o;1186:104::-;1259:15;;;;:7;:15;;;;;:24;1277:6;1259:15;:24;:::i;:::-;;1186:104;;:::o;2697:137::-;2764:13;2788:44;;;;;;;;;;;;;;;;;;;2697:137;:::o;313:582::-;614:6;649:32;;;;;;;;;;;;;691:36;;;;756:54;;614:6;;-1:-1:-1;;;;;756:35:18;;;649:32;;614:6;756:54;614:6;756:54;649:32;756:35;:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;737:73;;;828:7;820:40;;;;-1:-1:-1;;;820:40:18;;16610:2:30;820:40:18;;;16592:21:30;16649:2;16629:18;;;16622:30;-1:-1:-1;;;16668:18:30;;;16661:50;16728:18;;820:40:18;;;;;;;;-1:-1:-1;881:6:18;313:582;-1:-1:-1;;;;;;;;;313:582:18:o;8269:170::-;8408:24;;;;:13;:24;;;;;8401:31;;8377:12;;8408:24;8401:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8269:170;;;:::o;901:146::-;1025:15;;;;:7;:15;;;;;1018:22;;994:12;;1025:15;1018:22;;;:::i;1296:122::-;1378:24;;;;:13;:24;;;;;:33;1405:6;1378:24;:33;:::i;14:179:30:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;-1:-1:-1;164:23:30;;14:179;-1:-1:-1;14:179:30:o;378:250::-;463:1;473:113;487:6;484:1;481:13;473:113;;;563:11;;;557:18;544:11;;;537:39;509:2;502:10;473:113;;;-1:-1:-1;;620:1:30;602:16;;595:27;378:250::o;633:270::-;674:3;712:5;706:12;739:6;734:3;727:19;755:76;824:6;817:4;812:3;808:14;801:4;794:5;790:16;755:76;:::i;:::-;885:2;864:15;-1:-1:-1;;860:29:30;851:39;;;;892:4;847:50;;633:270;-1:-1:-1;;633:270:30:o;908:217::-;1055:2;1044:9;1037:21;1018:4;1075:44;1115:2;1104:9;1100:18;1092:6;1075:44;:::i;:::-;1067:52;908:217;-1:-1:-1;;;908:217:30:o;1315:347::-;1366:8;1376:6;1430:3;1423:4;1415:6;1411:17;1407:27;1397:55;;1448:1;1445;1438:12;1397:55;-1:-1:-1;1471:20:30;;-1:-1:-1;;;;;1503:30:30;;1500:50;;;1546:1;1543;1536:12;1500:50;1583:4;1575:6;1571:17;1559:29;;1635:3;1628:4;1619:6;1611;1607:19;1603:30;1600:39;1597:59;;;1652:1;1649;1642:12;1597:59;1315:347;;;;;:::o;1667:409::-;1737:6;1745;1798:2;1786:9;1777:7;1773:23;1769:32;1766:52;;;1814:1;1811;1804:12;1766:52;1841:23;;-1:-1:-1;;;;;1876:30:30;;1873:50;;;1919:1;1916;1909:12;1873:50;1958:58;2008:7;1999:6;1988:9;1984:22;1958:58;:::i;:::-;2035:8;;1932:84;;-1:-1:-1;1667:409:30;-1:-1:-1;;;;1667:409:30:o;2870:784::-;2968:6;2976;2984;2992;3000;3053:2;3041:9;3032:7;3028:23;3024:32;3021:52;;;3069:1;3066;3059:12;3021:52;3096:23;;-1:-1:-1;;;;;3168:14:30;;;3165:34;;;3195:1;3192;3185:12;3165:34;3234:58;3284:7;3275:6;3264:9;3260:22;3234:58;:::i;:::-;3311:8;;-1:-1:-1;3208:84:30;-1:-1:-1;3393:2:30;3378:18;;3365:32;;-1:-1:-1;3450:2:30;3435:18;;3422:32;;-1:-1:-1;3466:16:30;;;3463:36;;;3495:1;3492;3485:12;3463:36;;3534:60;3586:7;3575:8;3564:9;3560:24;3534:60;:::i;:::-;2870:784;;;;-1:-1:-1;2870:784:30;;-1:-1:-1;3613:8:30;;3508:86;2870:784;-1:-1:-1;;;2870:784:30:o;3659:1004::-;3769:6;3777;3785;3793;3801;3809;3862:2;3850:9;3841:7;3837:23;3833:32;3830:52;;;3878:1;3875;3868:12;3830:52;3905:23;;-1:-1:-1;;;;;3977:14:30;;;3974:34;;;4004:1;4001;3994:12;3974:34;4043:58;4093:7;4084:6;4073:9;4069:22;4043:58;:::i;:::-;4120:8;;-1:-1:-1;4017:84:30;-1:-1:-1;4208:2:30;4193:18;;4180:32;;-1:-1:-1;4224:16:30;;;4221:36;;;4253:1;4250;4243:12;4221:36;4292:60;4344:7;4333:8;4322:9;4318:24;4292:60;:::i;:::-;4371:8;;-1:-1:-1;4266:86:30;-1:-1:-1;4459:2:30;4444:18;;4431:32;;-1:-1:-1;4475:16:30;;;4472:36;;;4504:1;4501;4494:12;4472:36;;4543:60;4595:7;4584:8;4573:9;4569:24;4543:60;:::i;:::-;3659:1004;;;;-1:-1:-1;3659:1004:30;;-1:-1:-1;3659:1004:30;;4622:8;;3659:1004;-1:-1:-1;;;3659:1004:30:o;4892:477::-;4971:6;4979;4987;5040:2;5028:9;5019:7;5015:23;5011:32;5008:52;;;5056:1;5053;5046:12;5008:52;5083:23;;-1:-1:-1;;;;;5118:30:30;;5115:50;;;5161:1;5158;5151:12;5115:50;5200:58;5250:7;5241:6;5230:9;5226:22;5200:58;:::i;:::-;5277:8;;5174:84;;-1:-1:-1;5359:2:30;5344:18;;;;5331:32;;4892:477;-1:-1:-1;;;;4892:477:30:o;5374:::-;5453:6;5461;5469;5522:2;5510:9;5501:7;5497:23;5493:32;5490:52;;;5538:1;5535;5528:12;5490:52;5561:23;;;-1:-1:-1;5635:2:30;5620:18;;5607:32;-1:-1:-1;;;;;5651:30:30;;5648:50;;;5694:1;5691;5684:12;5648:50;5733:58;5783:7;5774:6;5763:9;5759:22;5733:58;:::i;:::-;5374:477;;5810:8;;-1:-1:-1;5707:84:30;;-1:-1:-1;;;;5374:477:30:o;5856:127::-;5917:10;5912:3;5908:20;5905:1;5898:31;5948:4;5945:1;5938:15;5972:4;5969:1;5962:15;5988:718;6030:5;6083:3;6076:4;6068:6;6064:17;6060:27;6050:55;;6101:1;6098;6091:12;6050:55;6124:20;;-1:-1:-1;;;;;6193:10:30;;;6190:36;;;6206:18;;:::i;:::-;6281:2;6275:9;6249:2;6335:13;;-1:-1:-1;;6331:22:30;;;6355:2;6327:31;6323:40;6311:53;;;6379:18;;;6399:22;;;6376:46;6373:72;;;6425:18;;:::i;:::-;6465:10;6461:2;6454:22;6500:2;6492:6;6485:18;6546:3;6539:4;6534:2;6526:6;6522:15;6518:26;6515:35;6512:55;;;6563:1;6560;6553:12;6512:55;6627:2;6620:4;6612:6;6608:17;6601:4;6593:6;6589:17;6576:54;6674:1;6667:4;6662:2;6654:6;6650:15;6646:26;6639:37;6694:6;6685:15;;;;;;5988:718;;;;:::o;6711:388::-;6788:6;6796;6849:2;6837:9;6828:7;6824:23;6820:32;6817:52;;;6865:1;6862;6855:12;6817:52;6888:23;;;-1:-1:-1;6962:2:30;6947:18;;6934:32;-1:-1:-1;;;;;6978:30:30;;6975:50;;;7021:1;7018;7011:12;6975:50;7044:49;7085:7;7076:6;7065:9;7061:22;7044:49;:::i;:::-;7034:59;;;6711:388;;;;;:::o;7104:367::-;7167:8;7177:6;7231:3;7224:4;7216:6;7212:17;7208:27;7198:55;;7249:1;7246;7239:12;7198:55;-1:-1:-1;7272:20:30;;-1:-1:-1;;;;;7304:30:30;;7301:50;;;7347:1;7344;7337:12;7301:50;7384:4;7376:6;7372:17;7360:29;;7444:3;7437:4;7427:6;7424:1;7420:14;7412:6;7408:27;7404:38;7401:47;7398:67;;;7461:1;7458;7451:12;7476:642;7589:6;7597;7605;7613;7621;7674:3;7662:9;7653:7;7649:23;7645:33;7642:53;;;7691:1;7688;7681:12;7642:53;7714:23;;;-1:-1:-1;7784:2:30;7769:18;;7756:32;;-1:-1:-1;7835:2:30;7820:18;;7807:32;;-1:-1:-1;7890:2:30;7875:18;;7862:32;-1:-1:-1;;;;;7906:30:30;;7903:50;;;7949:1;7946;7939:12;7903:50;7988:70;8050:7;8041:6;8030:9;8026:22;7988:70;:::i;8123:181::-;8199:20;;-1:-1:-1;;;;;8248:31:30;;8238:42;;8228:70;;8294:1;8291;8284:12;8228:70;8123:181;;;:::o;8309:160::-;8374:20;;8430:13;;8423:21;8413:32;;8403:60;;8459:1;8456;8449:12;8474:1234;8637:6;8645;8653;8661;8669;8677;8685;8693;8746:3;8734:9;8725:7;8721:23;8717:33;8714:53;;;8763:1;8760;8753:12;8714:53;8790:23;;-1:-1:-1;;;;;8862:14:30;;;8859:34;;;8889:1;8886;8879:12;8859:34;8912:49;8953:7;8944:6;8933:9;8929:22;8912:49;:::i;:::-;8902:59;;9008:2;8997:9;8993:18;8980:32;8970:42;;9065:2;9054:9;9050:18;9037:32;9021:48;;9094:2;9084:8;9081:16;9078:36;;;9110:1;9107;9100:12;9078:36;9133:51;9176:7;9165:8;9154:9;9150:24;9133:51;:::i;:::-;9123:61;;9231:2;9220:9;9216:18;9203:32;9193:42;;9288:3;9277:9;9273:19;9260:33;9244:49;;9318:2;9308:8;9305:16;9302:36;;;9334:1;9331;9324:12;9302:36;9357:51;9400:7;9389:8;9378:9;9374:24;9357:51;:::i;:::-;9347:61;;9427:47;9469:3;9458:9;9454:19;9427:47;:::i;:::-;9417:57;;9527:3;9516:9;9512:19;9499:33;9483:49;;9557:2;9547:8;9544:16;9541:36;;;9573:1;9570;9563:12;9541:36;;9596:51;9639:7;9628:8;9617:9;9613:24;9596:51;:::i;:::-;9586:61;;;9666:36;9697:3;9686:9;9682:19;9666:36;:::i;:::-;9656:46;;8474:1234;;;;;;;;;;;:::o;10091:923::-;10208:6;10216;10224;10232;10240;10248;10256;10309:3;10297:9;10288:7;10284:23;10280:33;10277:53;;;10326:1;10323;10316:12;10277:53;10353:23;;-1:-1:-1;;;;;10425:14:30;;;10422:34;;;10452:1;10449;10442:12;10422:34;10491:58;10541:7;10532:6;10521:9;10517:22;10491:58;:::i;:::-;10568:8;;-1:-1:-1;10465:84:30;-1:-1:-1;10650:2:30;10635:18;;10622:32;;-1:-1:-1;10707:2:30;10692:18;;10679:32;;-1:-1:-1;10723:16:30;;;10720:36;;;10752:1;10749;10742:12;10720:36;;10791:60;10843:7;10832:8;10821:9;10817:24;10791:60;:::i;:::-;10091:923;;;;-1:-1:-1;10091:923:30;;10870:8;;10765:86;10952:2;10937:18;;10924:32;;11003:3;10988:19;10975:33;;-1:-1:-1;10091:923:30;-1:-1:-1;;;;10091:923:30:o;11412:448::-;11509:6;11517;11570:2;11558:9;11549:7;11545:23;11541:32;11538:52;;;11586:1;11583;11576:12;11538:52;11613:23;;-1:-1:-1;;;;;11648:30:30;;11645:50;;;11691:1;11688;11681:12;11645:50;11730:70;11792:7;11783:6;11772:9;11768:22;11730:70;:::i;11865:1043::-;12002:6;12010;12018;12026;12034;12042;12095:2;12083:9;12074:7;12070:23;12066:32;12063:52;;;12111:1;12108;12101:12;12063:52;12138:23;;-1:-1:-1;;;;;12210:14:30;;;12207:34;;;12237:1;12234;12227:12;12207:34;12276:58;12326:7;12317:6;12306:9;12302:22;12276:58;:::i;:::-;12353:8;;-1:-1:-1;12250:84:30;-1:-1:-1;12441:2:30;12426:18;;12413:32;;-1:-1:-1;12457:16:30;;;12454:36;;;12486:1;12483;12476:12;12454:36;12525:72;12589:7;12578:8;12567:9;12563:24;12525:72;:::i;12913:697::-;13134:3;13172:6;13166:13;13188:66;13247:6;13242:3;13235:4;13227:6;13223:17;13188:66;:::i;:::-;13317:13;;13276:16;;;;13339:70;13317:13;13276:16;13386:4;13374:17;;13339:70;:::i;:::-;13476:13;;13431:20;;;13498:70;13476:13;13431:20;13545:4;13533:17;;13498:70;:::i;:::-;13584:20;;12913:697;-1:-1:-1;;;;;12913:697:30:o;13615:380::-;13694:1;13690:12;;;;13737;;;13758:61;;13812:4;13804:6;13800:17;13790:27;;13758:61;13865:2;13857:6;13854:14;13834:18;13831:38;13828:161;;13911:10;13906:3;13902:20;13899:1;13892:31;13946:4;13943:1;13936:15;13974:4;13971:1;13964:15;13828:161;;13615:380;;;:::o;14125:544::-;14226:2;14221:3;14218:11;14215:448;;;14262:1;14287:5;14283:2;14276:17;14332:4;14328:2;14318:19;14402:2;14390:10;14386:19;14383:1;14379:27;14373:4;14369:38;14438:4;14426:10;14423:20;14420:47;;;-1:-1:-1;14461:4:30;14420:47;14516:2;14511:3;14507:12;14504:1;14500:20;14494:4;14490:31;14480:41;;14571:82;14589:2;14582:5;14579:13;14571:82;;;14634:17;;;14615:1;14604:13;14571:82;;14845:1348;14963:10;;-1:-1:-1;;;;;14985:30:30;;14982:56;;;15018:18;;:::i;:::-;15047:96;15136:6;15096:38;15128:4;15122:11;15096:38;:::i;:::-;15090:4;15047:96;:::i;:::-;15198:4;;15262:2;15251:14;;15279:1;15274:662;;;;15980:1;15997:6;15994:89;;;-1:-1:-1;16049:19:30;;;16043:26;15994:89;-1:-1:-1;;14802:1:30;14798:11;;;14794:24;14790:29;14780:40;14826:1;14822:11;;;14777:57;16096:81;;15244:943;;15274:662;14072:1;14065:14;;;14109:4;14096:18;;-1:-1:-1;;15310:20:30;;;15427:236;15441:7;15438:1;15435:14;15427:236;;;15530:19;;;15524:26;15509:42;;15622:27;;;;15590:1;15578:14;;;;15457:19;;15427:236;;;15431:3;15691:6;15682:7;15679:19;15676:201;;;15752:19;;;15746:26;-1:-1:-1;;15835:1:30;15831:14;;;15847:3;15827:24;15823:37;15819:42;15804:58;15789:74;;15676:201;-1:-1:-1;;;;;15923:1:30;15907:14;;;15903:22;15890:36;;-1:-1:-1;14845:1348:30:o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.18;\n\nimport \"./Bridge.sol\";\n\ncontract BridgeMock is Bridge {\n\n mapping(bytes32 => uint256) private amounts;\n mapping(uint256 => bytes) private headers;\n mapping (bytes32 => bytes) private headersByHash;\n\n receive() external payable override {}\n function registerFastBridgeBtcTransaction(\n bytes memory , \n uint256 , \n bytes memory, \n bytes32 derivationArgumentsHash, \n bytes memory, \n address payable liquidityBridgeContractAddress,\n bytes memory , \n bool \n ) external override returns (int256) {\n uint256 amount = amounts[derivationArgumentsHash];\n amounts[derivationArgumentsHash] = 0;\n (bool success, ) = liquidityBridgeContractAddress.call{value: amount}(\"\");\n require(success, \"Sending funds failed\");\n return int(amount);\n }\n\n function getBtcBlockchainBlockHeaderByHeight(uint256 height) external view override returns (bytes memory) {\n return headers[height];\n }\n\n function setPegin(bytes32 derivationArgumentsHash) public payable {\n amounts[derivationArgumentsHash] = msg.value;\n }\n\n function setHeader(uint256 height, bytes memory header) public {\n headers[height] = header;\n }\n\n function setHeaderByHash(bytes32 blockHash, bytes memory header) public {\n headersByHash[blockHash] = header;\n }\n\n function getActivePowpegRedeemScript() external pure returns (bytes memory) {\n bytes memory part1 = hex\"522102cd53fc53a07f211641a677d250f6de99caf620e8e77071e811a28b3bcddf0be1210362634ab5\";\n bytes memory part2 = hex\"7dae9cb373a5d536e66a8c4f67468bbcfb063809bab643072d78a1242103c5946b3fbae03a654237da86\";\n bytes memory part3 = hex\"3c9ed534e0878657175b132b8ca630f245df04db53ae\";\n return abi.encodePacked(part1, part2, part3);\n }\n\n function getBtcBlockchainBestChainHeight ( ) external pure override returns (int) {return 0;}\n function getStateForBtcReleaseClient ( ) external pure override returns (bytes memory) {bytes memory b; return b;}\n function getStateForDebugging ( ) external pure override returns (bytes memory) {bytes memory b; return b;}\n function getBtcBlockchainInitialBlockHeight ( ) external pure override returns (int) {return int(0);}\n function getBtcBlockchainBlockHashAtDepth ( int256 ) external pure override returns\n (bytes memory) {bytes memory b; return b;}\n function getBtcTxHashProcessedHeight ( string calldata ) external pure override returns (int64) {return int64(0);}\n function isBtcTxHashAlreadyProcessed ( string calldata ) external pure override returns (bool) {return false;}\n function getFederationAddress ( ) external pure override returns (string memory)\n {return \"2N5muMepJizJE1gR7FbHJU6CD18V3BpNF9p\";} // regtest genesis fed addr\n function registerBtcTransaction ( bytes calldata atx, int256 height, bytes calldata pmt ) external override {}\n function addSignature ( bytes calldata pubkey, bytes[] calldata signatures, bytes calldata txhash )\n external override {}\n function receiveHeaders ( bytes[] calldata blocks ) external override {}\n function receiveHeader ( bytes calldata ) external pure override returns (int256) {return int256(0);}\n function getFederationSize ( ) external pure override returns (int256) {return int256(0);}\n function getFederationThreshold ( ) external pure override returns (int256) {return int256(0);}\n function getFederatorPublicKey ( int256 ) external pure override returns (bytes memory)\n {bytes memory b; return b;}\n function getFederatorPublicKeyOfType ( int256, string calldata ) external pure\n override returns (bytes memory) {bytes memory b; return b;}\n function getFederationCreationTime ( ) external pure override returns (int256) {return int256(0);}\n function getFederationCreationBlockNumber ( ) external pure override returns (int256) {return int256(0);}\n function getRetiringFederationAddress ( ) external pure override returns (string memory) {return \"\";}\n function getRetiringFederationSize ( ) external override pure returns (int256) {return int256(0);}\n function getRetiringFederationThreshold ( ) external override pure returns (int256) {return int256(0);}\n function getRetiringFederatorPublicKey ( int256 ) external override pure returns (bytes memory)\n {bytes memory b; return b;}\n function getRetiringFederatorPublicKeyOfType ( int256,string calldata ) external pure override\n returns (bytes memory) {bytes memory b; return b;}\n function getRetiringFederationCreationTime ( ) external pure override returns (int256) {return int256(0);}\n function getRetiringFederationCreationBlockNumber ( ) external override pure returns\n (int256) {return int256(0);}\n function createFederation ( ) external pure override returns (int256) {return int256(0);}\n function addFederatorPublicKey ( bytes calldata ) external pure override returns (int256)\n {return int256(0);}\n function addFederatorPublicKeyMultikey ( bytes calldata , bytes calldata , bytes calldata )\n external pure override returns (int256) {return int256(0);}\n function commitFederation ( bytes calldata ) external pure override returns (int256) {return int256(0);}\n function rollbackFederation ( ) external pure override returns (int256) {return int256(0);}\n function getPendingFederationHash ( ) external pure override returns (bytes memory) {bytes memory b; return b;}\n function getPendingFederationSize ( ) external pure override returns (int256) {return int256(0);}\n function getPendingFederatorPublicKey ( int256 ) external pure override returns (bytes memory)\n {bytes memory b; return b;}\n function getPendingFederatorPublicKeyOfType ( int256 , string calldata ) external pure override\n returns (bytes memory) {bytes memory b; return b;}\n function getLockWhitelistSize ( ) external pure override returns (int256) {return int256(0);}\n function getLockWhitelistAddress ( int256 ) external pure override returns (string memory) {return \"\";}\n function getLockWhitelistEntryByAddress ( string calldata ) external pure override returns (int256)\n {return int256(0);}\n function addLockWhitelistAddress ( string calldata , int256 ) external pure override returns (int256)\n {return int256(0);}\n function addOneOffLockWhitelistAddress ( string calldata , int256 ) external pure override returns\n (int256) {return int256(0);}\n function addUnlimitedLockWhitelistAddress ( string calldata ) external pure override returns (int256)\n {return int256(0);}\n function removeLockWhitelistAddress ( string calldata ) external pure override returns (int256)\n {return int256(0);}\n function setLockWhitelistDisableBlockDelay ( int256 ) external pure override returns (int256)\n {return int256(0);}\n function getFeePerKb ( ) external pure override returns (int256) {return int256(0);}\n function voteFeePerKbChange ( int256 ) external pure override returns (int256) {return int256(0);}\n function updateCollections ( ) external override {}\n function getMinimumLockTxValue ( ) external pure override returns (int256) {return int256(2);}\n function getBtcTransactionConfirmations ( bytes32 , bytes32, uint256 , bytes32[] calldata )\n external pure override returns (int256) {return int256(0);}\n function getLockingCap ( ) external pure override returns (int256) {return int256(0);}\n function increaseLockingCap ( int256 ) external pure override returns (bool) {return false;}\n function registerBtcCoinbaseTransaction ( bytes calldata btcTxSerialized, bytes32 blockHash, bytes\n calldata pmtSerialized, bytes32 witnessMerkleRoot, bytes32 witnessReservedValue ) external override {}\n function hasBtcBlockCoinbaseTransactionInformation ( bytes32 ) external pure override returns\n (bool) {return false;}\n function getActiveFederationCreationBlockHeight ( ) external pure override returns (uint256)\n {return uint256(0);}\n function getBtcBlockchainBestBlockHeader ( ) external pure override returns (bytes memory)\n {bytes memory b; return b;}\n\n function getBtcBlockchainBlockHeaderByHash(\n bytes32 blockHash\n ) external view override returns (bytes memory) {\n return headersByHash[blockHash];\n }\n\n function getBtcBlockchainParentBlockHeaderByHash ( bytes32) external pure override returns\n (bytes memory) {bytes memory b; return b;}\n \n}\n", + "sourcePath": "/Users/luischavez/iov/liquidity-bridge-contract/contracts/BridgeMock.sol", + "ast": { + "absolutePath": "project:/contracts/BridgeMock.sol", + "exportedSymbols": { + "Bridge": [ + 3208 + ], + "BridgeMock": [ + 4066 + ] + }, + "id": 4067, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3210, + "literals": [ + "solidity", + "^", + "0.8", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "32:24:18" + }, + { + "absolutePath": "project:/contracts/Bridge.sol", + "file": "./Bridge.sol", + "id": 3211, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 4067, + "sourceUnit": 3209, + "src": "58:22:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 3212, + "name": "Bridge", + "nameLocations": [ + "105:6:18" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3208, + "src": "105:6:18" + }, + "id": 3213, + "nodeType": "InheritanceSpecifier", + "src": "105:6:18" + } + ], + "canonicalName": "BridgeMock", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 4066, + "linearizedBaseContracts": [ + 4066, + 3208 + ], + "name": "BridgeMock", + "nameLocation": "91:10:18", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3217, + "mutability": "mutable", + "name": "amounts", + "nameLocation": "155:7:18", + "nodeType": "VariableDeclaration", + "scope": 4066, + "src": "119:43:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 3216, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 3214, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "127:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "119:27:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 3215, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "138:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 3221, + "mutability": "mutable", + "name": "headers", + "nameLocation": "202:7:18", + "nodeType": "VariableDeclaration", + "scope": 4066, + "src": "168:41:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", + "typeString": "mapping(uint256 => bytes)" + }, + "typeName": { + "id": 3220, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 3218, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "176:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "168:25:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", + "typeString": "mapping(uint256 => bytes)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 3219, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "187:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 3225, + "mutability": "mutable", + "name": "headersByHash", + "nameLocation": "250:13:18", + "nodeType": "VariableDeclaration", + "scope": 4066, + "src": "215:48:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$", + "typeString": "mapping(bytes32 => bytes)" + }, + "typeName": { + "id": 3224, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 3222, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "224:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "215:26:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$", + "typeString": "mapping(bytes32 => bytes)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 3223, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "235:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "visibility": "private" + }, + { + "baseFunctions": [ + 2810 + ], + "body": { + "id": 3229, + "nodeType": "Block", + "src": "306:2:18", + "statements": [] + }, + "id": 3230, + "implemented": true, + "kind": "receive", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3227, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "297:8:18" + }, + "parameters": { + "id": 3226, + "nodeType": "ParameterList", + "parameters": [], + "src": "277:2:18" + }, + "returnParameters": { + "id": 3228, + "nodeType": "ParameterList", + "parameters": [], + "src": "306:0:18" + }, + "scope": 4066, + "src": "270:38:18", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3171 + ], + "body": { + "id": 3283, + "nodeType": "Block", + "src": "622:273:18", + "statements": [ + { + "assignments": [ + 3253 + ], + "declarations": [ + { + "constant": false, + "id": 3253, + "mutability": "mutable", + "name": "amount", + "nameLocation": "640:6:18", + "nodeType": "VariableDeclaration", + "scope": 3283, + "src": "632:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3252, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "632:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3257, + "initialValue": { + "baseExpression": { + "id": 3254, + "name": "amounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3217, + "src": "649:7:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 3256, + "indexExpression": { + "id": 3255, + "name": "derivationArgumentsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3238, + "src": "657:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "649:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "632:49:18" + }, + { + "expression": { + "id": 3262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3258, + "name": "amounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3217, + "src": "691:7:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 3260, + "indexExpression": { + "id": 3259, + "name": "derivationArgumentsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3238, + "src": "699:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "691:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 3261, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "726:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "691:36:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3263, + "nodeType": "ExpressionStatement", + "src": "691:36:18" + }, + { + "assignments": [ + 3265, + null + ], + "declarations": [ + { + "constant": false, + "id": 3265, + "mutability": "mutable", + "name": "success", + "nameLocation": "743:7:18", + "nodeType": "VariableDeclaration", + "scope": 3283, + "src": "738:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3264, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "738:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 3272, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 3270, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "807:2:18", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "id": 3266, + "name": "liquidityBridgeContractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3242, + "src": "756:30:18", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 3267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "787:4:18", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "756:35:18", + "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": 3269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 3268, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3253, + "src": "799:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "756:50:18", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 3271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "756:54:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "737:73:18" + }, + { + "expression": { + "arguments": [ + { + "id": 3274, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3265, + "src": "828:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "53656e64696e672066756e6473206661696c6564", + "id": 3275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "837:22:18", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5eaf50de5ac7eb5958d1afe53b0b3d8c8f9de1eca637320b2e8c7f3a205ca802", + "typeString": "literal_string \"Sending funds failed\"" + }, + "value": "Sending funds failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5eaf50de5ac7eb5958d1afe53b0b3d8c8f9de1eca637320b2e8c7f3a205ca802", + "typeString": "literal_string \"Sending funds failed\"" + } + ], + "id": 3273, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "820:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "820:40:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3277, + "nodeType": "ExpressionStatement", + "src": "820:40:18" + }, + { + "expression": { + "arguments": [ + { + "id": 3280, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3253, + "src": "881:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "877:3:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3278, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "877:3:18", + "typeDescriptions": {} + } + }, + "id": 3281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "877:11:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3251, + "id": 3282, + "nodeType": "Return", + "src": "870:18:18" + } + ] + }, + "functionSelector": "6adc0133", + "id": 3284, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "registerFastBridgeBtcTransaction", + "nameLocation": "322:32:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3248, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "596:8:18" + }, + "parameters": { + "id": 3247, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3232, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3284, + "src": "364:12:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3231, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "364:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3234, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3284, + "src": "388:7:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3233, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "388:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3236, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3284, + "src": "407:12:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3235, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "407:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3238, + "mutability": "mutable", + "name": "derivationArgumentsHash", + "nameLocation": "438:23:18", + "nodeType": "VariableDeclaration", + "scope": 3284, + "src": "430:31:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3237, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "430:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3240, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3284, + "src": "472:12:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3239, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "472:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3242, + "mutability": "mutable", + "name": "liquidityBridgeContractAddress", + "nameLocation": "511:30:18", + "nodeType": "VariableDeclaration", + "scope": 3284, + "src": "495:46:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 3241, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "495:15:18", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3244, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3284, + "src": "551:12:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3243, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "551:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3246, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3284, + "src": "575:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3245, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "575:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "354:232:18" + }, + "returnParameters": { + "id": 3251, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3250, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3284, + "src": "614:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3249, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "614:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "613:8:18" + }, + "scope": 4066, + "src": "313:582:18", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3200 + ], + "body": { + "id": 3296, + "nodeType": "Block", + "src": "1008:39:18", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 3292, + "name": "headers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3221, + "src": "1025:7:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", + "typeString": "mapping(uint256 => bytes storage ref)" + } + }, + "id": 3294, + "indexExpression": { + "id": 3293, + "name": "height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3286, + "src": "1033:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1025:15:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "functionReturnParameters": 3291, + "id": 3295, + "nodeType": "Return", + "src": "1018:22:18" + } + ] + }, + "functionSelector": "bd0c1fff", + "id": 3297, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBtcBlockchainBlockHeaderByHeight", + "nameLocation": "910:35:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3288, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "976:8:18" + }, + "parameters": { + "id": 3287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3286, + "mutability": "mutable", + "name": "height", + "nameLocation": "954:6:18", + "nodeType": "VariableDeclaration", + "scope": 3297, + "src": "946:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3285, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "946:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "945:16:18" + }, + "returnParameters": { + "id": 3291, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3290, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3297, + "src": "994:12:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3289, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "994:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "993:14:18" + }, + "scope": 4066, + "src": "901:146:18", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3309, + "nodeType": "Block", + "src": "1119:61:18", + "statements": [ + { + "expression": { + "id": 3307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3302, + "name": "amounts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3217, + "src": "1129:7:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 3304, + "indexExpression": { + "id": 3303, + "name": "derivationArgumentsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3299, + "src": "1137:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1129:32:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 3305, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1164:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1168:5:18", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "1164:9:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1129:44:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3308, + "nodeType": "ExpressionStatement", + "src": "1129:44:18" + } + ] + }, + "functionSelector": "10d86efd", + "id": 3310, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setPegin", + "nameLocation": "1062:8:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3300, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3299, + "mutability": "mutable", + "name": "derivationArgumentsHash", + "nameLocation": "1079:23:18", + "nodeType": "VariableDeclaration", + "scope": 3310, + "src": "1071:31:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3298, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1071:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1070:33:18" + }, + "returnParameters": { + "id": 3301, + "nodeType": "ParameterList", + "parameters": [], + "src": "1119:0:18" + }, + "scope": 4066, + "src": "1053:127:18", + "stateMutability": "payable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3323, + "nodeType": "Block", + "src": "1249:41:18", + "statements": [ + { + "expression": { + "id": 3321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3317, + "name": "headers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3221, + "src": "1259:7:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes_storage_$", + "typeString": "mapping(uint256 => bytes storage ref)" + } + }, + "id": 3319, + "indexExpression": { + "id": 3318, + "name": "height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3312, + "src": "1267:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1259:15:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3320, + "name": "header", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3314, + "src": "1277:6:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "src": "1259:24:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 3322, + "nodeType": "ExpressionStatement", + "src": "1259:24:18" + } + ] + }, + "functionSelector": "572de37b", + "id": 3324, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setHeader", + "nameLocation": "1195:9:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3315, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3312, + "mutability": "mutable", + "name": "height", + "nameLocation": "1213:6:18", + "nodeType": "VariableDeclaration", + "scope": 3324, + "src": "1205:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3311, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1205:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3314, + "mutability": "mutable", + "name": "header", + "nameLocation": "1234:6:18", + "nodeType": "VariableDeclaration", + "scope": 3324, + "src": "1221:19:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3313, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1221:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1204:37:18" + }, + "returnParameters": { + "id": 3316, + "nodeType": "ParameterList", + "parameters": [], + "src": "1249:0:18" + }, + "scope": 4066, + "src": "1186:104:18", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3337, + "nodeType": "Block", + "src": "1368:50:18", + "statements": [ + { + "expression": { + "id": 3335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3331, + "name": "headersByHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3225, + "src": "1378:13:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$", + "typeString": "mapping(bytes32 => bytes storage ref)" + } + }, + "id": 3333, + "indexExpression": { + "id": 3332, + "name": "blockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3326, + "src": "1392:9:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1378:24:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3334, + "name": "header", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3328, + "src": "1405:6:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "src": "1378:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 3336, + "nodeType": "ExpressionStatement", + "src": "1378:33:18" + } + ] + }, + "functionSelector": "d5949890", + "id": 3338, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setHeaderByHash", + "nameLocation": "1305:15:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3329, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3326, + "mutability": "mutable", + "name": "blockHash", + "nameLocation": "1329:9:18", + "nodeType": "VariableDeclaration", + "scope": 3338, + "src": "1321:17:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3325, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1321:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3328, + "mutability": "mutable", + "name": "header", + "nameLocation": "1353:6:18", + "nodeType": "VariableDeclaration", + "scope": 3338, + "src": "1340:19:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3327, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1340:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1320:40:18" + }, + "returnParameters": { + "id": 3330, + "nodeType": "ParameterList", + "parameters": [], + "src": "1368:0:18" + }, + "scope": 4066, + "src": "1296:122:18", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 3181 + ], + "body": { + "id": 3362, + "nodeType": "Block", + "src": "1500:379:18", + "statements": [ + { + "assignments": [ + 3344 + ], + "declarations": [ + { + "constant": false, + "id": 3344, + "mutability": "mutable", + "name": "part1", + "nameLocation": "1523:5:18", + "nodeType": "VariableDeclaration", + "scope": 3362, + "src": "1510:18:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3343, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1510:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3346, + "initialValue": { + "hexValue": "522102cd53fc53a07f211641a677d250f6de99caf620e8e77071e811a28b3bcddf0be1210362634ab5", + "id": 3345, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "hexString", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1531:87:18", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3886b40ee96a811f8e0b541a5c4fe316785e82e5cededc8b92a87ebb5f9f0107", + "typeString": "literal_string hex\"522102cd53fc53a07f211641a677d250f6de99caf620e8e77071e811a28b3bcddf0be1210362634ab5\"" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1510:108:18" + }, + { + "assignments": [ + 3348 + ], + "declarations": [ + { + "constant": false, + "id": 3348, + "mutability": "mutable", + "name": "part2", + "nameLocation": "1641:5:18", + "nodeType": "VariableDeclaration", + "scope": 3362, + "src": "1628:18:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3347, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1628:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3350, + "initialValue": { + "hexValue": "7dae9cb373a5d536e66a8c4f67468bbcfb063809bab643072d78a1242103c5946b3fbae03a654237da86", + "id": 3349, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "hexString", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1649:89:18", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_87249d82f0ae648d50c50de70a8cbbcc16f0309a57d2dc34e63658fe61a05df0", + "typeString": "literal_string hex\"7dae9cb373a5d536e66a8c4f67468bbcfb063809bab643072d78a1242103c5946b3fbae03a654237da86\"" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1628:110:18" + }, + { + "assignments": [ + 3352 + ], + "declarations": [ + { + "constant": false, + "id": 3352, + "mutability": "mutable", + "name": "part3", + "nameLocation": "1761:5:18", + "nodeType": "VariableDeclaration", + "scope": 3362, + "src": "1748:18:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3351, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1748:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3354, + "initialValue": { + "hexValue": "3c9ed534e0878657175b132b8ca630f245df04db53ae", + "id": 3353, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "hexString", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1769:49:18", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c99d210d13c65053e789718d5e9bd5a9d0d6f747fe09e1aa7ccf65bc101aa795", + "typeString": "literal_string hex\"3c9ed534e0878657175b132b8ca630f245df04db53ae\"" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1748:70:18" + }, + { + "expression": { + "arguments": [ + { + "id": 3357, + "name": "part1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3344, + "src": "1852:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 3358, + "name": "part2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "1859:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 3359, + "name": "part3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3352, + "src": "1866:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 3355, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "1835:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1839:12:18", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "1835:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 3360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1835:37:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3342, + "id": 3361, + "nodeType": "Return", + "src": "1828:44:18" + } + ] + }, + "functionSelector": "1d73d5dd", + "id": 3363, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getActivePowpegRedeemScript", + "nameLocation": "1433:27:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3339, + "nodeType": "ParameterList", + "parameters": [], + "src": "1460:2:18" + }, + "returnParameters": { + "id": 3342, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3341, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3363, + "src": "1486:12:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3340, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1486:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1485:14:18" + }, + "scope": 4066, + "src": "1424:455:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2815 + ], + "body": { + "id": 3371, + "nodeType": "Block", + "src": "1968:11:18", + "statements": [ + { + "expression": { + "hexValue": "30", + "id": 3369, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1976:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 3368, + "id": 3370, + "nodeType": "Return", + "src": "1969:8:18" + } + ] + }, + "functionSelector": "14c89c01", + "id": 3372, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBtcBlockchainBestChainHeight", + "nameLocation": "1894:31:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3365, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1945:8:18" + }, + "parameters": { + "id": 3364, + "nodeType": "ParameterList", + "parameters": [], + "src": "1926:4:18" + }, + "returnParameters": { + "id": 3368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3367, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "1963:3:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3366, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "1963:3:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "1962:5:18" + }, + "scope": 4066, + "src": "1885:94:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2820 + ], + "body": { + "id": 3383, + "nodeType": "Block", + "src": "2072:27:18", + "statements": [ + { + "assignments": [ + 3379 + ], + "declarations": [ + { + "constant": false, + "id": 3379, + "mutability": "mutable", + "name": "b", + "nameLocation": "2086:1:18", + "nodeType": "VariableDeclaration", + "scope": 3383, + "src": "2073:14:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3378, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2073:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3380, + "nodeType": "VariableDeclarationStatement", + "src": "2073:14:18" + }, + { + "expression": { + "id": 3381, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3379, + "src": "2096:1:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3377, + "id": 3382, + "nodeType": "Return", + "src": "2089:8:18" + } + ] + }, + "functionSelector": "c4fbca20", + "id": 3384, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getStateForBtcReleaseClient", + "nameLocation": "1993:27:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3374, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2040:8:18" + }, + "parameters": { + "id": 3373, + "nodeType": "ParameterList", + "parameters": [], + "src": "2021:4:18" + }, + "returnParameters": { + "id": 3377, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3376, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3384, + "src": "2058:12:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3375, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2058:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2057:14:18" + }, + "scope": 4066, + "src": "1984:115:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2825 + ], + "body": { + "id": 3395, + "nodeType": "Block", + "src": "2185:27:18", + "statements": [ + { + "assignments": [ + 3391 + ], + "declarations": [ + { + "constant": false, + "id": 3391, + "mutability": "mutable", + "name": "b", + "nameLocation": "2199:1:18", + "nodeType": "VariableDeclaration", + "scope": 3395, + "src": "2186:14:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3390, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2186:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3392, + "nodeType": "VariableDeclarationStatement", + "src": "2186:14:18" + }, + { + "expression": { + "id": 3393, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3391, + "src": "2209:1:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3389, + "id": 3394, + "nodeType": "Return", + "src": "2202:8:18" + } + ] + }, + "functionSelector": "0d0cee93", + "id": 3396, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getStateForDebugging", + "nameLocation": "2113:20:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3386, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2153:8:18" + }, + "parameters": { + "id": 3385, + "nodeType": "ParameterList", + "parameters": [], + "src": "2134:4:18" + }, + "returnParameters": { + "id": 3389, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3388, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3396, + "src": "2171:12:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3387, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2171:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2170:14:18" + }, + "scope": 4066, + "src": "2104:108:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2830 + ], + "body": { + "id": 3407, + "nodeType": "Block", + "src": "2303:16:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2315:1:18", + "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": 3403, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2311:3:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3402, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "2311:3:18", + "typeDescriptions": {} + } + }, + "id": 3405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2311:6:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3401, + "id": 3406, + "nodeType": "Return", + "src": "2304:13:18" + } + ] + }, + "functionSelector": "4897193f", + "id": 3408, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBtcBlockchainInitialBlockHeight", + "nameLocation": "2226:34:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3398, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2280:8:18" + }, + "parameters": { + "id": 3397, + "nodeType": "ParameterList", + "parameters": [], + "src": "2261:4:18" + }, + "returnParameters": { + "id": 3401, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3400, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3408, + "src": "2298:3:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3399, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "2298:3:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "2297:5:18" + }, + "scope": 4066, + "src": "2217:102:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2837 + ], + "body": { + "id": 3421, + "nodeType": "Block", + "src": "2431:27:18", + "statements": [ + { + "assignments": [ + 3417 + ], + "declarations": [ + { + "constant": false, + "id": 3417, + "mutability": "mutable", + "name": "b", + "nameLocation": "2445:1:18", + "nodeType": "VariableDeclaration", + "scope": 3421, + "src": "2432:14:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3416, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2432:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3418, + "nodeType": "VariableDeclarationStatement", + "src": "2432:14:18" + }, + { + "expression": { + "id": 3419, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3417, + "src": "2455:1:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3415, + "id": 3420, + "nodeType": "Return", + "src": "2448:8:18" + } + ] + }, + "functionSelector": "efd44418", + "id": 3422, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBtcBlockchainBlockHashAtDepth", + "nameLocation": "2333:32:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3412, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2391:8:18" + }, + "parameters": { + "id": 3411, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3410, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3422, + "src": "2368:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3409, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2368:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "2366:10:18" + }, + "returnParameters": { + "id": 3415, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3414, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3422, + "src": "2417:12:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3413, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2417:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2416:14:18" + }, + "scope": 4066, + "src": "2324:134:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2844 + ], + "body": { + "id": 3435, + "nodeType": "Block", + "src": "2559:18:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2573:1:18", + "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": 3431, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2567:5:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int64_$", + "typeString": "type(int64)" + }, + "typeName": { + "id": 3430, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "2567:5:18", + "typeDescriptions": {} + } + }, + "id": 3433, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2567:8:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "functionReturnParameters": 3429, + "id": 3434, + "nodeType": "Return", + "src": "2560:15:18" + } + ] + }, + "functionSelector": "97fcca7d", + "id": 3436, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBtcTxHashProcessedHeight", + "nameLocation": "2472:27:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3426, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2534:8:18" + }, + "parameters": { + "id": 3425, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3424, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3436, + "src": "2502:15:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3423, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2502:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2500:19:18" + }, + "returnParameters": { + "id": 3429, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3428, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3436, + "src": "2552:5:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 3427, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "2552:5:18", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "src": "2551:7:18" + }, + "scope": 4066, + "src": "2463:114:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2851 + ], + "body": { + "id": 3446, + "nodeType": "Block", + "src": "2677:15:18", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 3444, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2685:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 3443, + "id": 3445, + "nodeType": "Return", + "src": "2678:12:18" + } + ] + }, + "functionSelector": "248a982d", + "id": 3447, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isBtcTxHashAlreadyProcessed", + "nameLocation": "2591:27:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3440, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2653:8:18" + }, + "parameters": { + "id": 3439, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3438, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3447, + "src": "2621:15:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3437, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2621:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2619:19:18" + }, + "returnParameters": { + "id": 3443, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3442, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3447, + "src": "2671:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3441, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2671:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2670:6:18" + }, + "scope": 4066, + "src": "2582:110:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2856 + ], + "body": { + "id": 3455, + "nodeType": "Block", + "src": "2787:47:18", + "statements": [ + { + "expression": { + "hexValue": "324e356d754d65704a697a4a45316752374662484a553643443138563342704e463970", + "id": 3453, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2795:37:18", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8c79f89e7af014eea8382e2a3c8169c304592943b925bf9253319bad789c40ff", + "typeString": "literal_string \"2N5muMepJizJE1gR7FbHJU6CD18V3BpNF9p\"" + }, + "value": "2N5muMepJizJE1gR7FbHJU6CD18V3BpNF9p" + }, + "functionReturnParameters": 3452, + "id": 3454, + "nodeType": "Return", + "src": "2788:44:18" + } + ] + }, + "functionSelector": "6923fa85", + "id": 3456, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getFederationAddress", + "nameLocation": "2706:20:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3449, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2746:8:18" + }, + "parameters": { + "id": 3448, + "nodeType": "ParameterList", + "parameters": [], + "src": "2727:4:18" + }, + "returnParameters": { + "id": 3452, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3451, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3456, + "src": "2764:13:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3450, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2764:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2763:15:18" + }, + "scope": 4066, + "src": "2697:137:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2865 + ], + "body": { + "id": 3466, + "nodeType": "Block", + "src": "2975:2:18", + "statements": [] + }, + "functionSelector": "43dc0656", + "id": 3467, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "registerBtcTransaction", + "nameLocation": "2876:22:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3464, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2966:8:18" + }, + "parameters": { + "id": 3463, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3458, + "mutability": "mutable", + "name": "atx", + "nameLocation": "2916:3:18", + "nodeType": "VariableDeclaration", + "scope": 3467, + "src": "2901:18:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3457, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2901:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3460, + "mutability": "mutable", + "name": "height", + "nameLocation": "2928:6:18", + "nodeType": "VariableDeclaration", + "scope": 3467, + "src": "2921:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3459, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2921:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3462, + "mutability": "mutable", + "name": "pmt", + "nameLocation": "2951:3:18", + "nodeType": "VariableDeclaration", + "scope": 3467, + "src": "2936:18:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3461, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2936:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2899:57:18" + }, + "returnParameters": { + "id": 3465, + "nodeType": "ParameterList", + "parameters": [], + "src": "2975:0:18" + }, + "scope": 4066, + "src": "2867:110:18", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2875 + ], + "body": { + "id": 3478, + "nodeType": "Block", + "src": "3108:2:18", + "statements": [] + }, + "functionSelector": "f10b9c59", + "id": 3479, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addSignature", + "nameLocation": "2991:12:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3476, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3099:8:18" + }, + "parameters": { + "id": 3475, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3469, + "mutability": "mutable", + "name": "pubkey", + "nameLocation": "3021:6:18", + "nodeType": "VariableDeclaration", + "scope": 3479, + "src": "3006:21:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3468, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3006:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3472, + "mutability": "mutable", + "name": "signatures", + "nameLocation": "3046:10:18", + "nodeType": "VariableDeclaration", + "scope": 3479, + "src": "3029:27:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 3470, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3029:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 3471, + "nodeType": "ArrayTypeName", + "src": "3029:7:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3474, + "mutability": "mutable", + "name": "txhash", + "nameLocation": "3073:6:18", + "nodeType": "VariableDeclaration", + "scope": 3479, + "src": "3058:21:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3473, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3058:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3004:77:18" + }, + "returnParameters": { + "id": 3477, + "nodeType": "ParameterList", + "parameters": [], + "src": "3108:0:18" + }, + "scope": 4066, + "src": "2982:128:18", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2881 + ], + "body": { + "id": 3486, + "nodeType": "Block", + "src": "3185:2:18", + "statements": [] + }, + "functionSelector": "e5400e7b", + "id": 3487, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "receiveHeaders", + "nameLocation": "3124:14:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3484, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3176:8:18" + }, + "parameters": { + "id": 3483, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3482, + "mutability": "mutable", + "name": "blocks", + "nameLocation": "3158:6:18", + "nodeType": "VariableDeclaration", + "scope": 3487, + "src": "3141:23:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 3480, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3141:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 3481, + "nodeType": "ArrayTypeName", + "src": "3141:7:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + } + ], + "src": "3139:27:18" + }, + "returnParameters": { + "id": 3485, + "nodeType": "ParameterList", + "parameters": [], + "src": "3185:0:18" + }, + "scope": 4066, + "src": "3115:72:18", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2888 + ], + "body": { + "id": 3500, + "nodeType": "Block", + "src": "3274:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3289:1:18", + "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": 3496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3282:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3495, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3282:6:18", + "typeDescriptions": {} + } + }, + "id": 3498, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3282:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3494, + "id": 3499, + "nodeType": "Return", + "src": "3275:16:18" + } + ] + }, + "functionSelector": "884bdd86", + "id": 3501, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "receiveHeader", + "nameLocation": "3201:13:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3491, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3248:8:18" + }, + "parameters": { + "id": 3490, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3489, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3501, + "src": "3217:14:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3488, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3217:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3215:18:18" + }, + "returnParameters": { + "id": 3494, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3493, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3501, + "src": "3266:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3492, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3266:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3265:8:18" + }, + "scope": 4066, + "src": "3192:101:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2893 + ], + "body": { + "id": 3512, + "nodeType": "Block", + "src": "3370:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3509, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3385:1:18", + "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": 3508, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3378:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3507, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3378:6:18", + "typeDescriptions": {} + } + }, + "id": 3510, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3378:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3506, + "id": 3511, + "nodeType": "Return", + "src": "3371:16:18" + } + ] + }, + "functionSelector": "802ad4b6", + "id": 3513, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getFederationSize", + "nameLocation": "3307:17:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3503, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3344:8:18" + }, + "parameters": { + "id": 3502, + "nodeType": "ParameterList", + "parameters": [], + "src": "3325:4:18" + }, + "returnParameters": { + "id": 3506, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3505, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3513, + "src": "3362:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3504, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3362:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3361:8:18" + }, + "scope": 4066, + "src": "3298:91:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2898 + ], + "body": { + "id": 3524, + "nodeType": "Block", + "src": "3471:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3521, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3486:1:18", + "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": 3520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3479:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3519, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3479:6:18", + "typeDescriptions": {} + } + }, + "id": 3522, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3479:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3518, + "id": 3523, + "nodeType": "Return", + "src": "3472:16:18" + } + ] + }, + "functionSelector": "0fd47456", + "id": 3525, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getFederationThreshold", + "nameLocation": "3403:22:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3515, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3445:8:18" + }, + "parameters": { + "id": 3514, + "nodeType": "ParameterList", + "parameters": [], + "src": "3426:4:18" + }, + "returnParameters": { + "id": 3518, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3517, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3525, + "src": "3463:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3516, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3463:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3462:8:18" + }, + "scope": 4066, + "src": "3394:96:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2905 + ], + "body": { + "id": 3538, + "nodeType": "Block", + "src": "3591:27:18", + "statements": [ + { + "assignments": [ + 3534 + ], + "declarations": [ + { + "constant": false, + "id": 3534, + "mutability": "mutable", + "name": "b", + "nameLocation": "3605:1:18", + "nodeType": "VariableDeclaration", + "scope": 3538, + "src": "3592:14:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3533, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3592:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3535, + "nodeType": "VariableDeclarationStatement", + "src": "3592:14:18" + }, + { + "expression": { + "id": 3536, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3534, + "src": "3615:1:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3532, + "id": 3537, + "nodeType": "Return", + "src": "3608:8:18" + } + ] + }, + "functionSelector": "6b89a1af", + "id": 3539, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getFederatorPublicKey", + "nameLocation": "3504:21:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3529, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3551:8:18" + }, + "parameters": { + "id": 3528, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3527, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3539, + "src": "3528:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3526, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3528:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3526:10:18" + }, + "returnParameters": { + "id": 3532, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3531, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3539, + "src": "3569:12:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3530, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3569:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3568:14:18" + }, + "scope": 4066, + "src": "3495:123:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2914 + ], + "body": { + "id": 3554, + "nodeType": "Block", + "src": "3742:27:18", + "statements": [ + { + "assignments": [ + 3550 + ], + "declarations": [ + { + "constant": false, + "id": 3550, + "mutability": "mutable", + "name": "b", + "nameLocation": "3756:1:18", + "nodeType": "VariableDeclaration", + "scope": 3554, + "src": "3743:14:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3549, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3743:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3551, + "nodeType": "VariableDeclarationStatement", + "src": "3743:14:18" + }, + { + "expression": { + "id": 3552, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3550, + "src": "3766:1:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3548, + "id": 3553, + "nodeType": "Return", + "src": "3759:8:18" + } + ] + }, + "functionSelector": "549cfd1c", + "id": 3555, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getFederatorPublicKeyOfType", + "nameLocation": "3632:27:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3545, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3710:8:18" + }, + "parameters": { + "id": 3544, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3541, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3555, + "src": "3662:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3540, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3662:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3543, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3555, + "src": "3670:15:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3542, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3670:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3660:27:18" + }, + "returnParameters": { + "id": 3548, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3547, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3555, + "src": "3728:12:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3546, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3728:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3727:14:18" + }, + "scope": 4066, + "src": "3623:146:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2919 + ], + "body": { + "id": 3566, + "nodeType": "Block", + "src": "3854:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3869:1:18", + "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": 3562, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3862:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3561, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3862:6:18", + "typeDescriptions": {} + } + }, + "id": 3564, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3862:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3560, + "id": 3565, + "nodeType": "Return", + "src": "3855:16:18" + } + ] + }, + "functionSelector": "5e2db9d4", + "id": 3567, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getFederationCreationTime", + "nameLocation": "3783:25:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3557, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3828:8:18" + }, + "parameters": { + "id": 3556, + "nodeType": "ParameterList", + "parameters": [], + "src": "3809:4:18" + }, + "returnParameters": { + "id": 3560, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3559, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3567, + "src": "3846:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3558, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3846:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3845:8:18" + }, + "scope": 4066, + "src": "3774:99:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2924 + ], + "body": { + "id": 3578, + "nodeType": "Block", + "src": "3965:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3575, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3980:1:18", + "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": 3574, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3973:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3573, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3973:6:18", + "typeDescriptions": {} + } + }, + "id": 3576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3973:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3572, + "id": 3577, + "nodeType": "Return", + "src": "3966:16:18" + } + ] + }, + "functionSelector": "1b2045ee", + "id": 3579, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getFederationCreationBlockNumber", + "nameLocation": "3887:32:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3569, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3939:8:18" + }, + "parameters": { + "id": 3568, + "nodeType": "ParameterList", + "parameters": [], + "src": "3920:4:18" + }, + "returnParameters": { + "id": 3572, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3571, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3579, + "src": "3957:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3570, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "3957:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "3956:8:18" + }, + "scope": 4066, + "src": "3878:106:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2929 + ], + "body": { + "id": 3587, + "nodeType": "Block", + "src": "4080:12:18", + "statements": [ + { + "expression": { + "hexValue": "", + "id": 3585, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4088:2:18", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "functionReturnParameters": 3584, + "id": 3586, + "nodeType": "Return", + "src": "4081:9:18" + } + ] + }, + "functionSelector": "47227286", + "id": 3588, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getRetiringFederationAddress", + "nameLocation": "3998:28:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3581, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4046:8:18" + }, + "parameters": { + "id": 3580, + "nodeType": "ParameterList", + "parameters": [], + "src": "4027:4:18" + }, + "returnParameters": { + "id": 3584, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3583, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3588, + "src": "4064:13:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3582, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4064:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4063:15:18" + }, + "scope": 4066, + "src": "3989:103:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2934 + ], + "body": { + "id": 3599, + "nodeType": "Block", + "src": "4178:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3596, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4193:1:18", + "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": 3595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4186:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3594, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4186:6:18", + "typeDescriptions": {} + } + }, + "id": 3597, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4186:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3593, + "id": 3598, + "nodeType": "Return", + "src": "4179:16:18" + } + ] + }, + "functionSelector": "d970b0fd", + "id": 3600, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getRetiringFederationSize", + "nameLocation": "4106:25:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3590, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4146:8:18" + }, + "parameters": { + "id": 3589, + "nodeType": "ParameterList", + "parameters": [], + "src": "4132:4:18" + }, + "returnParameters": { + "id": 3593, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3592, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3600, + "src": "4170:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3591, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4170:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "4169:8:18" + }, + "scope": 4066, + "src": "4097:100:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2939 + ], + "body": { + "id": 3611, + "nodeType": "Block", + "src": "4288:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3608, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4303:1:18", + "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": 3607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4296:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3606, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4296:6:18", + "typeDescriptions": {} + } + }, + "id": 3609, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4296:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3605, + "id": 3610, + "nodeType": "Return", + "src": "4289:16:18" + } + ] + }, + "functionSelector": "07bbdfc4", + "id": 3612, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getRetiringFederationThreshold", + "nameLocation": "4211:30:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3602, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4256:8:18" + }, + "parameters": { + "id": 3601, + "nodeType": "ParameterList", + "parameters": [], + "src": "4242:4:18" + }, + "returnParameters": { + "id": 3605, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3604, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3612, + "src": "4280:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3603, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4280:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "4279:8:18" + }, + "scope": 4066, + "src": "4202:105:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2946 + ], + "body": { + "id": 3625, + "nodeType": "Block", + "src": "4417:27:18", + "statements": [ + { + "assignments": [ + 3621 + ], + "declarations": [ + { + "constant": false, + "id": 3621, + "mutability": "mutable", + "name": "b", + "nameLocation": "4431:1:18", + "nodeType": "VariableDeclaration", + "scope": 3625, + "src": "4418:14:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3620, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4418:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3622, + "nodeType": "VariableDeclarationStatement", + "src": "4418:14:18" + }, + { + "expression": { + "id": 3623, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3621, + "src": "4441:1:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3619, + "id": 3624, + "nodeType": "Return", + "src": "4434:8:18" + } + ] + }, + "functionSelector": "4675d6de", + "id": 3626, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getRetiringFederatorPublicKey", + "nameLocation": "4321:29:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3616, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4371:8:18" + }, + "parameters": { + "id": 3615, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3614, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3626, + "src": "4353:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3613, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4353:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "4351:10:18" + }, + "returnParameters": { + "id": 3619, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3618, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3626, + "src": "4395:12:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3617, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4395:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4394:14:18" + }, + "scope": 4066, + "src": "4312:132:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2955 + ], + "body": { + "id": 3641, + "nodeType": "Block", + "src": "4575:27:18", + "statements": [ + { + "assignments": [ + 3637 + ], + "declarations": [ + { + "constant": false, + "id": 3637, + "mutability": "mutable", + "name": "b", + "nameLocation": "4589:1:18", + "nodeType": "VariableDeclaration", + "scope": 3641, + "src": "4576:14:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3636, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4576:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3638, + "nodeType": "VariableDeclarationStatement", + "src": "4576:14:18" + }, + { + "expression": { + "id": 3639, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3637, + "src": "4599:1:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3635, + "id": 3640, + "nodeType": "Return", + "src": "4592:8:18" + } + ] + }, + "functionSelector": "68bc2b2b", + "id": 3642, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getRetiringFederatorPublicKeyOfType", + "nameLocation": "4458:35:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3632, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4535:8:18" + }, + "parameters": { + "id": 3631, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3628, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3642, + "src": "4496:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3627, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4496:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3630, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3642, + "src": "4503:15:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3629, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4503:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4494:26:18" + }, + "returnParameters": { + "id": 3635, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3634, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3642, + "src": "4561:12:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3633, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4561:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4560:14:18" + }, + "scope": 4066, + "src": "4449:153:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2960 + ], + "body": { + "id": 3653, + "nodeType": "Block", + "src": "4695:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4710:1:18", + "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": 3649, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4703:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3648, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4703:6:18", + "typeDescriptions": {} + } + }, + "id": 3651, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4703:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3647, + "id": 3652, + "nodeType": "Return", + "src": "4696:16:18" + } + ] + }, + "functionSelector": "3f0ce9b1", + "id": 3654, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getRetiringFederationCreationTime", + "nameLocation": "4616:33:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3644, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4669:8:18" + }, + "parameters": { + "id": 3643, + "nodeType": "ParameterList", + "parameters": [], + "src": "4650:4:18" + }, + "returnParameters": { + "id": 3647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3646, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3654, + "src": "4687:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3645, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4687:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "4686:8:18" + }, + "scope": 4066, + "src": "4607:107:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2965 + ], + "body": { + "id": 3665, + "nodeType": "Block", + "src": "4823:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4838:1:18", + "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": 3661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4831:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3660, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4831:6:18", + "typeDescriptions": {} + } + }, + "id": 3663, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4831:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3659, + "id": 3664, + "nodeType": "Return", + "src": "4824:16:18" + } + ] + }, + "functionSelector": "d905153f", + "id": 3666, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getRetiringFederationCreationBlockNumber", + "nameLocation": "4728:40:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3656, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4783:8:18" + }, + "parameters": { + "id": 3655, + "nodeType": "ParameterList", + "parameters": [], + "src": "4769:4:18" + }, + "returnParameters": { + "id": 3659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3658, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3666, + "src": "4815:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3657, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4815:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "4814:8:18" + }, + "scope": 4066, + "src": "4719:123:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2970 + ], + "body": { + "id": 3677, + "nodeType": "Block", + "src": "4918:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3674, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4933:1:18", + "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": 3673, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4926:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3672, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4926:6:18", + "typeDescriptions": {} + } + }, + "id": 3675, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4926:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3671, + "id": 3676, + "nodeType": "Return", + "src": "4919:16:18" + } + ] + }, + "functionSelector": "1183d5d1", + "id": 3678, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "createFederation", + "nameLocation": "4856:16:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3668, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4892:8:18" + }, + "parameters": { + "id": 3667, + "nodeType": "ParameterList", + "parameters": [], + "src": "4873:4:18" + }, + "returnParameters": { + "id": 3671, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3670, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3678, + "src": "4910:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3669, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "4910:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "4909:8:18" + }, + "scope": 4066, + "src": "4847:90:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2977 + ], + "body": { + "id": 3691, + "nodeType": "Block", + "src": "5040:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5055:1:18", + "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": 3687, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5048:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3686, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "5048:6:18", + "typeDescriptions": {} + } + }, + "id": 3689, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5048:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3685, + "id": 3690, + "nodeType": "Return", + "src": "5041:16:18" + } + ] + }, + "functionSelector": "ecefd339", + "id": 3692, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addFederatorPublicKey", + "nameLocation": "4951:21:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3682, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5006:8:18" + }, + "parameters": { + "id": 3681, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3680, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3692, + "src": "4975:14:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3679, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4975:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4973:18:18" + }, + "returnParameters": { + "id": 3685, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3684, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3692, + "src": "5024:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3683, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "5024:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "5023:8:18" + }, + "scope": 4066, + "src": "4942:117:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2988 + ], + "body": { + "id": 3709, + "nodeType": "Block", + "src": "5205:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3706, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5220:1:18", + "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": 3705, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5213:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3704, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "5213:6:18", + "typeDescriptions": {} + } + }, + "id": 3707, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5213:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3703, + "id": 3708, + "nodeType": "Return", + "src": "5206:16:18" + } + ] + }, + "functionSelector": "444ff9da", + "id": 3710, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addFederatorPublicKeyMultikey", + "nameLocation": "5073:29:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3700, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5179:8:18" + }, + "parameters": { + "id": 3699, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3694, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3710, + "src": "5105:14:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3693, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5105:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3696, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3710, + "src": "5122:14:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3695, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5122:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3698, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3710, + "src": "5139:14:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3697, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5139:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5103:53:18" + }, + "returnParameters": { + "id": 3703, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3702, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3710, + "src": "5197:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3701, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "5197:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "5196:8:18" + }, + "scope": 4066, + "src": "5064:160:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2995 + ], + "body": { + "id": 3723, + "nodeType": "Block", + "src": "5314:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3720, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5329:1:18", + "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": 3719, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5322:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3718, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "5322:6:18", + "typeDescriptions": {} + } + }, + "id": 3721, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5322:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3717, + "id": 3722, + "nodeType": "Return", + "src": "5315:16:18" + } + ] + }, + "functionSelector": "1533330f", + "id": 3724, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "commitFederation", + "nameLocation": "5238:16:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3714, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5288:8:18" + }, + "parameters": { + "id": 3713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3712, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3724, + "src": "5257:14:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3711, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5257:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5255:18:18" + }, + "returnParameters": { + "id": 3717, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3716, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3724, + "src": "5306:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3715, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "5306:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "5305:8:18" + }, + "scope": 4066, + "src": "5229:104:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3000 + ], + "body": { + "id": 3735, + "nodeType": "Block", + "src": "5411:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3732, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5426:1:18", + "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": 3731, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5419:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3730, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "5419:6:18", + "typeDescriptions": {} + } + }, + "id": 3733, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5419:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3729, + "id": 3734, + "nodeType": "Return", + "src": "5412:16:18" + } + ] + }, + "functionSelector": "8dec3d32", + "id": 3736, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "rollbackFederation", + "nameLocation": "5347:18:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3726, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5385:8:18" + }, + "parameters": { + "id": 3725, + "nodeType": "ParameterList", + "parameters": [], + "src": "5366:4:18" + }, + "returnParameters": { + "id": 3729, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3728, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3736, + "src": "5403:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3727, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "5403:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "5402:8:18" + }, + "scope": 4066, + "src": "5338:92:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3005 + ], + "body": { + "id": 3747, + "nodeType": "Block", + "src": "5520:27:18", + "statements": [ + { + "assignments": [ + 3743 + ], + "declarations": [ + { + "constant": false, + "id": 3743, + "mutability": "mutable", + "name": "b", + "nameLocation": "5534:1:18", + "nodeType": "VariableDeclaration", + "scope": 3747, + "src": "5521:14:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3742, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5521:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3744, + "nodeType": "VariableDeclarationStatement", + "src": "5521:14:18" + }, + { + "expression": { + "id": 3745, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3743, + "src": "5544:1:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3741, + "id": 3746, + "nodeType": "Return", + "src": "5537:8:18" + } + ] + }, + "functionSelector": "6ce0ed5a", + "id": 3748, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getPendingFederationHash", + "nameLocation": "5444:24:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3738, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5488:8:18" + }, + "parameters": { + "id": 3737, + "nodeType": "ParameterList", + "parameters": [], + "src": "5469:4:18" + }, + "returnParameters": { + "id": 3741, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3740, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3748, + "src": "5506:12:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3739, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5506:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5505:14:18" + }, + "scope": 4066, + "src": "5435:112:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3010 + ], + "body": { + "id": 3759, + "nodeType": "Block", + "src": "5631:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3756, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5646:1:18", + "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": 3755, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5639:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3754, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "5639:6:18", + "typeDescriptions": {} + } + }, + "id": 3757, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5639:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3753, + "id": 3758, + "nodeType": "Return", + "src": "5632:16:18" + } + ] + }, + "functionSelector": "3ac72b38", + "id": 3760, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getPendingFederationSize", + "nameLocation": "5561:24:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3750, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5605:8:18" + }, + "parameters": { + "id": 3749, + "nodeType": "ParameterList", + "parameters": [], + "src": "5586:4:18" + }, + "returnParameters": { + "id": 3753, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3752, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3760, + "src": "5623:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3751, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "5623:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "5622:8:18" + }, + "scope": 4066, + "src": "5552:98:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3017 + ], + "body": { + "id": 3773, + "nodeType": "Block", + "src": "5759:27:18", + "statements": [ + { + "assignments": [ + 3769 + ], + "declarations": [ + { + "constant": false, + "id": 3769, + "mutability": "mutable", + "name": "b", + "nameLocation": "5773:1:18", + "nodeType": "VariableDeclaration", + "scope": 3773, + "src": "5760:14:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3768, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5760:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3770, + "nodeType": "VariableDeclarationStatement", + "src": "5760:14:18" + }, + { + "expression": { + "id": 3771, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3769, + "src": "5783:1:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3767, + "id": 3772, + "nodeType": "Return", + "src": "5776:8:18" + } + ] + }, + "functionSelector": "492f7c44", + "id": 3774, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getPendingFederatorPublicKey", + "nameLocation": "5664:28:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3764, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5719:8:18" + }, + "parameters": { + "id": 3763, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3762, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3774, + "src": "5695:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3761, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "5695:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "5693:11:18" + }, + "returnParameters": { + "id": 3767, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3766, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3774, + "src": "5737:12:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3765, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5737:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5736:14:18" + }, + "scope": 4066, + "src": "5655:131:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3026 + ], + "body": { + "id": 3789, + "nodeType": "Block", + "src": "5919:27:18", + "statements": [ + { + "assignments": [ + 3785 + ], + "declarations": [ + { + "constant": false, + "id": 3785, + "mutability": "mutable", + "name": "b", + "nameLocation": "5933:1:18", + "nodeType": "VariableDeclaration", + "scope": 3789, + "src": "5920:14:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3784, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5920:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3786, + "nodeType": "VariableDeclarationStatement", + "src": "5920:14:18" + }, + { + "expression": { + "id": 3787, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3785, + "src": "5943:1:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 3783, + "id": 3788, + "nodeType": "Return", + "src": "5936:8:18" + } + ] + }, + "functionSelector": "c61295d9", + "id": 3790, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getPendingFederatorPublicKeyOfType", + "nameLocation": "5800:34:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3780, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5879:8:18" + }, + "parameters": { + "id": 3779, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3776, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3790, + "src": "5837:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3775, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "5837:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3778, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3790, + "src": "5846:15:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3777, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5846:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5835:29:18" + }, + "returnParameters": { + "id": 3783, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3782, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3790, + "src": "5905:12:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3781, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5905:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5904:14:18" + }, + "scope": 4066, + "src": "5791:155:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3031 + ], + "body": { + "id": 3801, + "nodeType": "Block", + "src": "6026:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3798, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6041:1:18", + "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": 3797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6034:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3796, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6034:6:18", + "typeDescriptions": {} + } + }, + "id": 3799, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6034:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3795, + "id": 3800, + "nodeType": "Return", + "src": "6027:16:18" + } + ] + }, + "functionSelector": "e9e658dc", + "id": 3802, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getLockWhitelistSize", + "nameLocation": "5960:20:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3792, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "6000:8:18" + }, + "parameters": { + "id": 3791, + "nodeType": "ParameterList", + "parameters": [], + "src": "5981:4:18" + }, + "returnParameters": { + "id": 3795, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3794, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3802, + "src": "6018:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3793, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6018:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "6017:8:18" + }, + "scope": 4066, + "src": "5951:94:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3038 + ], + "body": { + "id": 3812, + "nodeType": "Block", + "src": "6142:12:18", + "statements": [ + { + "expression": { + "hexValue": "", + "id": 3810, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6150:2:18", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "functionReturnParameters": 3809, + "id": 3811, + "nodeType": "Return", + "src": "6143:9:18" + } + ] + }, + "functionSelector": "93988b76", + "id": 3813, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getLockWhitelistAddress", + "nameLocation": "6059:23:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3806, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "6109:8:18" + }, + "parameters": { + "id": 3805, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3804, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3813, + "src": "6085:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3803, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6085:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "6083:11:18" + }, + "returnParameters": { + "id": 3809, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3808, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3813, + "src": "6127:13:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3807, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6127:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6126:15:18" + }, + "scope": 4066, + "src": "6050:104:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3045 + ], + "body": { + "id": 3826, + "nodeType": "Block", + "src": "6269:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3823, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6284:1:18", + "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": 3822, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6277:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3821, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6277:6:18", + "typeDescriptions": {} + } + }, + "id": 3824, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6277:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3820, + "id": 3825, + "nodeType": "Return", + "src": "6270:16:18" + } + ] + }, + "functionSelector": "251c5f7b", + "id": 3827, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getLockWhitelistEntryByAddress", + "nameLocation": "6168:30:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3817, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "6235:8:18" + }, + "parameters": { + "id": 3816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3815, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3827, + "src": "6201:15:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3814, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6201:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6199:20:18" + }, + "returnParameters": { + "id": 3820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3819, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3827, + "src": "6253:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3818, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6253:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "6252:8:18" + }, + "scope": 4066, + "src": "6159:129:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3054 + ], + "body": { + "id": 3842, + "nodeType": "Block", + "src": "6404:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3839, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6419:1:18", + "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": "6412:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3837, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6412:6:18", + "typeDescriptions": {} + } + }, + "id": 3840, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6412:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3836, + "id": 3841, + "nodeType": "Return", + "src": "6405:16:18" + } + ] + }, + "functionSelector": "502bbbce", + "id": 3843, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addLockWhitelistAddress", + "nameLocation": "6302:23:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3833, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "6370:8:18" + }, + "parameters": { + "id": 3832, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3829, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3843, + "src": "6328:15:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3828, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6328:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3831, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3843, + "src": "6346:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3830, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6346:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "6326:29:18" + }, + "returnParameters": { + "id": 3836, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3835, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3843, + "src": "6388:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3834, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6388:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "6387:8:18" + }, + "scope": 4066, + "src": "6293:130:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3063 + ], + "body": { + "id": 3858, + "nodeType": "Block", + "src": "6545:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3855, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6560:1:18", + "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": 3854, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6553:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3853, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6553:6:18", + "typeDescriptions": {} + } + }, + "id": 3856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6553:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3852, + "id": 3857, + "nodeType": "Return", + "src": "6546:16:18" + } + ] + }, + "functionSelector": "848206d9", + "id": 3859, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addOneOffLockWhitelistAddress", + "nameLocation": "6437:29:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3849, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "6511:8:18" + }, + "parameters": { + "id": 3848, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3845, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3859, + "src": "6469:15:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3844, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6469:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3847, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3859, + "src": "6487:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3846, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6487:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "6467:29:18" + }, + "returnParameters": { + "id": 3852, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3851, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3859, + "src": "6537:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3850, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6537:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "6536:8:18" + }, + "scope": 4066, + "src": "6428:136:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3070 + ], + "body": { + "id": 3872, + "nodeType": "Block", + "src": "6680:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3869, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6695:1:18", + "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": 3868, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6688:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3867, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6688:6:18", + "typeDescriptions": {} + } + }, + "id": 3870, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6688:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3866, + "id": 3871, + "nodeType": "Return", + "src": "6681:16:18" + } + ] + }, + "functionSelector": "b906c938", + "id": 3873, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addUnlimitedLockWhitelistAddress", + "nameLocation": "6578:32:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3863, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "6646:8:18" + }, + "parameters": { + "id": 3862, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3861, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3873, + "src": "6613:15:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3860, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6613:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6611:20:18" + }, + "returnParameters": { + "id": 3866, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3865, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3873, + "src": "6664:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3864, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6664:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "6663:8:18" + }, + "scope": 4066, + "src": "6569:130:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3077 + ], + "body": { + "id": 3886, + "nodeType": "Block", + "src": "6809:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3883, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6824:1:18", + "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": 3882, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6817:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3881, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6817:6:18", + "typeDescriptions": {} + } + }, + "id": 3884, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6817:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3880, + "id": 3885, + "nodeType": "Return", + "src": "6810:16:18" + } + ] + }, + "functionSelector": "fcdeb46f", + "id": 3887, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "removeLockWhitelistAddress", + "nameLocation": "6713:26:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3877, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "6775:8:18" + }, + "parameters": { + "id": 3876, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3875, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3887, + "src": "6742:15:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3874, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6742:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6740:20:18" + }, + "returnParameters": { + "id": 3880, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3879, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3887, + "src": "6793:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3878, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6793:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "6792:8:18" + }, + "scope": 4066, + "src": "6704:124:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3084 + ], + "body": { + "id": 3900, + "nodeType": "Block", + "src": "6936:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3897, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6951:1:18", + "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": 3896, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6944:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3895, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6944:6:18", + "typeDescriptions": {} + } + }, + "id": 3898, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6944:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3894, + "id": 3899, + "nodeType": "Return", + "src": "6937:16:18" + } + ] + }, + "functionSelector": "c1cc54f5", + "id": 3901, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setLockWhitelistDisableBlockDelay", + "nameLocation": "6842:33:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3891, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "6902:8:18" + }, + "parameters": { + "id": 3890, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3889, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3901, + "src": "6878:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3888, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6878:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "6876:11:18" + }, + "returnParameters": { + "id": 3894, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3893, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3901, + "src": "6920:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3892, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "6920:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "6919:8:18" + }, + "scope": 4066, + "src": "6833:122:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3089 + ], + "body": { + "id": 3912, + "nodeType": "Block", + "src": "7026:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3909, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7041:1:18", + "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": 3908, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7034:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3907, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "7034:6:18", + "typeDescriptions": {} + } + }, + "id": 3910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7034:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3906, + "id": 3911, + "nodeType": "Return", + "src": "7027:16:18" + } + ] + }, + "functionSelector": "724ec886", + "id": 3913, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getFeePerKb", + "nameLocation": "6969:11:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3903, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "7000:8:18" + }, + "parameters": { + "id": 3902, + "nodeType": "ParameterList", + "parameters": [], + "src": "6981:4:18" + }, + "returnParameters": { + "id": 3906, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3905, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3913, + "src": "7018:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3904, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "7018:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "7017:8:18" + }, + "scope": 4066, + "src": "6960:85:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3096 + ], + "body": { + "id": 3926, + "nodeType": "Block", + "src": "7130:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3923, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7145:1:18", + "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": 3922, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7138:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3921, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "7138:6:18", + "typeDescriptions": {} + } + }, + "id": 3924, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7138:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3920, + "id": 3925, + "nodeType": "Return", + "src": "7131:16:18" + } + ] + }, + "functionSelector": "0461313e", + "id": 3927, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "voteFeePerKbChange", + "nameLocation": "7059:18:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3917, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "7104:8:18" + }, + "parameters": { + "id": 3916, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3915, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3927, + "src": "7080:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3914, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "7080:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "7078:11:18" + }, + "returnParameters": { + "id": 3920, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3919, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3927, + "src": "7122:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3918, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "7122:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "7121:8:18" + }, + "scope": 4066, + "src": "7050:99:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3099 + ], + "body": { + "id": 3931, + "nodeType": "Block", + "src": "7204:2:18", + "statements": [] + }, + "functionSelector": "0c5a9990", + "id": 3932, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "updateCollections", + "nameLocation": "7163:17:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3929, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "7195:8:18" + }, + "parameters": { + "id": 3928, + "nodeType": "ParameterList", + "parameters": [], + "src": "7181:4:18" + }, + "returnParameters": { + "id": 3930, + "nodeType": "ParameterList", + "parameters": [], + "src": "7204:0:18" + }, + "scope": 4066, + "src": "7154:52:18", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3104 + ], + "body": { + "id": 3943, + "nodeType": "Block", + "src": "7287:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "32", + "id": 3940, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7302:1:18", + "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": 3939, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7295:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3938, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "7295:6:18", + "typeDescriptions": {} + } + }, + "id": 3941, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7295:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3937, + "id": 3942, + "nodeType": "Return", + "src": "7288:16:18" + } + ] + }, + "functionSelector": "2f8d158f", + "id": 3944, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getMinimumLockTxValue", + "nameLocation": "7220:21:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3934, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "7261:8:18" + }, + "parameters": { + "id": 3933, + "nodeType": "ParameterList", + "parameters": [], + "src": "7242:4:18" + }, + "returnParameters": { + "id": 3937, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3936, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3944, + "src": "7279:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3935, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "7279:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "7278:8:18" + }, + "scope": 4066, + "src": "7211:95:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3118 + ], + "body": { + "id": 3964, + "nodeType": "Block", + "src": "7452:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3961, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7467:1:18", + "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": 3960, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7460:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3959, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "7460:6:18", + "typeDescriptions": {} + } + }, + "id": 3962, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7460:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3958, + "id": 3963, + "nodeType": "Return", + "src": "7453:16:18" + } + ] + }, + "functionSelector": "5b644587", + "id": 3965, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBtcTransactionConfirmations", + "nameLocation": "7320:30:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3955, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "7426:8:18" + }, + "parameters": { + "id": 3954, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3946, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3965, + "src": "7353:7:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3945, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7353:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3948, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3965, + "src": "7363:7:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3947, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7363:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3950, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3965, + "src": "7372:7:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3949, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7372:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3953, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3965, + "src": "7382:18:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 3951, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7382:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3952, + "nodeType": "ArrayTypeName", + "src": "7382:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "7351:52:18" + }, + "returnParameters": { + "id": 3958, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3957, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3965, + "src": "7444:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3956, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "7444:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "7443:8:18" + }, + "scope": 4066, + "src": "7311:160:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3123 + ], + "body": { + "id": 3976, + "nodeType": "Block", + "src": "7544:19:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 3973, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7559:1:18", + "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": 3972, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7552:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 3971, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "7552:6:18", + "typeDescriptions": {} + } + }, + "id": 3974, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7552:9:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 3970, + "id": 3975, + "nodeType": "Return", + "src": "7545:16:18" + } + ] + }, + "functionSelector": "3f9db977", + "id": 3977, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getLockingCap", + "nameLocation": "7485:13:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3967, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "7518:8:18" + }, + "parameters": { + "id": 3966, + "nodeType": "ParameterList", + "parameters": [], + "src": "7499:4:18" + }, + "returnParameters": { + "id": 3970, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3969, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3977, + "src": "7536:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3968, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "7536:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "7535:8:18" + }, + "scope": 4066, + "src": "7476:87:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3130 + ], + "body": { + "id": 3987, + "nodeType": "Block", + "src": "7645:15:18", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 3985, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7653:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 3984, + "id": 3986, + "nodeType": "Return", + "src": "7646:12:18" + } + ] + }, + "functionSelector": "2910aeb2", + "id": 3988, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "increaseLockingCap", + "nameLocation": "7577:18:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3981, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "7621:8:18" + }, + "parameters": { + "id": 3980, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3979, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3988, + "src": "7598:6:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 3978, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "7598:6:18", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "7596:10:18" + }, + "returnParameters": { + "id": 3984, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3983, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3988, + "src": "7639:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3982, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7639:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7638:6:18" + }, + "scope": 4066, + "src": "7568:92:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3143 + ], + "body": { + "id": 4002, + "nodeType": "Block", + "src": "7872:2:18", + "statements": [] + }, + "functionSelector": "ccf417ae", + "id": 4003, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "registerBtcCoinbaseTransaction", + "nameLocation": "7674:30:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 4000, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "7863:8:18" + }, + "parameters": { + "id": 3999, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3990, + "mutability": "mutable", + "name": "btcTxSerialized", + "nameLocation": "7722:15:18", + "nodeType": "VariableDeclaration", + "scope": 4003, + "src": "7707:30:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3989, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7707:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3992, + "mutability": "mutable", + "name": "blockHash", + "nameLocation": "7747:9:18", + "nodeType": "VariableDeclaration", + "scope": 4003, + "src": "7739:17:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3991, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7739:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3994, + "mutability": "mutable", + "name": "pmtSerialized", + "nameLocation": "7781:13:18", + "nodeType": "VariableDeclaration", + "scope": 4003, + "src": "7758:36:18", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3993, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7758:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3996, + "mutability": "mutable", + "name": "witnessMerkleRoot", + "nameLocation": "7804:17:18", + "nodeType": "VariableDeclaration", + "scope": 4003, + "src": "7796:25:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3995, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7796:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3998, + "mutability": "mutable", + "name": "witnessReservedValue", + "nameLocation": "7831:20:18", + "nodeType": "VariableDeclaration", + "scope": 4003, + "src": "7823:28:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3997, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7823:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "7705:148:18" + }, + "returnParameters": { + "id": 4001, + "nodeType": "ParameterList", + "parameters": [], + "src": "7872:0:18" + }, + "scope": 4066, + "src": "7665:209:18", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3150 + ], + "body": { + "id": 4013, + "nodeType": "Block", + "src": "7989:15:18", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 4011, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7997:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 4010, + "id": 4012, + "nodeType": "Return", + "src": "7990:12:18" + } + ] + }, + "functionSelector": "253b944b", + "id": 4014, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasBtcBlockCoinbaseTransactionInformation", + "nameLocation": "7888:41:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 4007, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "7957:8:18" + }, + "parameters": { + "id": 4006, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4005, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4014, + "src": "7932:7:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4004, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7932:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "7930:12:18" + }, + "returnParameters": { + "id": 4010, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4009, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4014, + "src": "7983:4:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4008, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7983:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7982:6:18" + }, + "scope": 4066, + "src": "7879:125:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3176 + ], + "body": { + "id": 4025, + "nodeType": "Block", + "src": "8111:20:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "30", + "id": 4022, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8127:1:18", + "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": 4021, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8119:7:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 4020, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8119:7:18", + "typeDescriptions": {} + } + }, + "id": 4023, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8119:10:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4019, + "id": 4024, + "nodeType": "Return", + "src": "8112:17:18" + } + ] + }, + "functionSelector": "177d6e18", + "id": 4026, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getActiveFederationCreationBlockHeight", + "nameLocation": "8018:38:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 4016, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "8076:8:18" + }, + "parameters": { + "id": 4015, + "nodeType": "ParameterList", + "parameters": [], + "src": "8057:4:18" + }, + "returnParameters": { + "id": 4019, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4018, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4026, + "src": "8094:7:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4017, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8094:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8093:9:18" + }, + "scope": 4066, + "src": "8009:122:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3186 + ], + "body": { + "id": 4037, + "nodeType": "Block", + "src": "8236:27:18", + "statements": [ + { + "assignments": [ + 4033 + ], + "declarations": [ + { + "constant": false, + "id": 4033, + "mutability": "mutable", + "name": "b", + "nameLocation": "8250:1:18", + "nodeType": "VariableDeclaration", + "scope": 4037, + "src": "8237:14:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4032, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8237:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 4034, + "nodeType": "VariableDeclarationStatement", + "src": "8237:14:18" + }, + { + "expression": { + "id": 4035, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4033, + "src": "8260:1:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 4031, + "id": 4036, + "nodeType": "Return", + "src": "8253:8:18" + } + ] + }, + "functionSelector": "f0b2424b", + "id": 4038, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBtcBlockchainBestBlockHeader", + "nameLocation": "8145:31:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 4028, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "8196:8:18" + }, + "parameters": { + "id": 4027, + "nodeType": "ParameterList", + "parameters": [], + "src": "8177:4:18" + }, + "returnParameters": { + "id": 4031, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4030, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4038, + "src": "8214:12:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4029, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8214:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8213:14:18" + }, + "scope": 4066, + "src": "8136:127:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3193 + ], + "body": { + "id": 4050, + "nodeType": "Block", + "src": "8391:48:18", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 4046, + "name": "headersByHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3225, + "src": "8408:13:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$", + "typeString": "mapping(bytes32 => bytes storage ref)" + } + }, + "id": 4048, + "indexExpression": { + "id": 4047, + "name": "blockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "8422:9:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8408:24:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "functionReturnParameters": 4045, + "id": 4049, + "nodeType": "Return", + "src": "8401:31:18" + } + ] + }, + "functionSelector": "739e364a", + "id": 4051, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBtcBlockchainBlockHeaderByHash", + "nameLocation": "8278:33:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 4042, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "8359:8:18" + }, + "parameters": { + "id": 4041, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4040, + "mutability": "mutable", + "name": "blockHash", + "nameLocation": "8329:9:18", + "nodeType": "VariableDeclaration", + "scope": 4051, + "src": "8321:17:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4039, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8321:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "8311:33:18" + }, + "returnParameters": { + "id": 4045, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4044, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4051, + "src": "8377:12:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4043, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8377:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8376:14:18" + }, + "scope": 4066, + "src": "8269:170:18", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 3207 + ], + "body": { + "id": 4064, + "nodeType": "Block", + "src": "8559:27:18", + "statements": [ + { + "assignments": [ + 4060 + ], + "declarations": [ + { + "constant": false, + "id": 4060, + "mutability": "mutable", + "name": "b", + "nameLocation": "8573:1:18", + "nodeType": "VariableDeclaration", + "scope": 4064, + "src": "8560:14:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4059, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8560:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 4061, + "nodeType": "VariableDeclarationStatement", + "src": "8560:14:18" + }, + { + "expression": { + "id": 4062, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4060, + "src": "8583:1:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 4058, + "id": 4063, + "nodeType": "Return", + "src": "8576:8:18" + } + ] + }, + "functionSelector": "e0236724", + "id": 4065, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBtcBlockchainParentBlockHeaderByHash", + "nameLocation": "8454:39:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 4055, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "8519:8:18" + }, + "parameters": { + "id": 4054, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4053, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4065, + "src": "8496:7:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4052, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8496:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "8494:10:18" + }, + "returnParameters": { + "id": 4058, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4057, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4065, + "src": "8545:12:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4056, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8545:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8544:14:18" + }, + "scope": 4066, + "src": "8445:141:18", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + } + ], + "scope": 4067, + "src": "82:8510:18", + "usedErrors": [] + } + ], + "src": "32:8561:18" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.630Z", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/BtcUtils.json b/build/contracts/BtcUtils.json new file mode 100644 index 0000000..0ba0795 --- /dev/null +++ b/build/contracts/BtcUtils.json @@ -0,0 +1,22763 @@ +{ + "contractName": "BtcUtils", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes", + "name": "rawTx", + "type": "bytes" + } + ], + "name": "getOutputs", + "outputs": [ + { + "components": [ + { + "internalType": "uint64", + "name": "value", + "type": "uint64" + }, + { + "internalType": "bytes", + "name": "pkScript", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "scriptSize", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalSize", + "type": "uint256" + } + ], + "internalType": "struct BtcUtils.TxRawOutput[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "outputScript", + "type": "bytes" + }, + { + "internalType": "bool", + "name": "mainnet", + "type": "bool" + } + ], + "name": "parsePayToPubKeyHash", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "outputScript", + "type": "bytes" + } + ], + "name": "parseNullDataScript", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "btcTx", + "type": "bytes" + } + ], + "name": "hashBtcTx", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "header", + "type": "bytes" + } + ], + "name": "getBtcBlockTimestamp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "p2sh", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "script", + "type": "bytes" + }, + { + "internalType": "bool", + "name": "mainnet", + "type": "bool" + } + ], + "name": "validateP2SHAdress", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "script", + "type": "bytes" + }, + { + "internalType": "bool", + "name": "mainnet", + "type": "bool" + } + ], + "name": "getP2SHAddressFromScript", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"header\",\"type\":\"bytes\"}],\"name\":\"getBtcBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"rawTx\",\"type\":\"bytes\"}],\"name\":\"getOutputs\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"value\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"pkScript\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"scriptSize\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSize\",\"type\":\"uint256\"}],\"internalType\":\"struct BtcUtils.TxRawOutput[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"script\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"mainnet\",\"type\":\"bool\"}],\"name\":\"getP2SHAddressFromScript\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"btcTx\",\"type\":\"bytes\"}],\"name\":\"hashBtcTx\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"outputScript\",\"type\":\"bytes\"}],\"name\":\"parseNullDataScript\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"outputScript\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"mainnet\",\"type\":\"bool\"}],\"name\":\"parsePayToPubKeyHash\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"p2sh\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"script\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"mainnet\",\"type\":\"bool\"}],\"name\":\"validateP2SHAdress\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"getBtcBlockTimestamp(bytes)\":{\"details\":\"Gets the timestamp of a Bitcoin block header\",\"params\":{\"header\":\"The block header\"},\"returns\":{\"_0\":\"The timestamp of the block header\"}},\"getOutputs(bytes)\":{\"params\":{\"rawTx\":\"the raw transaction\"},\"returns\":{\"_0\":\"An array of `TxRawOutput` with the outputs of the transaction\"}},\"getP2SHAddressFromScript(bytes,bool)\":{\"params\":{\"mainnet\":\"flag to specify if the output should be a mainnet address\",\"script\":\"the script to generate the address from\"},\"returns\":{\"_0\":\"The address generate from the script\"}},\"hashBtcTx(bytes)\":{\"params\":{\"btcTx\":\"the transaction to hash\"},\"returns\":{\"_0\":\"The transaction id \"}},\"parseNullDataScript(bytes)\":{\"params\":{\"outputScript\":\"the fragment of the raw transaction containing the raw output script \"},\"returns\":{\"_0\":\"The content embedded inside the script\"}},\"parsePayToPubKeyHash(bytes,bool)\":{\"params\":{\"mainnet\":\"if the address to generate is from mainnet or testnet \",\"outputScript\":\"the fragment of the raw transaction containing the raw output script\"},\"returns\":{\"_0\":\"The address generated using the receiver's public key hash\"}},\"validateP2SHAdress(bytes,bytes,bool)\":{\"params\":{\"mainnet\":\"flag to specify if its a mainnet address\",\"p2sh\":\"the pay-to-script-hash address\",\"script\":\"the script to check\"},\"returns\":{\"_0\":\"Whether the address belongs to the script or not\"}}},\"title\":\"BtcUtils\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getOutputs(bytes)\":{\"notice\":\"Parse a raw transaction to get an array of its outputs in a structured representation\"},\"getP2SHAddressFromScript(bytes,bool)\":{\"notice\":\"Generate a pay-to-script-hash address from a script\"},\"hashBtcTx(bytes)\":{\"notice\":\"Hash a bitcoin raw transaction to get its id (reversed double sha256)\"},\"parseNullDataScript(bytes)\":{\"notice\":\"Parse a raw null-data output script to get its content\"},\"parsePayToPubKeyHash(bytes,bool)\":{\"notice\":\"Parse a raw pay-to-public-key-hash output script to get the corresponding address\"},\"validateP2SHAdress(bytes,bytes,bool)\":{\"notice\":\"Check if a pay-to-script-hash address belogs to a specific script\"}},\"notice\":\"This library contains functionality to make easier to work with Bitcoin transactions in Solidity.This library is based in this document: https://developer.bitcoin.org/reference/transactions.html#raw-transaction-format\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"@rsksmart/btc-transaction-solidity-helper/contracts/BtcUtils.sol\":\"BtcUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@rsksmart/btc-transaction-solidity-helper/contracts/BtcUtils.sol\":{\"keccak256\":\"0x74f37be19bedfd0d29802bad535d081f97689171ea0317d65803c9a66af49c1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://44325d49566d08e72d7ed85a98382d0dcd66bde2e4046df2dd63df43a5196cc5\",\"dweb:/ipfs/QmUQvPkSpciVbFueE2GEwnMap5qUxHgf2DnQAnqhCx6a2R\"]}},\"version\":1}", + "bytecode": "0x61186261003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100765760003560e01c8062f5b4911461007b5780632d56f323146100a45780634c03fe59146100c45780639b02794b146100d7578063a0cd70fc146100fa578063b0d6b1cb1461011b578063fea8ba631461012e575b600080fd5b61008e610089366004611232565b610141565b60405161009b91906112c3565b60405180910390f35b6100b76100b2366004611232565b610427565b60405161009b9190611359565b6100b76100d2366004611388565b61051f565b6100ea6100e53660046113db565b6107ab565b604051901515815260200161009b565b61010d610108366004611471565b6107ee565b60405190815260200161009b565b6100b7610129366004611388565b610850565b61010d61013c366004611232565b610a3f565b6060600483838281811061015757610157611521565b909101356001600160f81b031916159050801561019d57508383600581811061018257610182611521565b9050013560f81c60f81b6001600160f81b031916600160f81b145b156101a6575060065b6000806101e98387878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610bf892505050565b90925090506101fc61ffff82168461154d565b925060008060005b846001600160401b0316816001600160401b031610156102b05761022960248761154d565b955061026b868a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610bf892505050565b909350915061027e61ffff831684611560565b610289906004611560565b61029c906001600160401b03168761154d565b9550806102a881611587565b915050610204565b506000806102f4878b8b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610bf892505050565b909250905061030761ffff82168861154d565b96506000826001600160401b03166001600160401b0381111561032c5761032c61145b565b60405190808252806020026020018201604052801561036557816020015b6103526111c0565b81526020019060019003908161034a5790505b50905060005b836001600160401b0316811015610416576103bc898d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d5d92505050565b8282815181106103ce576103ce611521565b60200260200101819052508181815181106103eb576103eb611521565b60200260200101516060015189610402919061154d565b98508061040e816115b5565b91505061036b565b509750505050505050505b92915050565b60606001821161046d5760405162461bcd60e51b815260206004820152600c60248201526b496e76616c69642073697a6560a01b60448201526064015b60405180910390fd5b8282600081811061048057610480611521565b9050013560f81c60f81b6001600160f81b031916606a60f81b146104d65760405162461bcd60e51b815260206004820152600d60248201526c2737ba1027a82fa922aa2aa92760991b6044820152606401610464565b6104e382600181866115ce565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929695505050505050565b60606019831461057c5760405162461bcd60e51b815260206004820152602260248201527f53637269707420686173206e6f7420746865207265717569726564206c656e676044820152610e8d60f31b6064820152608401610464565b8383600081811061058f5761058f611521565b9050013560f81c60f81b6001600160f81b031916607660f81b1480156105de5750838360018181106105c3576105c3611521565b9050013560f81c60f81b6001600160f81b03191660a960f81b145b80156106135750838360028181106105f8576105f8611521565b9050013560f81c60f81b6001600160f81b031916601460f81b145b801561064857508383601781811061062d5761062d611521565b9050013560f81c60f81b6001600160f81b031916608860f81b145b801561067d57508383601881811061066257610662611521565b9050013560f81c60f81b6001600160f81b03191660ac60f81b145b6106d75760405162461bcd60e51b815260206004820152602560248201527f53637269707420686173206e6f74207468652072657175697265642073747275604482015264637475726560d81b6064820152608401610464565b60408051601480825281830190925260009160208201818036833701905050905060035b610707600360146115f8565b60ff168160ff16101561077d5785858260ff1681811061072957610729611521565b9050013560f81c60f81b826003836107419190611611565b60ff168151811061075457610754611521565b60200101906001600160f81b031916908160001a905350806107758161162a565b9150506106fb565b5060008361078c57606f61078f565b60005b905060006107a08260f81b84610ee6565b979650505050505050565b60006019851480156107e457506107c3848484610850565b8051906020012086866040516107da929190611649565b6040518091039020145b9695505050505050565b600081516050146108395760405162461bcd60e51b8152602060048201526015602482015274092dcecc2d8d2c840d0cac2c8cae440d8cadccee8d605b1b6044820152606401610464565b610844826044610fea565b63ffffffff1692915050565b60606000600360028686604051610868929190611649565b602060405180830381855afa158015610885573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906108a89190611659565b6040516020016108ba91815260200190565b60408051601f19818403018152908290526108d491611672565b602060405180830381855afa1580156108f1573d6000803e3d6000fd5b5050506040515160601b905060008361090b5760c461090e565b60055b6040516001600160f81b031960f883901b1660208201526001600160601b03198416602182015290915060009060350160405160208183030381529060405290506000600280836040516109629190611672565b602060405180830381855afa15801561097f573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906109a29190611659565b6040516020016109b491815260200190565b60408051601f19818403018152908290526109ce91611672565b602060405180830381855afa1580156109eb573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610a0e9190611659565b90508181604051602001610a2392919061168e565b6040516020818303038152906040529450505050509392505050565b6000806002808585604051610a55929190611649565b602060405180830381855afa158015610a72573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610a959190611659565b604051602001610aa791815260200190565b60408051601f1981840301815290829052610ac191611672565b602060405180830381855afa158015610ade573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610b019190611659565b604051602001610b1391815260200190565b60408051601f1981840301815291905290506000805b6010811015610beb57828181518110610b4457610b44611521565b01602001516001600160f81b031916915082610b6182601f6116bd565b81518110610b7157610b71611521565b602001015160f81c60f81b838281518110610b8e57610b8e611521565b60200101906001600160f81b031916908160001a9053508183610bb283601f6116bd565b81518110610bc257610bc2611521565b60200101906001600160f81b031916908160001a90535080610be3816115b5565b915050610b29565b5050602001519392505050565b60008083835111610c5c5760405162461bcd60e51b815260206004820152602860248201527f53697a6520706f736974696f6e2063616e277420626520626967676572207468604482015267616e20617272617960c01b6064820152608401610464565b6000838581518110610c7057610c70611521565b016020015160f81c90506000819003610c9157600060019250925050610d56565b60fc60ff821611610caa5760ff16915060019050610d56565b6000610cb760fc83611611565b610cc29060026117b4565b90506008811115610d155760405162461bcd60e51b815260206004820152601f60248201527f756e737570706f7274656420636f6d706163742073697a65206c656e677468006044820152606401610464565b6000610d40610d2588600161154d565b610d2f848a61154d565b610d3a90600161154d565b886110e2565b905080610d4e8360016117c3565b945094505050505b9250929050565b610d656111c0565b610d6d6111c0565b610d8284610d7c60088261154d565b856110e2565b6001600160401b03168152610d9860088561154d565b9350600080610da78686610bf8565b9092509050610dba61ffff82168761154d565b95506000826001600160401b03166001600160401b03811115610ddf57610ddf61145b565b6040519080825280601f01601f191660200182016040528015610e09576020820181803683370190505b50905060005b836001600160401b0316816001600160401b03161015610e9c5786610e3d6001600160401b0383168a61154d565b81518110610e4d57610e4d611521565b602001015160f81c60f81b82826001600160401b031681518110610e7357610e73611521565b60200101906001600160f81b031916908160001a90535080610e9481611587565b915050610e0f565b50602084018190526001600160401b038316604085015261ffff8216610ec3846008611560565b610ecd9190611560565b6001600160401b03166060850152509195945050505050565b6060600082516001610ef8919061154d565b6001600160401b03811115610f0f57610f0f61145b565b6040519080825280601f01601f191660200182016040528015610f39576020820181803683370190505b5090508381600081518110610f5057610f50611521565b60200101906001600160f81b031916908160001a90535060005b83518160ff161015610fe257838160ff1681518110610f8b57610f8b611521565b01602001516001600160f81b03191682610fa68360016115f8565b60ff1681518110610fb957610fb9611521565b60200101906001600160f81b031916908160001a90535080610fda8161162a565b915050610f6a565b509392505050565b6000610ff782600461154d565b8351101561103e5760405162461bcd60e51b8152602060048201526014602482015273536c6963696e67206f7574206f662072616e676560601b6044820152606401610464565b60188361104c84600361154d565b8151811061105c5761105c611521565b016020015160f81c901b60108461107485600261154d565b8151811061108457611084611521565b016020015160f81c901b60088561109c86600161154d565b815181106110ac576110ac611521565b0160200151865160f89190911c90911b908690869081106110cf576110cf611521565b016020015160f81c171717905092915050565b60008151841080156110f45750815183105b6111405760405162461bcd60e51b815260206004820181905260248201527f52616e67652063616e277420626520626967676572207468616e2061727261796044820152606401610464565b6000845b848110156111b75761115686826116bd565b6111619060086117de565b61116c9060026117f5565b84828151811061117e5761117e611521565b0160200151611190919060f81c611801565b6111a3906001600160401b03168361154d565b9150806111af816115b5565b915050611144565b50949350505050565b604051806080016040528060006001600160401b031681526020016060815260200160008152602001600081525090565b60008083601f84011261120357600080fd5b5081356001600160401b0381111561121a57600080fd5b602083019150836020828501011115610d5657600080fd5b6000806020838503121561124557600080fd5b82356001600160401b0381111561125b57600080fd5b611267858286016111f1565b90969095509350505050565b60005b8381101561128e578181015183820152602001611276565b50506000910152565b600081518084526112af816020860160208601611273565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561134b57888303603f19018552815180516001600160401b031684528781015160808986018190529061132382870182611297565b838a0151878b01526060938401519390960192909252505093860193908601906001016112ea565b509098975050505050505050565b60208152600061136c6020830184611297565b9392505050565b8035801515811461138357600080fd5b919050565b60008060006040848603121561139d57600080fd5b83356001600160401b038111156113b357600080fd5b6113bf868287016111f1565b90945092506113d2905060208501611373565b90509250925092565b6000806000806000606086880312156113f357600080fd5b85356001600160401b038082111561140a57600080fd5b61141689838a016111f1565b9097509550602088013591508082111561142f57600080fd5b5061143c888289016111f1565b909450925061144f905060408701611373565b90509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561148357600080fd5b81356001600160401b038082111561149a57600080fd5b818401915084601f8301126114ae57600080fd5b8135818111156114c0576114c061145b565b604051601f8201601f19908116603f011681019083821181831017156114e8576114e861145b565b8160405282815287602084870101111561150157600080fd5b826020860160208301376000928101602001929092525095945050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561042157610421611537565b6001600160401b0381811683821601908082111561158057611580611537565b5092915050565b60006001600160401b038281166002600160401b031981016115ab576115ab611537565b6001019392505050565b6000600182016115c7576115c7611537565b5060010190565b600080858511156115de57600080fd5b838611156115eb57600080fd5b5050820193919092039150565b60ff818116838216019081111561042157610421611537565b60ff828116828216039081111561042157610421611537565b600060ff821660ff810361164057611640611537565b60010192915050565b8183823760009101908152919050565b60006020828403121561166b57600080fd5b5051919050565b60008251611684818460208701611273565b9190910192915050565b600083516116a0818460208801611273565b6001600160e01b0319939093169190920190815260040192915050565b8181038181111561042157610421611537565b600181815b8085111561170b5781600019048211156116f1576116f1611537565b808516156116fe57918102915b93841c93908002906116d5565b509250929050565b60008261172257506001610421565b8161172f57506000610421565b8160018114611745576002811461174f5761176b565b6001915050610421565b60ff84111561176057611760611537565b50506001821b610421565b5060208310610133831016604e8410600b841016171561178e575081810a610421565b61179883836116d0565b80600019048211156117ac576117ac611537565b029392505050565b600061136c60ff841683611713565b61ffff81811683821601908082111561158057611580611537565b808202811582820484141761042157610421611537565b600061136c8383611713565b6001600160401b0381811683821602808216919082811461182457611824611537565b50509291505056fea26469706673582212204adcc061260bd4e88d8cb94855285c192ed8934de969f521596f45af53edd75064736f6c63430008120033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100765760003560e01c8062f5b4911461007b5780632d56f323146100a45780634c03fe59146100c45780639b02794b146100d7578063a0cd70fc146100fa578063b0d6b1cb1461011b578063fea8ba631461012e575b600080fd5b61008e610089366004611232565b610141565b60405161009b91906112c3565b60405180910390f35b6100b76100b2366004611232565b610427565b60405161009b9190611359565b6100b76100d2366004611388565b61051f565b6100ea6100e53660046113db565b6107ab565b604051901515815260200161009b565b61010d610108366004611471565b6107ee565b60405190815260200161009b565b6100b7610129366004611388565b610850565b61010d61013c366004611232565b610a3f565b6060600483838281811061015757610157611521565b909101356001600160f81b031916159050801561019d57508383600581811061018257610182611521565b9050013560f81c60f81b6001600160f81b031916600160f81b145b156101a6575060065b6000806101e98387878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610bf892505050565b90925090506101fc61ffff82168461154d565b925060008060005b846001600160401b0316816001600160401b031610156102b05761022960248761154d565b955061026b868a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610bf892505050565b909350915061027e61ffff831684611560565b610289906004611560565b61029c906001600160401b03168761154d565b9550806102a881611587565b915050610204565b506000806102f4878b8b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610bf892505050565b909250905061030761ffff82168861154d565b96506000826001600160401b03166001600160401b0381111561032c5761032c61145b565b60405190808252806020026020018201604052801561036557816020015b6103526111c0565b81526020019060019003908161034a5790505b50905060005b836001600160401b0316811015610416576103bc898d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d5d92505050565b8282815181106103ce576103ce611521565b60200260200101819052508181815181106103eb576103eb611521565b60200260200101516060015189610402919061154d565b98508061040e816115b5565b91505061036b565b509750505050505050505b92915050565b60606001821161046d5760405162461bcd60e51b815260206004820152600c60248201526b496e76616c69642073697a6560a01b60448201526064015b60405180910390fd5b8282600081811061048057610480611521565b9050013560f81c60f81b6001600160f81b031916606a60f81b146104d65760405162461bcd60e51b815260206004820152600d60248201526c2737ba1027a82fa922aa2aa92760991b6044820152606401610464565b6104e382600181866115ce565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929695505050505050565b60606019831461057c5760405162461bcd60e51b815260206004820152602260248201527f53637269707420686173206e6f7420746865207265717569726564206c656e676044820152610e8d60f31b6064820152608401610464565b8383600081811061058f5761058f611521565b9050013560f81c60f81b6001600160f81b031916607660f81b1480156105de5750838360018181106105c3576105c3611521565b9050013560f81c60f81b6001600160f81b03191660a960f81b145b80156106135750838360028181106105f8576105f8611521565b9050013560f81c60f81b6001600160f81b031916601460f81b145b801561064857508383601781811061062d5761062d611521565b9050013560f81c60f81b6001600160f81b031916608860f81b145b801561067d57508383601881811061066257610662611521565b9050013560f81c60f81b6001600160f81b03191660ac60f81b145b6106d75760405162461bcd60e51b815260206004820152602560248201527f53637269707420686173206e6f74207468652072657175697265642073747275604482015264637475726560d81b6064820152608401610464565b60408051601480825281830190925260009160208201818036833701905050905060035b610707600360146115f8565b60ff168160ff16101561077d5785858260ff1681811061072957610729611521565b9050013560f81c60f81b826003836107419190611611565b60ff168151811061075457610754611521565b60200101906001600160f81b031916908160001a905350806107758161162a565b9150506106fb565b5060008361078c57606f61078f565b60005b905060006107a08260f81b84610ee6565b979650505050505050565b60006019851480156107e457506107c3848484610850565b8051906020012086866040516107da929190611649565b6040518091039020145b9695505050505050565b600081516050146108395760405162461bcd60e51b8152602060048201526015602482015274092dcecc2d8d2c840d0cac2c8cae440d8cadccee8d605b1b6044820152606401610464565b610844826044610fea565b63ffffffff1692915050565b60606000600360028686604051610868929190611649565b602060405180830381855afa158015610885573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906108a89190611659565b6040516020016108ba91815260200190565b60408051601f19818403018152908290526108d491611672565b602060405180830381855afa1580156108f1573d6000803e3d6000fd5b5050506040515160601b905060008361090b5760c461090e565b60055b6040516001600160f81b031960f883901b1660208201526001600160601b03198416602182015290915060009060350160405160208183030381529060405290506000600280836040516109629190611672565b602060405180830381855afa15801561097f573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906109a29190611659565b6040516020016109b491815260200190565b60408051601f19818403018152908290526109ce91611672565b602060405180830381855afa1580156109eb573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610a0e9190611659565b90508181604051602001610a2392919061168e565b6040516020818303038152906040529450505050509392505050565b6000806002808585604051610a55929190611649565b602060405180830381855afa158015610a72573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610a959190611659565b604051602001610aa791815260200190565b60408051601f1981840301815290829052610ac191611672565b602060405180830381855afa158015610ade573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610b019190611659565b604051602001610b1391815260200190565b60408051601f1981840301815291905290506000805b6010811015610beb57828181518110610b4457610b44611521565b01602001516001600160f81b031916915082610b6182601f6116bd565b81518110610b7157610b71611521565b602001015160f81c60f81b838281518110610b8e57610b8e611521565b60200101906001600160f81b031916908160001a9053508183610bb283601f6116bd565b81518110610bc257610bc2611521565b60200101906001600160f81b031916908160001a90535080610be3816115b5565b915050610b29565b5050602001519392505050565b60008083835111610c5c5760405162461bcd60e51b815260206004820152602860248201527f53697a6520706f736974696f6e2063616e277420626520626967676572207468604482015267616e20617272617960c01b6064820152608401610464565b6000838581518110610c7057610c70611521565b016020015160f81c90506000819003610c9157600060019250925050610d56565b60fc60ff821611610caa5760ff16915060019050610d56565b6000610cb760fc83611611565b610cc29060026117b4565b90506008811115610d155760405162461bcd60e51b815260206004820152601f60248201527f756e737570706f7274656420636f6d706163742073697a65206c656e677468006044820152606401610464565b6000610d40610d2588600161154d565b610d2f848a61154d565b610d3a90600161154d565b886110e2565b905080610d4e8360016117c3565b945094505050505b9250929050565b610d656111c0565b610d6d6111c0565b610d8284610d7c60088261154d565b856110e2565b6001600160401b03168152610d9860088561154d565b9350600080610da78686610bf8565b9092509050610dba61ffff82168761154d565b95506000826001600160401b03166001600160401b03811115610ddf57610ddf61145b565b6040519080825280601f01601f191660200182016040528015610e09576020820181803683370190505b50905060005b836001600160401b0316816001600160401b03161015610e9c5786610e3d6001600160401b0383168a61154d565b81518110610e4d57610e4d611521565b602001015160f81c60f81b82826001600160401b031681518110610e7357610e73611521565b60200101906001600160f81b031916908160001a90535080610e9481611587565b915050610e0f565b50602084018190526001600160401b038316604085015261ffff8216610ec3846008611560565b610ecd9190611560565b6001600160401b03166060850152509195945050505050565b6060600082516001610ef8919061154d565b6001600160401b03811115610f0f57610f0f61145b565b6040519080825280601f01601f191660200182016040528015610f39576020820181803683370190505b5090508381600081518110610f5057610f50611521565b60200101906001600160f81b031916908160001a90535060005b83518160ff161015610fe257838160ff1681518110610f8b57610f8b611521565b01602001516001600160f81b03191682610fa68360016115f8565b60ff1681518110610fb957610fb9611521565b60200101906001600160f81b031916908160001a90535080610fda8161162a565b915050610f6a565b509392505050565b6000610ff782600461154d565b8351101561103e5760405162461bcd60e51b8152602060048201526014602482015273536c6963696e67206f7574206f662072616e676560601b6044820152606401610464565b60188361104c84600361154d565b8151811061105c5761105c611521565b016020015160f81c901b60108461107485600261154d565b8151811061108457611084611521565b016020015160f81c901b60088561109c86600161154d565b815181106110ac576110ac611521565b0160200151865160f89190911c90911b908690869081106110cf576110cf611521565b016020015160f81c171717905092915050565b60008151841080156110f45750815183105b6111405760405162461bcd60e51b815260206004820181905260248201527f52616e67652063616e277420626520626967676572207468616e2061727261796044820152606401610464565b6000845b848110156111b75761115686826116bd565b6111619060086117de565b61116c9060026117f5565b84828151811061117e5761117e611521565b0160200151611190919060f81c611801565b6111a3906001600160401b03168361154d565b9150806111af816115b5565b915050611144565b50949350505050565b604051806080016040528060006001600160401b031681526020016060815260200160008152602001600081525090565b60008083601f84011261120357600080fd5b5081356001600160401b0381111561121a57600080fd5b602083019150836020828501011115610d5657600080fd5b6000806020838503121561124557600080fd5b82356001600160401b0381111561125b57600080fd5b611267858286016111f1565b90969095509350505050565b60005b8381101561128e578181015183820152602001611276565b50506000910152565b600081518084526112af816020860160208601611273565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561134b57888303603f19018552815180516001600160401b031684528781015160808986018190529061132382870182611297565b838a0151878b01526060938401519390960192909252505093860193908601906001016112ea565b509098975050505050505050565b60208152600061136c6020830184611297565b9392505050565b8035801515811461138357600080fd5b919050565b60008060006040848603121561139d57600080fd5b83356001600160401b038111156113b357600080fd5b6113bf868287016111f1565b90945092506113d2905060208501611373565b90509250925092565b6000806000806000606086880312156113f357600080fd5b85356001600160401b038082111561140a57600080fd5b61141689838a016111f1565b9097509550602088013591508082111561142f57600080fd5b5061143c888289016111f1565b909450925061144f905060408701611373565b90509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561148357600080fd5b81356001600160401b038082111561149a57600080fd5b818401915084601f8301126114ae57600080fd5b8135818111156114c0576114c061145b565b604051601f8201601f19908116603f011681019083821181831017156114e8576114e861145b565b8160405282815287602084870101111561150157600080fd5b826020860160208301376000928101602001929092525095945050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561042157610421611537565b6001600160401b0381811683821601908082111561158057611580611537565b5092915050565b60006001600160401b038281166002600160401b031981016115ab576115ab611537565b6001019392505050565b6000600182016115c7576115c7611537565b5060010190565b600080858511156115de57600080fd5b838611156115eb57600080fd5b5050820193919092039150565b60ff818116838216019081111561042157610421611537565b60ff828116828216039081111561042157610421611537565b600060ff821660ff810361164057611640611537565b60010192915050565b8183823760009101908152919050565b60006020828403121561166b57600080fd5b5051919050565b60008251611684818460208701611273565b9190910192915050565b600083516116a0818460208801611273565b6001600160e01b0319939093169190920190815260040192915050565b8181038181111561042157610421611537565b600181815b8085111561170b5781600019048211156116f1576116f1611537565b808516156116fe57918102915b93841c93908002906116d5565b509250929050565b60008261172257506001610421565b8161172f57506000610421565b8160018114611745576002811461174f5761176b565b6001915050610421565b60ff84111561176057611760611537565b50506001821b610421565b5060208310610133831016604e8410600b841016171561178e575081810a610421565b61179883836116d0565b80600019048211156117ac576117ac611537565b029392505050565b600061136c60ff841683611713565b61ffff81811683821601908082111561158057611580611537565b808202811582820484141761042157610421611537565b600061136c8383611713565b6001600160401b0381811683821602808216919082811461182457611824611537565b50509291505056fea26469706673582212204adcc061260bd4e88d8cb94855285c192ed8934de969f521596f45af53edd75064736f6c63430008120033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:14875:30", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:30", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "86:275:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "135:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "144:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "147:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "137:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "137:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "137:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "114:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "122:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "110:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "110:17:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "129:3:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "106:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "106:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "99:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "99:35:30" + }, + "nodeType": "YulIf", + "src": "96:55:30" + }, + { + "nodeType": "YulAssignment", + "src": "160:30:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "183:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "170:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "170:20:30" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "160:6:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "233:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "242:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "245:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "235:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "235:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "235:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "205:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "221:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "225:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "217:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "217:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "229:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "213:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "213:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "202:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "202:30:30" + }, + "nodeType": "YulIf", + "src": "199:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "258:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "274:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "282:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "270:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "270:17:30" + }, + "variableNames": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "258:8:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "339:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "348:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "351:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "341:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "341:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "341:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "310:6:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "318:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "306:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "306:19:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "327:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "302:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "302:30:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "334:3:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "299:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "299:39:30" + }, + "nodeType": "YulIf", + "src": "296:59:30" + } + ] + }, + "name": "abi_decode_bytes_calldata", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "49:6:30", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "57:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nodeType": "YulTypedName", + "src": "65:8:30", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "75:6:30", + "type": "" + } + ], + "src": "14:347:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "455:320:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "501:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "510:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "513:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "503:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "503:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "503:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "476:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "485:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "472:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "472:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "497:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "468:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "468:32:30" + }, + "nodeType": "YulIf", + "src": "465:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "526:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "553:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "540:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "540:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "530:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "606:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "615:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "618:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "608:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "608:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "608:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "578:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "594:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "598:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "590:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "590:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "602:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "586:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "586:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "575:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "575:30:30" + }, + "nodeType": "YulIf", + "src": "572:50:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "631:84:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "687:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "698:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "683:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "683:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "707:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_calldata", + "nodeType": "YulIdentifier", + "src": "657:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "657:58:30" + }, + "variables": [ + { + "name": "value0_1", + "nodeType": "YulTypedName", + "src": "635:8:30", + "type": "" + }, + { + "name": "value1_1", + "nodeType": "YulTypedName", + "src": "645:8:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "724:18:30", + "value": { + "name": "value0_1", + "nodeType": "YulIdentifier", + "src": "734:8:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "724:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "751:18:30", + "value": { + "name": "value1_1", + "nodeType": "YulIdentifier", + "src": "761:8:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "751:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "413:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "424:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "436:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "444:6:30", + "type": "" + } + ], + "src": "366:409:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "846:184:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "856:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "865:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "860:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "925:63:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "950:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "955:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "946:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "946:11:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "969:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "974:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "965:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "965:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "959:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "959:18:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "939:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "939:39:30" + }, + "nodeType": "YulExpressionStatement", + "src": "939:39:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "886:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "889:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "883:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "883:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "897:19:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "899:15:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "908:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "911:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "904:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "904:10:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "899:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "879:3:30", + "statements": [] + }, + "src": "875:113:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1008:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1013:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1004:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1004:16:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1022:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "997:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "997:27:30" + }, + "nodeType": "YulExpressionStatement", + "src": "997:27:30" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "824:3:30", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "829:3:30", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "834:6:30", + "type": "" + } + ], + "src": "780:250:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1084:221:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1094:26:30", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1114:5:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1108:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "1108:12:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1098:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1136:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1141:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1129:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1129:19:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1129:19:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1196:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1203:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1192:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1192:16:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1214:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1219:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1210:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1210:14:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1226:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "1157:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "1157:76:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1157:76:30" + }, + { + "nodeType": "YulAssignment", + "src": "1242:57:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1257:3:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1270:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1278:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1266:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1266:15:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1287:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "1283:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1283:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1262:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1262:29:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1253:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1253:39:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1294:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1249:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1249:50:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1242:3:30" + } + ] + } + ] + }, + "name": "abi_encode_bytes", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1061:5:30", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1068:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1076:3:30", + "type": "" + } + ], + "src": "1035:270:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1527:1049:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1537:12:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1547:2:30", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "1541:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1558:32:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1576:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1587:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1572:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1572:18:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "1562:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1606:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1617:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1599:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1599:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1599:21:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1629:17:30", + "value": { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "1640:6:30" + }, + "variables": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1633:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1655:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1675:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1669:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "1669:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1659:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "1698:6:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1706:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1691:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1691:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1691:22:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1722:12:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1732:2:30", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "1726:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1743:25:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1754:9:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1765:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1750:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1750:18:30" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1743:3:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1777:53:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1799:9:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1814:1:30", + "type": "", + "value": "5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1817:6:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1810:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1810:14:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1795:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1795:30:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1827:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1791:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1791:39:30" + }, + "variables": [ + { + "name": "tail_2", + "nodeType": "YulTypedName", + "src": "1781:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1839:29:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1857:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1865:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1853:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1853:15:30" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "1843:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1877:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1886:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "1881:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1945:602:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1966:3:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "1979:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1987:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1975:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1975:22:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2003:2:30", + "type": "", + "value": "63" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "1999:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1999:7:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1971:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1971:36:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1959:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1959:49:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1959:49:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2021:23:30", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "2037:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2031:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "2031:13:30" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "2025:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2057:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2067:4:30", + "type": "", + "value": "0x80" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "2061:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "2091:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "2109:2:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2103:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "2103:9:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2122:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2126:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "2118:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2118:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2130:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2114:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2114:18:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2099:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2099:34:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2084:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2084:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2084:50:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2147:38:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "2177:2:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2181:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2173:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2173:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2167:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "2167:18:30" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "2151:12:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "2209:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2217:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2205:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2205:15:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "2222:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2198:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2198:27:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2198:27:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2238:61:30", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "2269:12:30" + }, + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "2287:6:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "2295:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2283:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2283:15:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "2252:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "2252:47:30" + }, + "variables": [ + { + "name": "tail_3", + "nodeType": "YulTypedName", + "src": "2242:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "2323:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "2331:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2319:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2319:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "2346:2:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "2350:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2342:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2342:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2336:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "2336:18:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2312:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2312:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2312:43:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2368:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2378:4:30", + "type": "", + "value": "0x60" + }, + "variables": [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "2372:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "2406:6:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "2414:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2402:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2402:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "2429:2:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "2433:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2425:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2425:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2419:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "2419:18:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2395:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2395:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2395:43:30" + }, + { + "nodeType": "YulAssignment", + "src": "2451:16:30", + "value": { + "name": "tail_3", + "nodeType": "YulIdentifier", + "src": "2461:6:30" + }, + "variableNames": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "2451:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2480:25:30", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "2494:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2502:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2490:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2490:15:30" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "2480:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2518:19:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2529:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2534:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2525:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2525:12:30" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2518:3:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1907:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1910:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1904:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1904:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "1918:18:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1920:14:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1929:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1932:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1925:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1925:9:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1920:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1900:3:30", + "statements": [] + }, + "src": "1896:651:30" + }, + { + "nodeType": "YulAssignment", + "src": "2556:14:30", + "value": { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "2564:6:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2556:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1496:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1507:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1518:4:30", + "type": "" + } + ], + "src": "1310:1266:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2708:98:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2725:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2736:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2718:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2718:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2718:21:30" + }, + { + "nodeType": "YulAssignment", + "src": "2748:52:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2773:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2785:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2796:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2781:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2781:18:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "2756:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "2756:44:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2748:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2677:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2688:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2699:4:30", + "type": "" + } + ], + "src": "2581:225:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2857:114:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2867:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2889:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2876:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2876:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2867:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2949:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2958:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2961:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2951:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2951:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2951:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2918:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2939:5:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2932:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2932:13:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2925:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2925:21:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2915:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2915:32:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2908:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2908:40:30" + }, + "nodeType": "YulIf", + "src": "2905:60:30" + } + ] + }, + "name": "abi_decode_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2836:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2847:5:30", + "type": "" + } + ], + "src": "2811:160:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3079:374:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3125:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3134:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3137:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3127:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3127:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3127:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3100:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3109:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3096:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3096:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3121:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3092:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3092:32:30" + }, + "nodeType": "YulIf", + "src": "3089:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3150:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3177:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3164:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3164:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3154:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3230:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3239:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3242:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3232:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3232:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3232:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3202:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3218:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3222:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "3214:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3214:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3226:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3210:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3210:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3199:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "3199:30:30" + }, + "nodeType": "YulIf", + "src": "3196:50:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3255:84:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3311:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3322:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3307:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3307:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3331:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_calldata", + "nodeType": "YulIdentifier", + "src": "3281:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "3281:58:30" + }, + "variables": [ + { + "name": "value0_1", + "nodeType": "YulTypedName", + "src": "3259:8:30", + "type": "" + }, + { + "name": "value1_1", + "nodeType": "YulTypedName", + "src": "3269:8:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3348:18:30", + "value": { + "name": "value0_1", + "nodeType": "YulIdentifier", + "src": "3358:8:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3348:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3375:18:30", + "value": { + "name": "value1_1", + "nodeType": "YulIdentifier", + "src": "3385:8:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3375:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3402:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3432:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3443:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3428:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3428:18:30" + } + ], + "functionName": { + "name": "abi_decode_bool", + "nodeType": "YulIdentifier", + "src": "3412:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "3412:35:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "3402:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_calldata_ptrt_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3029:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3040:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3052:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3060:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "3068:6:30", + "type": "" + } + ], + "src": "2976:477:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3597:646:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3643:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3652:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3655:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3645:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3645:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3645:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3618:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3627:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3614:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3614:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3639:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3610:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3610:32:30" + }, + "nodeType": "YulIf", + "src": "3607:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3668:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3695:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3682:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3682:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3672:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3714:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3732:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3736:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "3728:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3728:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3740:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3724:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3724:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "3718:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3769:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3778:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3781:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3771:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3771:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3771:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3757:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "3765:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3754:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "3754:14:30" + }, + "nodeType": "YulIf", + "src": "3751:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3794:84:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3850:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3861:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3846:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3846:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3870:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_calldata", + "nodeType": "YulIdentifier", + "src": "3820:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "3820:58:30" + }, + "variables": [ + { + "name": "value0_1", + "nodeType": "YulTypedName", + "src": "3798:8:30", + "type": "" + }, + { + "name": "value1_1", + "nodeType": "YulTypedName", + "src": "3808:8:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3887:18:30", + "value": { + "name": "value0_1", + "nodeType": "YulIdentifier", + "src": "3897:8:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3887:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3914:18:30", + "value": { + "name": "value1_1", + "nodeType": "YulIdentifier", + "src": "3924:8:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3914:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3941:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3974:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3985:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3970:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3970:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3957:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3957:32:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "3945:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4018:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4027:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4030:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4020:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4020:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4020:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "4004:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "4014:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4001:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "4001:16:30" + }, + "nodeType": "YulIf", + "src": "3998:36:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4043:86:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4099:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "4110:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4095:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4095:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4121:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_calldata", + "nodeType": "YulIdentifier", + "src": "4069:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "4069:60:30" + }, + "variables": [ + { + "name": "value2_1", + "nodeType": "YulTypedName", + "src": "4047:8:30", + "type": "" + }, + { + "name": "value3_1", + "nodeType": "YulTypedName", + "src": "4057:8:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4138:18:30", + "value": { + "name": "value2_1", + "nodeType": "YulIdentifier", + "src": "4148:8:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "4138:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4165:18:30", + "value": { + "name": "value3_1", + "nodeType": "YulIdentifier", + "src": "4175:8:30" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "4165:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4192:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4222:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4233:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4218:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4218:18:30" + } + ], + "functionName": { + "name": "abi_decode_bool", + "nodeType": "YulIdentifier", + "src": "4202:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "4202:35:30" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "4192:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_calldata_ptrt_bytes_calldata_ptrt_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3531:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3542:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3554:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3562:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "3570:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "3578:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "3586:6:30", + "type": "" + } + ], + "src": "3458:785:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4351:92:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4361:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4373:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4384:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4369:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4369:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4361:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4403:9:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4428:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4421:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4421:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4414:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4414:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4396:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4396:41:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4396:41:30" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4320:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4331:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "4342:4:30", + "type": "" + } + ], + "src": "4248:195:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4480:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4497:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4504:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4509:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "4500:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4500:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4490:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4490:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4490:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4537:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4540:4:30", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4530:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4530:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4530:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4561:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4564:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4554:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4554:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4554:15:30" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "4448:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4659:842:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4705:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4714:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4717:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4707:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4707:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4707:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4680:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4689:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4676:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4676:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4701:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4672:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4672:32:30" + }, + "nodeType": "YulIf", + "src": "4669:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4730:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4757:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4744:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "4744:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4734:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4776:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4794:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4798:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "4790:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4790:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4802:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4786:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4786:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "4780:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4831:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4840:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4843:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4833:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4833:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4833:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4819:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "4827:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4816:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "4816:14:30" + }, + "nodeType": "YulIf", + "src": "4813:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4856:32:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4870:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4881:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4866:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4866:22:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "4860:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4936:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4945:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4948:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4938:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4938:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4938:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "4915:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4919:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4911:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4911:13:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4926:7:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4907:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4907:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4900:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4900:35:30" + }, + "nodeType": "YulIf", + "src": "4897:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4961:26:30", + "value": { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "4984:2:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4971:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "4971:16:30" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "4965:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5010:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "5012:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "5012:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5012:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "5002:2:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "5006:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4999:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "4999:10:30" + }, + "nodeType": "YulIf", + "src": "4996:36:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5041:17:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5055:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "5051:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5051:7:30" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "5045:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5067:23:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5087:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5081:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "5081:9:30" + }, + "variables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "5071:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5099:71:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "5121:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "5145:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5149:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5141:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5141:13:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "5156:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5137:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5137:22:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5161:2:30", + "type": "", + "value": "63" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5133:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5133:31:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "5166:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5129:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5129:40:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5117:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5117:53:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "5103:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5229:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "5231:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "5231:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5231:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "5188:10:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "5200:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5185:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "5185:18:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "5208:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "5220:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "5205:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "5205:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "5182:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "5182:46:30" + }, + "nodeType": "YulIf", + "src": "5179:72:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5267:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "5271:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5260:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5260:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5260:22:30" + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "5298:6:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "5306:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5291:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5291:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5291:18:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5355:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5364:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5367:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5357:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5357:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5357:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "5332:2:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "5336:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5328:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5328:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5341:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5324:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5324:20:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5346:7:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5321:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "5321:33:30" + }, + "nodeType": "YulIf", + "src": "5318:53:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "5397:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5405:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5393:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5393:15:30" + }, + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "5414:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5418:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5410:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5410:11:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "5423:2:30" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "5380:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "5380:46:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5380:46:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "5450:6:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "5458:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5446:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5446:15:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5463:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5442:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5442:24:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5468:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5435:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5435:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5435:35:30" + }, + { + "nodeType": "YulAssignment", + "src": "5479:16:30", + "value": { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "5489:6:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5479:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4625:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4636:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4648:6:30", + "type": "" + } + ], + "src": "4580:921:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5615:76:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5625:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5637:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5648:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5633:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5633:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5625:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5667:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5678:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5660:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5660:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5660:25:30" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5584:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5595:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5606:4:30", + "type": "" + } + ], + "src": "5506:185:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5805:76:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5815:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5827:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5838:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5823:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5823:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5815:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5857:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5868:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5850:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5850:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5850:25:30" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5774:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5785:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5796:4:30", + "type": "" + } + ], + "src": "5696:185:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5918:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5935:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5942:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5947:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "5938:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5938:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5928:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5928:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5928:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5975:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5978:4:30", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5968:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5968:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5968:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5999:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6002:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5992:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5992:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5992:15:30" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "5886:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6050:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6067:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6074:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6079:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "6070:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6070:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6060:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6060:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6060:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6107:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6110:4:30", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6100:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6100:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6100:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6131:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6134:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6124:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6124:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6124:15:30" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "6018:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6198:77:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6208:16:30", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "6219:1:30" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "6222:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6215:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6215:9:30" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "6208:3:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6247:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "6249:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "6249:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6249:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "6239:1:30" + }, + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "6242:3:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6236:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6236:10:30" + }, + "nodeType": "YulIf", + "src": "6233:36:30" + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "6181:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "6184:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "6190:3:30", + "type": "" + } + ], + "src": "6150:125:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6327:133:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6337:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6355:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6359:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "6351:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6351:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6363:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6347:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6347:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "6341:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6374:34:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "6389:1:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6392:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "6385:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6385:10:30" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "6401:1:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6404:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "6397:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6397:10:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6381:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6381:27:30" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "6374:3:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6432:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "6434:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "6434:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6434:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "6423:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6428:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6420:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6420:11:30" + }, + "nodeType": "YulIf", + "src": "6417:37:30" + } + ] + }, + "name": "checked_add_t_uint64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "6310:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "6313:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "6319:3:30", + "type": "" + } + ], + "src": "6280:180:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6511:163:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6521:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6539:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6543:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "6535:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6535:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6547:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6531:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6531:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "6525:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6558:29:30", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6577:5:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6584:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "6573:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6573:14:30" + }, + "variables": [ + { + "name": "value_1", + "nodeType": "YulTypedName", + "src": "6562:7:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6615:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "6617:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "6617:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6617:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "6602:7:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6611:2:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "6599:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6599:15:30" + }, + "nodeType": "YulIf", + "src": "6596:41:30" + }, + { + "nodeType": "YulAssignment", + "src": "6646:22:30", + "value": { + "arguments": [ + { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "6657:7:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6666:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6653:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6653:15:30" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "6646:3:30" + } + ] + } + ] + }, + "name": "increment_t_uint64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6493:5:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "6503:3:30", + "type": "" + } + ], + "src": "6465:209:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6726:88:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6757:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "6759:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "6759:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6759:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6742:5:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6753:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "6749:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6749:6:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "6739:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6739:17:30" + }, + "nodeType": "YulIf", + "src": "6736:43:30" + }, + { + "nodeType": "YulAssignment", + "src": "6788:20:30", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6799:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6806:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6795:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6795:13:30" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "6788:3:30" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6708:5:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "6718:3:30", + "type": "" + } + ], + "src": "6679:135:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6993:162:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7010:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7021:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7003:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7003:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7003:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7044:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7055:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7040:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7040:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7060:2:30", + "type": "", + "value": "12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7033:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7033:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7033:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7083:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7094:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7079:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7079:18:30" + }, + { + "hexValue": "496e76616c69642073697a65", + "kind": "string", + "nodeType": "YulLiteral", + "src": "7099:14:30", + "type": "", + "value": "Invalid size" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7072:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7072:42:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7072:42:30" + }, + { + "nodeType": "YulAssignment", + "src": "7123:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7135:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7146:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7131:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7131:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7123:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_151b9b932514cffea6d6fb8ef0dc06f3ba8d7fdd73eacee7d06d663fcfd3d8d0__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6970:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "6984:4:30", + "type": "" + } + ], + "src": "6819:336:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7334:163:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7351:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7362:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7344:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7344:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7344:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7385:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7396:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7381:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7381:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7401:2:30", + "type": "", + "value": "13" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7374:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7374:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7374:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7424:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7435:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7420:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7420:18:30" + }, + { + "hexValue": "4e6f74204f505f52455455524e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "7440:15:30", + "type": "", + "value": "Not OP_RETURN" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7413:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7413:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7413:43:30" + }, + { + "nodeType": "YulAssignment", + "src": "7465:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7477:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7488:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7473:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7473:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7465:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_91402c28d33a78ed08b610916663678b602b8439e472ae56e5b350939be81082__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7311:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "7325:4:30", + "type": "" + } + ], + "src": "7160:337:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7632:201:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7670:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7679:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7682:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7672:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7672:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7672:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "7648:10:30" + }, + { + "name": "endIndex", + "nodeType": "YulIdentifier", + "src": "7660:8:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7645:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "7645:24:30" + }, + "nodeType": "YulIf", + "src": "7642:44:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7719:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7728:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7731:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7721:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7721:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7721:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "endIndex", + "nodeType": "YulIdentifier", + "src": "7701:8:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7711:6:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7698:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "7698:20:30" + }, + "nodeType": "YulIf", + "src": "7695:40:30" + }, + { + "nodeType": "YulAssignment", + "src": "7744:36:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7761:6:30" + }, + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "7769:10:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7757:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7757:23:30" + }, + "variableNames": [ + { + "name": "offsetOut", + "nodeType": "YulIdentifier", + "src": "7744:9:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7789:38:30", + "value": { + "arguments": [ + { + "name": "endIndex", + "nodeType": "YulIdentifier", + "src": "7806:8:30" + }, + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "7816:10:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7802:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7802:25:30" + }, + "variableNames": [ + { + "name": "lengthOut", + "nodeType": "YulIdentifier", + "src": "7789:9:30" + } + ] + } + ] + }, + "name": "calldata_array_index_range_access_t_bytes_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7566:6:30", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7574:6:30", + "type": "" + }, + { + "name": "startIndex", + "nodeType": "YulTypedName", + "src": "7582:10:30", + "type": "" + }, + { + "name": "endIndex", + "nodeType": "YulTypedName", + "src": "7594:8:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "offsetOut", + "nodeType": "YulTypedName", + "src": "7607:9:30", + "type": "" + }, + { + "name": "lengthOut", + "nodeType": "YulTypedName", + "src": "7618:9:30", + "type": "" + } + ], + "src": "7502:331:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8012:224:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8029:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8040:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8022:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8022:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8022:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8063:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8074:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8059:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8059:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8079:2:30", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8052:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8052:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8052:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8102:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8113:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8098:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8098:18:30" + }, + { + "hexValue": "53637269707420686173206e6f7420746865207265717569726564206c656e67", + "kind": "string", + "nodeType": "YulLiteral", + "src": "8118:34:30", + "type": "", + "value": "Script has not the required leng" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8091:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8091:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8091:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8173:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8184:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8169:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8169:18:30" + }, + { + "hexValue": "7468", + "kind": "string", + "nodeType": "YulLiteral", + "src": "8189:4:30", + "type": "", + "value": "th" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8162:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8162:32:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8162:32:30" + }, + { + "nodeType": "YulAssignment", + "src": "8203:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8215:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8226:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8211:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8211:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8203:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_468b299e8a0e1e70cb1eb11040ae67551f81bff6849790a1e43d8df13326d0dc__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7989:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8003:4:30", + "type": "" + } + ], + "src": "7838:398:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8415:227:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8432:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8443:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8425:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8425:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8425:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8466:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8477:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8462:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8462:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8482:2:30", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8455:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8455:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8455:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8505:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8516:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8501:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8501:18:30" + }, + { + "hexValue": "53637269707420686173206e6f74207468652072657175697265642073747275", + "kind": "string", + "nodeType": "YulLiteral", + "src": "8521:34:30", + "type": "", + "value": "Script has not the required stru" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8494:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8494:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8494:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8576:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8587:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8572:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8572:18:30" + }, + { + "hexValue": "6374757265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "8592:7:30", + "type": "", + "value": "cture" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8565:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8565:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8565:35:30" + }, + { + "nodeType": "YulAssignment", + "src": "8609:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8621:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8632:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8617:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8617:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8609:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_60215d73ebda7bea490276c54d13b9a81ca0442b21607f2e5a67acaba9d9449f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8392:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8406:4:30", + "type": "" + } + ], + "src": "8241:401:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8693:102:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8703:38:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "8718:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8721:4:30", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "8714:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8714:12:30" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "8732:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8735:4:30", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "8728:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8728:12:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8710:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8710:31:30" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "8703:3:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8767:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "8769:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "8769:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8769:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "8756:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8761:4:30", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8753:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "8753:13:30" + }, + "nodeType": "YulIf", + "src": "8750:39:30" + } + ] + }, + "name": "checked_add_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "8676:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "8679:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "8685:3:30", + "type": "" + } + ], + "src": "8647:148:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8847:104:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8857:39:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "8873:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8876:4:30", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "8869:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8869:12:30" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "8887:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8890:4:30", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "8883:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8883:12:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8865:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8865:31:30" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "8857:4:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8923:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "8925:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "8925:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8925:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "8911:4:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8917:4:30", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8908:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "8908:14:30" + }, + "nodeType": "YulIf", + "src": "8905:40:30" + } + ] + }, + "name": "checked_sub_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "8829:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "8832:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "8838:4:30", + "type": "" + } + ], + "src": "8800:151:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9001:130:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9011:31:30", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "9030:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9037:4:30", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "9026:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9026:16:30" + }, + "variables": [ + { + "name": "value_1", + "nodeType": "YulTypedName", + "src": "9015:7:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9072:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "9074:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "9074:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9074:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "9057:7:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9066:4:30", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "9054:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "9054:17:30" + }, + "nodeType": "YulIf", + "src": "9051:43:30" + }, + { + "nodeType": "YulAssignment", + "src": "9103:22:30", + "value": { + "arguments": [ + { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "9114:7:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9123:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9110:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9110:15:30" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "9103:3:30" + } + ] + } + ] + }, + "name": "increment_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8983:5:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "8993:3:30", + "type": "" + } + ], + "src": "8956:175:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9283:124:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9306:3:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9311:6:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "9319:6:30" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "9293:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "9293:33:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9293:33:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9335:26:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9349:3:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "9354:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9345:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9345:16:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "9339:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "9377:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9381:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9370:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9370:13:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9370:13:30" + }, + { + "nodeType": "YulAssignment", + "src": "9392:9:30", + "value": { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "9399:2:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9392:3:30" + } + ] + } + ] + }, + "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": "9251:3:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "9256:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9264:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9275:3:30", + "type": "" + } + ], + "src": "9136:271:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9586:171:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9603:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9614:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9596:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9596:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9596:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9637:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9648:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9633:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9633:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9653:2:30", + "type": "", + "value": "21" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9626:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9626:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9626:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9676:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9687:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9672:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9672:18:30" + }, + { + "hexValue": "496e76616c696420686561646572206c656e677468", + "kind": "string", + "nodeType": "YulLiteral", + "src": "9692:23:30", + "type": "", + "value": "Invalid header length" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9665:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9665:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9665:51:30" + }, + { + "nodeType": "YulAssignment", + "src": "9725:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9737:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9748:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9733:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9733:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9725:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_62784c5b4854856e20fdf3da2ed017d8d7ad91e96ee28ef17acb0683953b91b7__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9563:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9577:4:30", + "type": "" + } + ], + "src": "9412:345:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9843:103:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "9889:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9898:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9901:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9891:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9891:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9891:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9864:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9873:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9860:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9860:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9885:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "9856:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9856:32:30" + }, + "nodeType": "YulIf", + "src": "9853:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "9914:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9930:9:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "9924:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "9924:16:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9914:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9809:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "9820:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9832:6:30", + "type": "" + } + ], + "src": "9762:184:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10070:63:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10087:3:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10092:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10080:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10080:19:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10080:19:30" + }, + { + "nodeType": "YulAssignment", + "src": "10108:19:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10119:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10124:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10115:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10115:12:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10108:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes32__to_t_bytes32__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10046:3:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10051:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10062:3:30", + "type": "" + } + ], + "src": "9951:182:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10275:150:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10285:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10305:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10299:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "10299:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "10289:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10360:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10368:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10356:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10356:17:30" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10375:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10380:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "10321:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "10321:66:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10321:66:30" + }, + { + "nodeType": "YulAssignment", + "src": "10396:23:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10407:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10412:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10403:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10403:16:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10396:3:30" + } + ] + } + ] + }, + "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": "10251:3:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10256:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10267:3:30", + "type": "" + } + ], + "src": "10138:287:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10575:149:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10592:3:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10601:6:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10613:3:30", + "type": "", + "value": "248" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10618:3:30", + "type": "", + "value": "255" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "10609:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10609:13:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10597:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10597:26:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10585:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10585:39:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10585:39:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10644:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10649:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10640:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10640:11:30" + }, + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "10657:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10677:2:30", + "type": "", + "value": "96" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10681:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "10673:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10673:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10685:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10669:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10669:18:30" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "10665:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10665:23:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10653:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10653:36:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10633:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10633:57:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10633:57:30" + }, + { + "nodeType": "YulAssignment", + "src": "10699:19:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10710:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10715:2:30", + "type": "", + "value": "21" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10706:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10706:12:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10699:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes1_t_bytes20__to_t_bytes1_t_bytes20__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10543:3:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "10548:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10556:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10567:3:30", + "type": "" + } + ], + "src": "10430:294:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10892:242:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10902:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10922:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10916:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "10916:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "10906:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10977:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10985:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10973:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10973:17:30" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10992:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10997:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "10938:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "10938:66:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10938:66:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11013:29:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11030:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11035:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11026:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11026:16:30" + }, + "variables": [ + { + "name": "end_1", + "nodeType": "YulTypedName", + "src": "11017:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "end_1", + "nodeType": "YulIdentifier", + "src": "11058:5:30" + }, + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "11069:6:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11081:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11086:10:30", + "type": "", + "value": "0xffffffff" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "11077:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11077:20:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "11065:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11065:33:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11051:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11051:48:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11051:48:30" + }, + { + "nodeType": "YulAssignment", + "src": "11108:20:30", + "value": { + "arguments": [ + { + "name": "end_1", + "nodeType": "YulIdentifier", + "src": "11119:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11126:1:30", + "type": "", + "value": "4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11115:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11115:13:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11108:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes4__to_t_bytes_memory_ptr_t_bytes4__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10860:3:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "10865:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10873:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10884:3:30", + "type": "" + } + ], + "src": "10729:405:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11188:79:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11198:17:30", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "11210:1:30" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "11213:1:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11206:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11206:9:30" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "11198:4:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11239:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "11241:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "11241:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11241:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "11230:4:30" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "11236:1:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11227:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "11227:11:30" + }, + "nodeType": "YulIf", + "src": "11224:37:30" + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "11170:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "11173:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "11179:4:30", + "type": "" + } + ], + "src": "11139:128:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11446:230:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11463:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11474:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11456:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11456:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11456:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11497:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11508:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11493:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11493:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11513:2:30", + "type": "", + "value": "40" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11486:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11486:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11486:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11536:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11547:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11532:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11532:18:30" + }, + { + "hexValue": "53697a6520706f736974696f6e2063616e277420626520626967676572207468", + "kind": "string", + "nodeType": "YulLiteral", + "src": "11552:34:30", + "type": "", + "value": "Size position can't be bigger th" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11525:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11525:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11525:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11607:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11618:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11603:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11603:18:30" + }, + { + "hexValue": "616e206172726179", + "kind": "string", + "nodeType": "YulLiteral", + "src": "11623:10:30", + "type": "", + "value": "an array" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11596:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11596:38:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11596:38:30" + }, + { + "nodeType": "YulAssignment", + "src": "11643:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11655:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11666:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11651:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11651:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11643:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_33c6dd8650ffbd109c11f2a50d2c26a90aa65e9c0c8ae6a11ce0114fae017f47__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11423:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "11437:4:30", + "type": "" + } + ], + "src": "11272:404:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11745:358:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11755:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11770:1:30", + "type": "", + "value": "1" + }, + "variables": [ + { + "name": "power_1", + "nodeType": "YulTypedName", + "src": "11759:7:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11780:16:30", + "value": { + "name": "power_1", + "nodeType": "YulIdentifier", + "src": "11789:7:30" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "11780:5:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11805:13:30", + "value": { + "name": "_base", + "nodeType": "YulIdentifier", + "src": "11813:5:30" + }, + "variableNames": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "11805:4:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11869:228:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11914:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "11916:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "11916:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11916:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "11889:4:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11903:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "11899:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11899:6:30" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "11907:4:30" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "11895:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11895:17:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11886:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "11886:27:30" + }, + "nodeType": "YulIf", + "src": "11883:53:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11975:29:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11977:25:30", + "value": { + "arguments": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "11990:5:30" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "11997:4:30" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "11986:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11986:16:30" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "11977:5:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "11956:8:30" + }, + { + "name": "power_1", + "nodeType": "YulIdentifier", + "src": "11966:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "11952:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11952:22:30" + }, + "nodeType": "YulIf", + "src": "11949:55:30" + }, + { + "nodeType": "YulAssignment", + "src": "12017:23:30", + "value": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "12029:4:30" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "12035:4:30" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "12025:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12025:15:30" + }, + "variableNames": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "12017:4:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12053:34:30", + "value": { + "arguments": [ + { + "name": "power_1", + "nodeType": "YulIdentifier", + "src": "12069:7:30" + }, + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "12078:8:30" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "12065:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12065:22:30" + }, + "variableNames": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "12053:8:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "11838:8:30" + }, + { + "name": "power_1", + "nodeType": "YulIdentifier", + "src": "11848:7:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11835:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "11835:21:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "11857:3:30", + "statements": [] + }, + "pre": { + "nodeType": "YulBlock", + "src": "11831:3:30", + "statements": [] + }, + "src": "11827:270:30" + } + ] + }, + "name": "checked_exp_helper", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "_base", + "nodeType": "YulTypedName", + "src": "11709:5:30", + "type": "" + }, + { + "name": "exponent", + "nodeType": "YulTypedName", + "src": "11716:8:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "power", + "nodeType": "YulTypedName", + "src": "11729:5:30", + "type": "" + }, + { + "name": "base", + "nodeType": "YulTypedName", + "src": "11736:4:30", + "type": "" + } + ], + "src": "11681:422:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12167:747:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "12205:52:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12219:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12228:1:30", + "type": "", + "value": "1" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "12219:5:30" + } + ] + }, + { + "nodeType": "YulLeave", + "src": "12242:5:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "12187:8:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "12180:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12180:16:30" + }, + "nodeType": "YulIf", + "src": "12177:80:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12290:52:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12304:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12313:1:30", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "12304:5:30" + } + ] + }, + { + "nodeType": "YulLeave", + "src": "12327:5:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "12276:4:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "12269:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12269:12:30" + }, + "nodeType": "YulIf", + "src": "12266:76:30" + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "12378:52:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12392:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12401:1:30", + "type": "", + "value": "1" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "12392:5:30" + } + ] + }, + { + "nodeType": "YulLeave", + "src": "12415:5:30" + } + ] + }, + "nodeType": "YulCase", + "src": "12371:59:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12376:1:30", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12446:123:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "12481:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "12483:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "12483:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12483:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "12466:8:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12476:3:30", + "type": "", + "value": "255" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12463:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "12463:17:30" + }, + "nodeType": "YulIf", + "src": "12460:43:30" + }, + { + "nodeType": "YulAssignment", + "src": "12516:25:30", + "value": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "12529:8:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12539:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "12525:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12525:16:30" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "12516:5:30" + } + ] + }, + { + "nodeType": "YulLeave", + "src": "12554:5:30" + } + ] + }, + "nodeType": "YulCase", + "src": "12439:130:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12444:1:30", + "type": "", + "value": "2" + } + } + ], + "expression": { + "name": "base", + "nodeType": "YulIdentifier", + "src": "12358:4:30" + }, + "nodeType": "YulSwitch", + "src": "12351:218:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12667:70:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12681:28:30", + "value": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "12694:4:30" + }, + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "12700:8:30" + } + ], + "functionName": { + "name": "exp", + "nodeType": "YulIdentifier", + "src": "12690:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12690:19:30" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "12681:5:30" + } + ] + }, + { + "nodeType": "YulLeave", + "src": "12722:5:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "12591:4:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12597:2:30", + "type": "", + "value": "11" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "12588:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "12588:12:30" + }, + { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "12605:8:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12615:2:30", + "type": "", + "value": "78" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "12602:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "12602:16:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "12584:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12584:35:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "12628:4:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12634:3:30", + "type": "", + "value": "307" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "12625:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "12625:13:30" + }, + { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "12643:8:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12653:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "12640:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "12640:16:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "12621:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12621:36:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "12581:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "12581:77:30" + }, + "nodeType": "YulIf", + "src": "12578:159:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12746:57:30", + "value": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "12788:4:30" + }, + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "12794:8:30" + } + ], + "functionName": { + "name": "checked_exp_helper", + "nodeType": "YulIdentifier", + "src": "12769:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "12769:34:30" + }, + "variables": [ + { + "name": "power_1", + "nodeType": "YulTypedName", + "src": "12750:7:30", + "type": "" + }, + { + "name": "base_1", + "nodeType": "YulTypedName", + "src": "12759:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12848:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "12850:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "12850:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12850:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "power_1", + "nodeType": "YulIdentifier", + "src": "12818:7:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12835:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "12831:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12831:6:30" + }, + { + "name": "base_1", + "nodeType": "YulIdentifier", + "src": "12839:6:30" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "12827:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12827:19:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12815:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "12815:32:30" + }, + "nodeType": "YulIf", + "src": "12812:58:30" + }, + { + "nodeType": "YulAssignment", + "src": "12879:29:30", + "value": { + "arguments": [ + { + "name": "power_1", + "nodeType": "YulIdentifier", + "src": "12892:7:30" + }, + { + "name": "base_1", + "nodeType": "YulIdentifier", + "src": "12901:6:30" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "12888:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12888:20:30" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "12879:5:30" + } + ] + } + ] + }, + "name": "checked_exp_unsigned", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "base", + "nodeType": "YulTypedName", + "src": "12138:4:30", + "type": "" + }, + { + "name": "exponent", + "nodeType": "YulTypedName", + "src": "12144:8:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "power", + "nodeType": "YulTypedName", + "src": "12157:5:30", + "type": "" + } + ], + "src": "12108:806:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12987:72:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12997:56:30", + "value": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "13027:4:30" + }, + { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "13037:8:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13047:4:30", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "13033:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13033:19:30" + } + ], + "functionName": { + "name": "checked_exp_unsigned", + "nodeType": "YulIdentifier", + "src": "13006:20:30" + }, + "nodeType": "YulFunctionCall", + "src": "13006:47:30" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "12997:5:30" + } + ] + } + ] + }, + "name": "checked_exp_t_uint256_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "base", + "nodeType": "YulTypedName", + "src": "12958:4:30", + "type": "" + }, + { + "name": "exponent", + "nodeType": "YulTypedName", + "src": "12964:8:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "power", + "nodeType": "YulTypedName", + "src": "12977:5:30", + "type": "" + } + ], + "src": "12919:140:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13238:181:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13255:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13266:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13248:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13248:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13248:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13289:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13300:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13285:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13285:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13305:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13278:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13278:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13278:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13328:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13339:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13324:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13324:18:30" + }, + { + "hexValue": "756e737570706f7274656420636f6d706163742073697a65206c656e677468", + "kind": "string", + "nodeType": "YulLiteral", + "src": "13344:33:30", + "type": "", + "value": "unsupported compact size length" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13317:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13317:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13317:61:30" + }, + { + "nodeType": "YulAssignment", + "src": "13387:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13399:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13410:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13395:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13395:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13387:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_173d55eda06bf2b35eca6401b7d16b17b1fc97b7601de25f26189f5300bf3cb3__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13215:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "13229:4:30", + "type": "" + } + ], + "src": "13064:355:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13471:121:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13481:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13491:6:30", + "type": "", + "value": "0xffff" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "13485:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13506:34:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "13521:1:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "13524:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "13517:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13517:10:30" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "13533:1:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "13536:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "13529:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13529:10:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13513:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13513:27:30" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "13506:3:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13564:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "13566:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "13566:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13566:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "13555:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "13560:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "13552:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "13552:11:30" + }, + "nodeType": "YulIf", + "src": "13549:37:30" + } + ] + }, + "name": "checked_add_t_uint16", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "13454:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "13457:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "13463:3:30", + "type": "" + } + ], + "src": "13424:168:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13771:170:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13788:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13799:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13781:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13781:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13781:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13822:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13833:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13818:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13818:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13838:2:30", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13811:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13811:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13811:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13861:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13872:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13857:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13857:18:30" + }, + { + "hexValue": "536c6963696e67206f7574206f662072616e6765", + "kind": "string", + "nodeType": "YulLiteral", + "src": "13877:22:30", + "type": "", + "value": "Slicing out of range" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13850:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13850:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13850:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "13909:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13921:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13932:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13917:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13917:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13909:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_0ad8ca266b3c2b0d5c0f93daeb15638ddfa510fccabc652325dc97cf893869fd__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13748:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "13762:4:30", + "type": "" + } + ], + "src": "13597:344:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14120:182:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14137:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14148:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14130:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14130:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14130:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14171:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14182:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14167:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14167:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14187:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14160:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14160:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14160:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14210:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14221:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14206:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14206:18:30" + }, + { + "hexValue": "52616e67652063616e277420626520626967676572207468616e206172726179", + "kind": "string", + "nodeType": "YulLiteral", + "src": "14226:34:30", + "type": "", + "value": "Range can't be bigger than array" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14199:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14199:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14199:62:30" + }, + { + "nodeType": "YulAssignment", + "src": "14270:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14282:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14293:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14278:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14278:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14270:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b880bf2732d5dc41106d7c9b4d33a7d7359e73ab841c93dd915612cdef84660a__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14097:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "14111:4:30", + "type": "" + } + ], + "src": "13946:356:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14359:116:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14369:20:30", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "14384:1:30" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "14387:1:30" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "14380:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14380:9:30" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "14369:7:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14447:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "14449:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "14449:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14449:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "14418:1:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "14411:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14411:9:30" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "14425:1:30" + }, + { + "arguments": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "14432:7:30" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "14441:1:30" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "14428:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14428:15:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "14422:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "14422:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "14408:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "14408:37:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "14401:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14401:45:30" + }, + "nodeType": "YulIf", + "src": "14398:71:30" + } + ] + }, + "name": "checked_mul_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "14338:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "14341:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "14347:7:30", + "type": "" + } + ], + "src": "14307:168:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14550:61:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14560:45:30", + "value": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "14590:4:30" + }, + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "14596:8:30" + } + ], + "functionName": { + "name": "checked_exp_unsigned", + "nodeType": "YulIdentifier", + "src": "14569:20:30" + }, + "nodeType": "YulFunctionCall", + "src": "14569:36:30" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "14560:5:30" + } + ] + } + ] + }, + "name": "checked_exp_t_uint256_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "base", + "nodeType": "YulTypedName", + "src": "14521:4:30", + "type": "" + }, + { + "name": "exponent", + "nodeType": "YulTypedName", + "src": "14527:8:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "power", + "nodeType": "YulTypedName", + "src": "14540:5:30", + "type": "" + } + ], + "src": "14480:131:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14667:206:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "14677:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14695:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14699:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "14691:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14691:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14703:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14687:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14687:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "14681:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14714:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "14741:1:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "14744:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "14737:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14737:10:30" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "14753:1:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "14756:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "14749:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14749:10:30" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "14733:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14733:27:30" + }, + "variables": [ + { + "name": "product_raw", + "nodeType": "YulTypedName", + "src": "14718:11:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14769:31:30", + "value": { + "arguments": [ + { + "name": "product_raw", + "nodeType": "YulIdentifier", + "src": "14784:11:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "14797:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "14780:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14780:20:30" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "14769:7:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14845:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "14847:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "14847:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14847:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "14822:7:30" + }, + { + "name": "product_raw", + "nodeType": "YulIdentifier", + "src": "14831:11:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "14819:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "14819:24:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "14812:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14812:32:30" + }, + "nodeType": "YulIf", + "src": "14809:58:30" + } + ] + }, + "name": "checked_mul_t_uint64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "14646:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "14649:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "14655:7:30", + "type": "" + } + ], + "src": "14616:257:30" + } + ] + }, + "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, sub(shl(64, 1), 1)) { 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, sub(shl(64, 1), 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 }\n function copy_memory_to_memory_with_cleanup(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 mstore(add(dst, length), 0)\n }\n function abi_encode_bytes(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory_with_cleanup(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_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr__fromStack_library_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 let _2 := 64\n pos := add(headStart, _2)\n let tail_2 := add(add(headStart, shl(5, length)), _2)\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, add(sub(tail_2, headStart), not(63)))\n let _3 := mload(srcPtr)\n let _4 := 0x80\n mstore(tail_2, and(mload(_3), sub(shl(64, 1), 1)))\n let memberValue0 := mload(add(_3, _1))\n mstore(add(tail_2, _1), _4)\n let tail_3 := abi_encode_bytes(memberValue0, add(tail_2, _4))\n mstore(add(tail_2, _2), mload(add(_3, _2)))\n let _5 := 0x60\n mstore(add(tail_2, _5), mload(add(_3, _5)))\n tail_2 := tail_3\n srcPtr := add(srcPtr, _1)\n pos := add(pos, _1)\n }\n tail := tail_2\n }\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_bytes(value0, add(headStart, 32))\n }\n function abi_decode_bool(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes_calldata_ptrt_bool(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, sub(shl(64, 1), 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 value2 := abi_decode_bool(add(headStart, 32))\n }\n function abi_decode_tuple_t_bytes_calldata_ptrt_bytes_calldata_ptrt_bool(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := sub(shl(64, 1), 1)\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 value4 := abi_decode_bool(add(headStart, 64))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\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_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 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 := calldataload(_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 calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value0 := memPtr\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_library_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\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 checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function checked_add_t_uint64(x, y) -> sum\n {\n let _1 := sub(shl(64, 1), 1)\n sum := add(and(x, _1), and(y, _1))\n if gt(sum, _1) { panic_error_0x11() }\n }\n function increment_t_uint64(value) -> ret\n {\n let _1 := sub(shl(64, 1), 1)\n let value_1 := and(value, _1)\n if eq(value_1, _1) { panic_error_0x11() }\n ret := add(value_1, 1)\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_stringliteral_151b9b932514cffea6d6fb8ef0dc06f3ba8d7fdd73eacee7d06d663fcfd3d8d0__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 12)\n mstore(add(headStart, 64), \"Invalid size\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_91402c28d33a78ed08b610916663678b602b8439e472ae56e5b350939be81082__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 13)\n mstore(add(headStart, 64), \"Not OP_RETURN\")\n tail := add(headStart, 96)\n }\n function calldata_array_index_range_access_t_bytes_calldata_ptr(offset, length, startIndex, endIndex) -> offsetOut, lengthOut\n {\n if gt(startIndex, endIndex) { revert(0, 0) }\n if gt(endIndex, length) { revert(0, 0) }\n offsetOut := add(offset, startIndex)\n lengthOut := sub(endIndex, startIndex)\n }\n function abi_encode_tuple_t_stringliteral_468b299e8a0e1e70cb1eb11040ae67551f81bff6849790a1e43d8df13326d0dc__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"Script has not the required leng\")\n mstore(add(headStart, 96), \"th\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_60215d73ebda7bea490276c54d13b9a81ca0442b21607f2e5a67acaba9d9449f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"Script has not the required stru\")\n mstore(add(headStart, 96), \"cture\")\n tail := add(headStart, 128)\n }\n function checked_add_t_uint8(x, y) -> sum\n {\n sum := add(and(x, 0xff), and(y, 0xff))\n if gt(sum, 0xff) { panic_error_0x11() }\n }\n function checked_sub_t_uint8(x, y) -> diff\n {\n diff := sub(and(x, 0xff), and(y, 0xff))\n if gt(diff, 0xff) { panic_error_0x11() }\n }\n function increment_t_uint8(value) -> ret\n {\n let value_1 := and(value, 0xff)\n if eq(value_1, 0xff) { panic_error_0x11() }\n ret := add(value_1, 1)\n }\n function 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_tuple_t_stringliteral_62784c5b4854856e20fdf3da2ed017d8d7ad91e96ee28ef17acb0683953b91b7__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 21)\n mstore(add(headStart, 64), \"Invalid header length\")\n tail := add(headStart, 96)\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_packed_t_bytes32__to_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n mstore(pos, value0)\n end := add(pos, 32)\n }\n function abi_encode_tuple_packed_t_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_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_packed_t_bytes1_t_bytes20__to_t_bytes1_t_bytes20__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, and(value0, shl(248, 255)))\n mstore(add(pos, 1), and(value1, not(sub(shl(96, 1), 1))))\n end := add(pos, 21)\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes4__to_t_bytes_memory_ptr_t_bytes4__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n mstore(end_1, and(value1, shl(224, 0xffffffff)))\n end := add(end_1, 4)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_33c6dd8650ffbd109c11f2a50d2c26a90aa65e9c0c8ae6a11ce0114fae017f47__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 40)\n mstore(add(headStart, 64), \"Size position can't be bigger th\")\n mstore(add(headStart, 96), \"an array\")\n tail := add(headStart, 128)\n }\n function checked_exp_helper(_base, exponent) -> power, base\n {\n let power_1 := 1\n power := power_1\n base := _base\n for { } gt(exponent, power_1) { }\n {\n if gt(base, div(not(0), base)) { panic_error_0x11() }\n if and(exponent, power_1) { power := mul(power, base) }\n base := mul(base, base)\n exponent := shr(power_1, exponent)\n }\n }\n function checked_exp_unsigned(base, exponent) -> power\n {\n if iszero(exponent)\n {\n power := 1\n leave\n }\n if iszero(base)\n {\n power := 0\n leave\n }\n switch base\n case 1 {\n power := 1\n leave\n }\n case 2 {\n if gt(exponent, 255) { panic_error_0x11() }\n power := shl(exponent, 1)\n leave\n }\n if or(and(lt(base, 11), lt(exponent, 78)), and(lt(base, 307), lt(exponent, 32)))\n {\n power := exp(base, exponent)\n leave\n }\n let power_1, base_1 := checked_exp_helper(base, exponent)\n if gt(power_1, div(not(0), base_1)) { panic_error_0x11() }\n power := mul(power_1, base_1)\n }\n function checked_exp_t_uint256_t_uint8(base, exponent) -> power\n {\n power := checked_exp_unsigned(base, and(exponent, 0xff))\n }\n function abi_encode_tuple_t_stringliteral_173d55eda06bf2b35eca6401b7d16b17b1fc97b7601de25f26189f5300bf3cb3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"unsupported compact size length\")\n tail := add(headStart, 96)\n }\n function checked_add_t_uint16(x, y) -> sum\n {\n let _1 := 0xffff\n sum := add(and(x, _1), and(y, _1))\n if gt(sum, _1) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_0ad8ca266b3c2b0d5c0f93daeb15638ddfa510fccabc652325dc97cf893869fd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Slicing out of range\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_b880bf2732d5dc41106d7c9b4d33a7d7359e73ab841c93dd915612cdef84660a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Range can't be bigger than array\")\n tail := add(headStart, 96)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n product := mul(x, y)\n if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n }\n function checked_exp_t_uint256_t_uint256(base, exponent) -> power\n {\n power := checked_exp_unsigned(base, exponent)\n }\n function checked_mul_t_uint64(x, y) -> product\n {\n let _1 := sub(shl(64, 1), 1)\n let product_raw := mul(and(x, _1), and(y, _1))\n product := and(product_raw, _1)\n if iszero(eq(product, product_raw)) { panic_error_0x11() }\n }\n}", + "id": 30, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "331:9313:16:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;331:9313:16;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "331:9313:16:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1261:1150;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5137:249;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3546:981::-;;;;;;:::i;:::-;;:::i;7243:230::-;;;;;;:::i;:::-;;:::i;:::-;;;4421:14:30;;4414:22;4396:41;;4384:2;4369:18;7243:230:16;4248:195:30;6210:303:16;;;;;;:::i;:::-;;:::i;:::-;;;5660:25:30;;;5648:2;5633:18;6210:303:16;5506:185:30;7743:461:16;;;;;;:::i;:::-;;:::i;5559:498::-;;;;;;:::i;:::-;;:::i;1261:1150::-;1324:20;1379:1;1395:5;;1379:1;1395:8;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;1395:8:16;:16;;-1:-1:-1;1395:36:16;;;;;1415:5;;1421:1;1415:8;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;1415:16:16;;1427:4;1415:16;;;1395:36;1391:125;;;-1:-1:-1;1504:1:16;1391:125;1535:17;1554:21;1579:43;1599:15;1616:5;;1579:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1579:19:16;;-1:-1:-1;;;1579:43:16:i;:::-;1534:88;;-1:-1:-1;1534:88:16;-1:-1:-1;1632:33:16;;;;;;:::i;:::-;;;1676:18;1704:22;1741:8;1736:253;1759:10;-1:-1:-1;;;;;1755:14:16;:1;-1:-1:-1;;;;;1755:14:16;;1736:253;;;1790:32;515:2;1790:32;;:::i;:::-;;;1869:43;1889:15;1906:5;;1869:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1869:19:16;;-1:-1:-1;;;1869:43:16:i;:::-;1836:76;;-1:-1:-1;1836:76:16;-1:-1:-1;1945:29:16;;;;1836:76;1945:29;:::i;:::-;:33;;1977:1;1945:33;:::i;:::-;1926:52;;-1:-1:-1;;;;;1926:52:16;;;:::i;:::-;;-1:-1:-1;1771:3:16;;;;:::i;:::-;;;;1736:253;;;;2000:18;2020:22;2046:43;2066:15;2083:5;;2046:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2046:19:16;;-1:-1:-1;;;2046:43:16:i;:::-;1999:90;;-1:-1:-1;1999:90:16;-1:-1:-1;2099:34:16;;;;;;:::i;:::-;;;2144:27;2192:11;-1:-1:-1;;;;;2174:30:16;-1:-1:-1;;;;;2174:30:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2144:60;;2219:6;2214:168;2235:11;-1:-1:-1;;;;;2231:15:16;:1;:15;2214:168;;;2279:40;2296:15;2313:5;;2279:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2279:16:16;;-1:-1:-1;;;2279:40:16:i;:::-;2267:6;2274:1;2267:9;;;;;;;;:::i;:::-;;;;;;:52;;;;2352:6;2359:1;2352:9;;;;;;;;:::i;:::-;;;;;;;:19;;;2333:38;;;;;:::i;:::-;;-1:-1:-1;2248:3:16;;;;:::i;:::-;;;;2214:168;;;-1:-1:-1;2398:6:16;-1:-1:-1;;;;;;;;1261:1150:16;;;;;:::o;5137:249::-;5216:12;5270:1;5248:23;;5240:47;;;;-1:-1:-1;;;5240:47:16;;7021:2:30;5240:47:16;;;7003:21:30;7060:2;7040:18;;;7033:30;-1:-1:-1;;;7079:18:30;;;7072:42;7131:18;;5240:47:16;;;;;;;;;5305:12;;5318:1;5305:15;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;5305:23:16;;5324:4;5305:23;;;5297:49;;;;-1:-1:-1;;;5297:49:16;;7362:2:30;5297:49:16;;;7344:21:30;7401:2;7381:18;;;7374:30;-1:-1:-1;;;7420:18:30;;;7413:43;7473:18;;5297:49:16;7160:337:30;5297:49:16;5363:16;:12;5376:1;5363:12;;:16;:::i;:::-;5356:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5356:23:16;;5137:249;-1:-1:-1;;;;;;5137:249:16:o;3546:981::-;3640:12;3695:2;3672:25;;3664:72;;;;-1:-1:-1;;;3664:72:16;;8040:2:30;3664:72:16;;;8022:21:30;8079:2;8059:18;;;8052:30;8118:34;8098:18;;;8091:62;-1:-1:-1;;;8169:18:30;;;8162:32;8211:19;;3664:72:16;7838:398:30;3664:72:16;3767:12;;3780:1;3767:15;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;3767:23:16;;3786:4;3767:23;;;:72;;;;;3816:12;;3829:1;3816:15;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;3816:23:16;;3835:4;3816:23;;;3767:72;:125;;;;;3869:12;;3882:1;3869:15;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;3869:23:16;;3888:4;3869:23;;;3767:125;:210;;;;;3953:12;;3966:2;3953:16;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;3953:24:16;;3973:4;3953:24;;;3767:210;:268;;;;;4011:12;;4024:2;4011:16;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;4011:24:16;;4031:4;4011:24;;;3767:268;3746:367;;;;-1:-1:-1;;;3746:367:16;;8443:2:30;3746:367:16;;;8425:21:30;8482:2;8462:18;;;8455:30;8521:34;8501:18;;;8494:62;-1:-1:-1;;;8572:18:30;;;8565:35;8617:19;;3746:367:16;8241:401:30;3746:367:16;4158:27;;;615:2;4158:27;;;;;;;;;4124:31;;4158:27;;;;;;;;;;-1:-1:-1;;4124:61:16;-1:-1:-1;666:1:16;4195:164;4232:36;666:1;615:2;4232:36;:::i;:::-;4228:40;;:1;:40;;;4195:164;;;4333:12;;4346:1;4333:15;;;;;;;;;:::i;:::-;;;;;;;;;4289:18;666:1;4308;:21;;;;:::i;:::-;4289:41;;;;;;;;;;:::i;:::-;;;;:59;-1:-1:-1;;;;;4289:59:16;;;;;;;;-1:-1:-1;4270:3:16;;;;:::i;:::-;;;;4195:164;;;;4369:17;4389:7;:20;;4405:4;4389:20;;;4398:4;4389:20;4369:40;;4419:19;4441:55;4463:11;4456:19;;4477:18;4441:14;:55::i;:::-;4419:77;3546:981;-1:-1:-1;;;;;;;3546:981:16:o;7243:230::-;7350:4;7388:2;7373:17;;:93;;;;;7424:41;7449:6;;7457:7;7424:24;:41::i;:::-;7414:52;;;;;;7404:4;;7394:15;;;;;;;:::i;:::-;;;;;;;;:72;7373:93;7366:100;7243:230;-1:-1:-1;;;;;;7243:230:16:o;6210:303::-;6282:7;6413:6;:13;6430:2;6413:19;6405:53;;;;-1:-1:-1;;;6405:53:16;;9614:2:30;6405:53:16;;;9596:21:30;9653:2;9633:18;;;9626:30;-1:-1:-1;;;9672:18:30;;;9665:51;9733:18;;6405:53:16;9412:345:30;6405:53:16;6476:30;6495:6;6503:2;6476:18;:30::i;:::-;6469:37;;;6210:303;-1:-1:-1;;6210:303:16:o;7743:461::-;7835:12;7859:18;7880:43;7907:14;7914:6;;7907:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7890:32;;;;;;10080:19:30;;10124:2;10115:12;;9951:182;7890:32:16;;;;-1:-1:-1;;7890:32:16;;;;;;;;;;7880:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7859:64;;7933:17;7953:7;:20;;7969:4;7953:20;;;7963:3;7953:20;8013:45;;-1:-1:-1;;;;;;8026:19:16;;;;10597:26:30;8013:45:16;;;10585:39:30;-1:-1:-1;;;;;;10653:36:30;;10640:11;;;10633:57;7933:40:16;;-1:-1:-1;7983:27:16;;10706:12:30;;8013:45:16;;;;;;;;;;;;7983:75;;8068:15;8093:48;8117:22;8124:14;8117:22;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8100:40;;;;;;10080:19:30;;10124:2;10115:12;;9951:182;8100:40:16;;;;-1:-1:-1;;8100:40:16;;;;;;;;;;8093:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8068:74;;8172:14;8188:8;8159:38;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8152:45;;;;;;7743:461;;;;;:::o;5559:498::-;5621:7;5640:25;5685:39;5709:13;5716:5;;5709:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5692:31;;;;;;10080:19:30;;10124:2;10115:12;;9951:182;5692:31:16;;;;-1:-1:-1;;5692:31:16;;;;;;;;;;5685:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5668:57;;;;;;10080:19:30;;10124:2;10115:12;;9951:182;5668:57:16;;;;-1:-1:-1;;5668:57:16;;;;;;;;;;-1:-1:-1;5735:10:16;;5755:168;5776:2;5772:1;:6;5755:168;;;5805:12;5818:1;5805:15;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;5805:15:16;;-1:-1:-1;5852:12:16;5865:6;5870:1;5865:2;:6;:::i;:::-;5852:20;;;;;;;;:::i;:::-;;;;;;;;;5834:12;5847:1;5834:15;;;;;;;;:::i;:::-;;;;:38;-1:-1:-1;;;;;5834:38:16;;;;;;;;-1:-1:-1;5909:3:16;5886:12;5899:6;5904:1;5899:2;:6;:::i;:::-;5886:20;;;;;;;;:::i;:::-;;;;:26;-1:-1:-1;;;;;5886:26:16;;;;;;;;-1:-1:-1;5780:3:16;;;;:::i;:::-;;;;5755:168;;;-1:-1:-1;;6014:2:16;5996:21;5990:28;;5559:498;-1:-1:-1;;;5559:498:16:o;8210:914::-;8299:6;8307;8348:12;8333:5;:12;:27;8325:80;;;;-1:-1:-1;;;8325:80:16;;11474:2:30;8325:80:16;;;11456:21:30;11513:2;11493:18;;;11486:30;11552:34;11532:18;;;11525:62;-1:-1:-1;;;11603:18:30;;;11596:38;11651:19;;8325:80:16;11272:404:30;8325:80:16;8415:13;8437:5;8443:12;8437:19;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;8482:1:16;8471:12;;;8467:146;;8507:1;8510;8499:13;;;;;;;8467:146;403:3;8533:34;;;;8529:84;;8583:19;;;-1:-1:-1;8600:1:16;;-1:-1:-1;8583:19:16;;8529:84;8631:21;8661:33;403:3;8661:7;:33;:::i;:::-;8655:40;;:1;:40;:::i;:::-;8631:64;-1:-1:-1;469:1:16;8713:51;;;8705:95;;;;-1:-1:-1;;;8705:95:16;;13266:2:30;8705:95:16;;;13248:21:30;13305:2;13285:18;;;13278:30;13344:33;13324:18;;;13317:61;13395:18;;8705:95:16;13064:355:30;8705:95:16;8925:13;8961:91;8991:16;:12;9006:1;8991:16;:::i;:::-;9009:31;9024:16;9009:12;:31;:::i;:::-;:35;;9043:1;9009:35;:::i;:::-;9046:5;8961:29;:91::i;:::-;8925:137;-1:-1:-1;8925:137:16;9088:28;9095:16;9115:1;9088:28;:::i;:::-;9072:45;;;;;;;8210:914;;;;;;:::o;2417:775::-;2500:18;;:::i;:::-;2530:25;;:::i;:::-;2587:76;2617:8;2627:28;566:1;2617:8;2627:28;:::i;:::-;2657:5;2587:29;:76::i;:::-;-1:-1:-1;;;;;2565:99:16;;;2674:29;566:1;2674:29;;:::i;:::-;;;2715:19;2736:23;2763:36;2783:8;2793:5;2763:19;:36::i;:::-;2714:85;;-1:-1:-1;2714:85:16;-1:-1:-1;2809:28:16;;;;;;:::i;:::-;;;2848:21;2882:12;-1:-1:-1;;;;;2872:23:16;-1:-1:-1;;;;;2872:23:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2872:23:16;;2848:47;;2910:8;2905:100;2928:12;-1:-1:-1;;;;;2924:16:16;:1;-1:-1:-1;;;;;2924:16:16;;2905:100;;;2975:5;2981:12;-1:-1:-1;;;;;2981:12:16;;:8;:12;:::i;:::-;2975:19;;;;;;;;:::i;:::-;;;;;;;;;2961:8;2970:1;-1:-1:-1;;;;;2961:11:16;;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2961:33:16;;;;;;;;-1:-1:-1;2942:3:16;;;;:::i;:::-;;;;2905:100;;;-1:-1:-1;3014:15:16;;;:26;;;-1:-1:-1;;;;;3050:32:16;;:17;;;:32;3111:51;;;:32;3070:12;566:1;3111:32;:::i;:::-;:51;;;;:::i;:::-;-1:-1:-1;;;;;3092:70:16;:16;;;:70;-1:-1:-1;3092:16:16;;2417:775;-1:-1:-1;;;;;2417:775:16:o;4533:374::-;4620:12;4644:28;4685:6;:13;4701:1;4685:17;;;;:::i;:::-;-1:-1:-1;;;;;4675:28:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4675:28:16;;4644:59;;4734:11;4713:15;4729:1;4713:18;;;;;;;;:::i;:::-;;;;:32;-1:-1:-1;;;;;4713:32:16;;;;;;;;;4756:7;4773:95;4789:6;:13;4785:1;:17;;;4773:95;;;4848:6;4855:1;4848:9;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;4848:9:16;4823:15;4839:5;:1;4843;4839:5;:::i;:::-;4823:22;;;;;;;;;;:::i;:::-;;;;:34;-1:-1:-1;;;;;4823:34:16;;;;;;;;-1:-1:-1;4804:3:16;;;;:::i;:::-;;;;4773:95;;;-1:-1:-1;4885:15:16;4533:374;-1:-1:-1;;;4533:374:16:o;6578:355::-;6658:6;6697:10;:6;6706:1;6697:10;:::i;:::-;6684:2;:9;:23;;6676:56;;;;-1:-1:-1;;;6676:56:16;;13799:2:30;6676:56:16;;;13781:21:30;13838:2;13818:18;;;13811:30;-1:-1:-1;;;13857:18:30;;;13850:50;13917:18;;6676:56:16;13597:344:30;6676:56:16;6923:2;6903;6906:10;:6;6915:1;6906:10;:::i;:::-;6903:14;;;;;;;;:::i;:::-;;;;;;;6890:35;;6875:2;6855;6858:10;:6;6867:1;6858:10;:::i;:::-;6855:14;;;;;;;;:::i;:::-;;;;;;;6842:35;;6828:1;6808:2;6811:10;:6;6820:1;6811:10;:::i;:::-;6808:14;;;;;;;;:::i;:::-;;;;;6771:10;;6808:14;;;;;6795:34;;;;6771:2;;6774:6;;6771:10;;;;;;:::i;:::-;;;;;;;6758:72;:120;:168;;-1:-1:-1;6578:355:16;;;;:::o;9130:512::-;9279:4;9332:5;:12;9316:13;:28;:58;;;;;9362:5;:12;9348:11;:26;9316:58;9295:138;;;;-1:-1:-1;;;9295:138:16;;14148:2:30;9295:138:16;;;14130:21:30;;;14167:18;;;14160:30;14226:34;14206:18;;;14199:62;14278:18;;9295:138:16;13946:356:30;9295:138:16;9443:11;9482:13;9468:145;9501:11;9497:1;:15;9468:145;;;9580:19;9585:13;9580:1;:19;:::i;:::-;9575:25;;:1;:25;:::i;:::-;9569:32;;:1;:32;:::i;:::-;9549:5;9555:1;9549:8;;;;;;;;:::i;:::-;;;;;9543:59;;;9549:8;;9543:59;:::i;:::-;9533:69;;-1:-1:-1;;;;;9533:69:16;;;:::i;:::-;;-1:-1:-1;9514:3:16;;;;:::i;:::-;;;;9468:145;;;-1:-1:-1;9629:6:16;9130:512;-1:-1:-1;;;;9130:512:16:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:347:30:-;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:30;;-1:-1:-1;;;;;202:30: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;366:409;436:6;444;497:2;485:9;476:7;472:23;468:32;465:52;;;513:1;510;503:12;465:52;540:23;;-1:-1:-1;;;;;575:30: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:30;-1:-1:-1;;;;366:409:30:o;780:250::-;865:1;875:113;889:6;886:1;883:13;875:113;;;965:11;;;959:18;946:11;;;939:39;911:2;904:10;875:113;;;-1:-1:-1;;1022:1:30;1004:16;;997:27;780:250::o;1035:270::-;1076:3;1114:5;1108:12;1141:6;1136:3;1129:19;1157:76;1226:6;1219:4;1214:3;1210:14;1203:4;1196:5;1192:16;1157:76;:::i;:::-;1287:2;1266:15;-1:-1:-1;;1262:29:30;1253:39;;;;1294:4;1249:50;;1035:270;-1:-1:-1;;1035:270:30:o;1310:1266::-;1518:4;1547:2;1587;1576:9;1572:18;1617:2;1606:9;1599:21;1640:6;1675;1669:13;1706:6;1698;1691:22;1732:2;1722:12;;1765:2;1754:9;1750:18;1743:25;;1827:2;1817:6;1814:1;1810:14;1799:9;1795:30;1791:39;1865:2;1857:6;1853:15;1886:1;1896:651;1910:6;1907:1;1904:13;1896:651;;;1975:22;;;-1:-1:-1;;1971:36:30;1959:49;;2031:13;;2103:9;;-1:-1:-1;;;;;2099:34:30;2084:50;;2173:11;;;2167:18;2067:4;2205:15;;;2198:27;;;2067:4;2252:47;2283:15;;;2167:18;2252:47;:::i;:::-;2342:11;;;2336:18;2319:15;;;2312:43;2378:4;2425:11;;;2419:18;2402:15;;;;2395:43;;;;-1:-1:-1;;2525:12:30;;;;2490:15;;;;1932:1;1925:9;1896:651;;;-1:-1:-1;2564:6:30;;1310:1266;-1:-1:-1;;;;;;;;1310:1266:30:o;2581:225::-;2736:2;2725:9;2718:21;2699:4;2756:44;2796:2;2785:9;2781:18;2773:6;2756:44;:::i;:::-;2748:52;2581:225;-1:-1:-1;;;2581:225:30:o;2811:160::-;2876:20;;2932:13;;2925:21;2915:32;;2905:60;;2961:1;2958;2951:12;2905:60;2811:160;;;:::o;2976:477::-;3052:6;3060;3068;3121:2;3109:9;3100:7;3096:23;3092:32;3089:52;;;3137:1;3134;3127:12;3089:52;3164:23;;-1:-1:-1;;;;;3199:30:30;;3196:50;;;3242:1;3239;3232:12;3196:50;3281:58;3331:7;3322:6;3311:9;3307:22;3281:58;:::i;:::-;3358:8;;-1:-1:-1;3255:84:30;-1:-1:-1;3412:35:30;;-1:-1:-1;3443:2:30;3428:18;;3412:35;:::i;:::-;3402:45;;2976:477;;;;;:::o;3458:785::-;3554:6;3562;3570;3578;3586;3639:2;3627:9;3618:7;3614:23;3610:32;3607:52;;;3655:1;3652;3645:12;3607:52;3682:23;;-1:-1:-1;;;;;3754:14:30;;;3751:34;;;3781:1;3778;3771:12;3751:34;3820:58;3870:7;3861:6;3850:9;3846:22;3820:58;:::i;:::-;3897:8;;-1:-1:-1;3794:84:30;-1:-1:-1;3985:2:30;3970:18;;3957:32;;-1:-1:-1;4001:16:30;;;3998:36;;;4030:1;4027;4020:12;3998:36;;4069:60;4121:7;4110:8;4099:9;4095:24;4069:60;:::i;:::-;4148:8;;-1:-1:-1;4043:86:30;-1:-1:-1;4202:35:30;;-1:-1:-1;4233:2:30;4218:18;;4202:35;:::i;:::-;4192:45;;3458:785;;;;;;;;:::o;4448:127::-;4509:10;4504:3;4500:20;4497:1;4490:31;4540:4;4537:1;4530:15;4564:4;4561:1;4554:15;4580:921;4648:6;4701:2;4689:9;4680:7;4676:23;4672:32;4669:52;;;4717:1;4714;4707:12;4669:52;4744:23;;-1:-1:-1;;;;;4816:14:30;;;4813:34;;;4843:1;4840;4833:12;4813:34;4881:6;4870:9;4866:22;4856:32;;4926:7;4919:4;4915:2;4911:13;4907:27;4897:55;;4948:1;4945;4938:12;4897:55;4984:2;4971:16;5006:2;5002;4999:10;4996:36;;;5012:18;;:::i;:::-;5087:2;5081:9;5055:2;5141:13;;-1:-1:-1;;5137:22:30;;;5161:2;5133:31;5129:40;5117:53;;;5185:18;;;5205:22;;;5182:46;5179:72;;;5231:18;;:::i;:::-;5271:10;5267:2;5260:22;5306:2;5298:6;5291:18;5346:7;5341:2;5336;5332;5328:11;5324:20;5321:33;5318:53;;;5367:1;5364;5357:12;5318:53;5423:2;5418;5414;5410:11;5405:2;5397:6;5393:15;5380:46;5468:1;5446:15;;;5463:2;5442:24;5435:35;;;;-1:-1:-1;5450:6:30;4580:921;-1:-1:-1;;;;;4580:921:30:o;5886:127::-;5947:10;5942:3;5938:20;5935:1;5928:31;5978:4;5975:1;5968:15;6002:4;5999:1;5992:15;6018:127;6079:10;6074:3;6070:20;6067:1;6060:31;6110:4;6107:1;6100:15;6134:4;6131:1;6124:15;6150:125;6215:9;;;6236:10;;;6233:36;;;6249:18;;:::i;6280:180::-;-1:-1:-1;;;;;6385:10:30;;;6397;;;6381:27;;6420:11;;;6417:37;;;6434:18;;:::i;:::-;6417:37;6280:180;;;;:::o;6465:209::-;6503:3;-1:-1:-1;;;;;6573:14:30;;;-1:-1:-1;;;;;;6599:15:30;;6596:41;;6617:18;;:::i;:::-;6666:1;6653:15;;6465:209;-1:-1:-1;;;6465:209:30:o;6679:135::-;6718:3;6739:17;;;6736:43;;6759:18;;:::i;:::-;-1:-1:-1;6806:1:30;6795:13;;6679:135::o;7502:331::-;7607:9;7618;7660:8;7648:10;7645:24;7642:44;;;7682:1;7679;7672:12;7642:44;7711:6;7701:8;7698:20;7695:40;;;7731:1;7728;7721:12;7695:40;-1:-1:-1;;7757:23:30;;;7802:25;;;;;-1:-1:-1;7502:331:30:o;8647:148::-;8735:4;8714:12;;;8728;;;8710:31;;8753:13;;8750:39;;;8769:18;;:::i;8800:151::-;8890:4;8883:12;;;8869;;;8865:31;;8908:14;;8905:40;;;8925:18;;:::i;8956:175::-;8993:3;9037:4;9030:5;9026:16;9066:4;9057:7;9054:17;9051:43;;9074:18;;:::i;:::-;9123:1;9110:15;;8956:175;-1:-1:-1;;8956:175:30:o;9136:271::-;9319:6;9311;9306:3;9293:33;9275:3;9345:16;;9370:13;;;9345:16;9136:271;-1:-1:-1;9136:271:30:o;9762:184::-;9832:6;9885:2;9873:9;9864:7;9860:23;9856:32;9853:52;;;9901:1;9898;9891:12;9853:52;-1:-1:-1;9924:16:30;;9762:184;-1:-1:-1;9762:184:30:o;10138:287::-;10267:3;10305:6;10299:13;10321:66;10380:6;10375:3;10368:4;10360:6;10356:17;10321:66;:::i;:::-;10403:16;;;;;10138:287;-1:-1:-1;;10138:287:30:o;10729:405::-;10884:3;10922:6;10916:13;10938:66;10997:6;10992:3;10985:4;10977:6;10973:17;10938:66;:::i;:::-;-1:-1:-1;;;;;;11065:33:30;;;;11026:16;;;;11051:48;;;11126:1;11115:13;;10729:405;-1:-1:-1;;10729:405:30:o;11139:128::-;11206:9;;;11227:11;;;11224:37;;;11241:18;;:::i;11681:422::-;11770:1;11813:5;11770:1;11827:270;11848:7;11838:8;11835:21;11827:270;;;11907:4;11903:1;11899:6;11895:17;11889:4;11886:27;11883:53;;;11916:18;;:::i;:::-;11966:7;11956:8;11952:22;11949:55;;;11986:16;;;;11949:55;12065:22;;;;12025:15;;;;11827:270;;;11831:3;11681:422;;;;;:::o;12108:806::-;12157:5;12187:8;12177:80;;-1:-1:-1;12228:1:30;12242:5;;12177:80;12276:4;12266:76;;-1:-1:-1;12313:1:30;12327:5;;12266:76;12358:4;12376:1;12371:59;;;;12444:1;12439:130;;;;12351:218;;12371:59;12401:1;12392:10;;12415:5;;;12439:130;12476:3;12466:8;12463:17;12460:43;;;12483:18;;:::i;:::-;-1:-1:-1;;12539:1:30;12525:16;;12554:5;;12351:218;;12653:2;12643:8;12640:16;12634:3;12628:4;12625:13;12621:36;12615:2;12605:8;12602:16;12597:2;12591:4;12588:12;12584:35;12581:77;12578:159;;;-1:-1:-1;12690:19:30;;;12722:5;;12578:159;12769:34;12794:8;12788:4;12769:34;:::i;:::-;12839:6;12835:1;12831:6;12827:19;12818:7;12815:32;12812:58;;;12850:18;;:::i;:::-;12888:20;;12108:806;-1:-1:-1;;;12108:806:30:o;12919:140::-;12977:5;13006:47;13047:4;13037:8;13033:19;13027:4;13006:47;:::i;13424:168::-;13491:6;13517:10;;;13529;;;13513:27;;13552:11;;;13549:37;;;13566:18;;:::i;14307:168::-;14380:9;;;14411;;14428:15;;;14422:22;;14408:37;14398:71;;14449:18;;:::i;14480:131::-;14540:5;14569:36;14596:8;14590:4;14569:36;:::i;14616:257::-;-1:-1:-1;;;;;14737:10:30;;;14749;;;14733:27;14780:20;;;;14687:18;14819:24;;;14809:58;;14847:18;;:::i;:::-;14809:58;;14616:257;;;;:::o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.18;\n\n/**\n * @title BtcUtils\n * @notice This library contains functionality to make easier to work with Bitcoin transactions in Solidity.\n * @notice This library is based in this document:\n * https://developer.bitcoin.org/reference/transactions.html#raw-transaction-format\n */\nlibrary BtcUtils {\n uint8 private constant MAX_COMPACT_SIZE_LENGTH = 252;\n uint8 private constant MAX_BYTES_USED_FOR_COMPACT_SIZE = 8;\n uint8 private constant OUTPOINT_SIZE = 36;\n uint8 private constant OUTPUT_VALUE_SIZE = 8;\n uint8 private constant PUBKEY_HASH_SIZE = 20;\n uint8 private constant PUBKEY_HASH_START = 3;\n uint8 private constant CHECK_BYTES_FROM_HASH = 4;\n\n\n /**\n * @notice This struct contains the information of a tx output separated by fields\n * @notice Its just to have a structured representation of the output\n **/\n struct TxRawOutput {\n uint64 value;\n bytes pkScript;\n uint256 scriptSize;\n uint256 totalSize;\n }\n\n /// @notice Parse a raw transaction to get an array of its outputs in a structured representation\n /// @param rawTx the raw transaction\n /// @return An array of `TxRawOutput` with the outputs of the transaction\n function getOutputs(bytes calldata rawTx) public pure returns (TxRawOutput[] memory) {\n uint currentPosition = 4;\n\n if (rawTx[4] == 0x00 && rawTx[5] == 0x01) { // if its segwit, skip marker and flag\n currentPosition = 6;\n }\n \n (uint64 inputCount, uint16 inputCountSize) = parseCompactSizeInt(currentPosition, rawTx);\n currentPosition += inputCountSize;\n\n uint64 scriptLarge;\n uint16 scriptLargeSize;\n for (uint64 i = 0; i < inputCount; i++) {\n currentPosition += OUTPOINT_SIZE;\n (scriptLarge, scriptLargeSize) = parseCompactSizeInt(currentPosition, rawTx);\n currentPosition += scriptLarge + scriptLargeSize + 4;\n }\n\n (uint64 outputCount, uint16 outputCountSize) = parseCompactSizeInt(currentPosition, rawTx);\n currentPosition += outputCountSize;\n\n TxRawOutput[] memory result = new TxRawOutput[](outputCount);\n for (uint i = 0; i < outputCount; i++) {\n result[i] = extractRawOutput(currentPosition, rawTx);\n currentPosition += result[i].totalSize;\n }\n return result;\n }\n\n function extractRawOutput(uint position, bytes memory rawTx) private pure returns (TxRawOutput memory) {\n TxRawOutput memory result;\n result.value = uint64(calculateLittleEndianFragment(position, position + OUTPUT_VALUE_SIZE, rawTx));\n position += OUTPUT_VALUE_SIZE;\n\n (uint64 scriptLength, uint16 scriptLengthSize) = parseCompactSizeInt(position, rawTx);\n position += scriptLengthSize;\n\n bytes memory pkScript = new bytes(scriptLength);\n for (uint64 i = 0; i < scriptLength; i++) {\n pkScript[i] = rawTx[position + i];\n }\n result.pkScript = pkScript;\n result.scriptSize = scriptLength;\n result.totalSize = OUTPUT_VALUE_SIZE + scriptLength + scriptLengthSize;\n return result;\n }\n\n /// @notice Parse a raw pay-to-public-key-hash output script to get the corresponding address\n /// @param outputScript the fragment of the raw transaction containing the raw output script\n /// @param mainnet if the address to generate is from mainnet or testnet \n /// @return The address generated using the receiver's public key hash\n function parsePayToPubKeyHash(bytes calldata outputScript, bool mainnet) public pure returns (bytes memory) {\n require(outputScript.length == 25, \"Script has not the required length\");\n require(\n outputScript[0] == 0x76 && // OP_DUP\n outputScript[1] == 0xa9 && // OP_HASH160\n outputScript[2] == 0x14 && // pubKeyHashSize, should be always 14 (20B)\n outputScript[23] == 0x88 && // OP_EQUALVERIFY\n outputScript[24] == 0xac, // OP_CHECKSIG\n \"Script has not the required structure\"\n );\n\n bytes memory destinationAddress = new bytes(PUBKEY_HASH_SIZE);\n for(uint8 i = PUBKEY_HASH_START; i < PUBKEY_HASH_SIZE + PUBKEY_HASH_START; i++) {\n destinationAddress[i - PUBKEY_HASH_START] = outputScript[i];\n }\n\n uint8 versionByte = mainnet? 0x00 : 0x6f;\n bytes memory result = addVersionByte(bytes1(versionByte), destinationAddress);\n\n return result;\n }\n\n function addVersionByte(bytes1 versionByte, bytes memory source) private pure returns (bytes memory) {\n bytes memory dataWithVersion = new bytes(source.length + 1);\n dataWithVersion[0] = versionByte;\n\n uint8 i;\n for (i = 0; i < source.length; i++) {\n dataWithVersion[i + 1] = source[i];\n }\n\n return dataWithVersion;\n }\n\n /// @notice Parse a raw null-data output script to get its content\n /// @param outputScript the fragment of the raw transaction containing the raw output script \n /// @return The content embedded inside the script\n function parseNullDataScript(bytes calldata outputScript) public pure returns (bytes memory) {\n require(outputScript.length > 1,\"Invalid size\");\n require(outputScript[0] == 0x6a, \"Not OP_RETURN\");\n return outputScript[1:];\n }\n\n /// @notice Hash a bitcoin raw transaction to get its id (reversed double sha256)\n /// @param btcTx the transaction to hash\n /// @return The transaction id \n function hashBtcTx(bytes calldata btcTx) public pure returns (bytes32) {\n bytes memory doubleSha256 = abi.encodePacked(sha256(abi.encodePacked(sha256(btcTx))));\n bytes1 aux;\n for (uint i = 0; i < 16; i++) {\n aux = doubleSha256[i];\n doubleSha256[i] = doubleSha256[31 - i];\n doubleSha256[31 - i] = aux;\n }\n\n bytes32 result;\n assembly {\n result := mload(add(doubleSha256, 32))\n }\n return result;\n }\n\n /// @dev Gets the timestamp of a Bitcoin block header\n /// @param header The block header\n /// @return The timestamp of the block header\n function getBtcBlockTimestamp(bytes memory header) public pure returns (uint256) {\n // bitcoin header is 80 bytes and timestamp is 4 bytes from byte 68 to byte 71 (both inclusive)\n require(header.length == 80, \"Invalid header length\");\n\n return sliceUint32FromLSB(header, 68);\n }\n\n // bytes must have at least 28 bytes before the uint32\n function sliceUint32FromLSB(bytes memory bs, uint offset) private pure returns (uint32) {\n require(bs.length >= offset + 4, \"Slicing out of range\");\n\n return\n uint32(uint8(bs[offset])) |\n (uint32(uint8(bs[offset + 1])) << 8) |\n (uint32(uint8(bs[offset + 2])) << 16) |\n (uint32(uint8(bs[offset + 3])) << 24);\n }\n\n /// @notice Check if a pay-to-script-hash address belogs to a specific script\n /// @param p2sh the pay-to-script-hash address\n /// @param script the script to check\n /// @param mainnet flag to specify if its a mainnet address\n /// @return Whether the address belongs to the script or not\n function validateP2SHAdress(bytes calldata p2sh, bytes calldata script, bool mainnet) public pure returns (bool) {\n return p2sh.length == 25 && keccak256(p2sh) == keccak256(getP2SHAddressFromScript(script, mainnet));\n }\n\n /// @notice Generate a pay-to-script-hash address from a script\n /// @param script the script to generate the address from\n /// @param mainnet flag to specify if the output should be a mainnet address\n /// @return The address generate from the script\n function getP2SHAddressFromScript(bytes calldata script, bool mainnet) public pure returns (bytes memory) {\n bytes20 scriptHash = ripemd160(abi.encodePacked(sha256(script)));\n uint8 versionByte = mainnet ? 0x5 : 0xc4;\n bytes memory versionAndHash = bytes.concat(bytes1(versionByte), scriptHash);\n bytes4 checksum = bytes4(sha256(abi.encodePacked(sha256(versionAndHash))));\n return bytes.concat(versionAndHash, checksum);\n }\n\n function parseCompactSizeInt(uint sizePosition, bytes memory array) private pure returns(uint64, uint16) {\n require(array.length > sizePosition, \"Size position can't be bigger than array\");\n uint8 maxSize = uint8(array[sizePosition]);\n if (maxSize == 0) {\n return (0, 1);\n } else if (maxSize <= MAX_COMPACT_SIZE_LENGTH) {\n return (maxSize, 1);\n }\n \n uint compactSizeBytes = 2 ** (maxSize - MAX_COMPACT_SIZE_LENGTH);\n require(compactSizeBytes <= MAX_BYTES_USED_FOR_COMPACT_SIZE, \"unsupported compact size length\");\n\n // the adition of 1 is because the first byte is the indicator of the size and its not part of the number\n uint64 result = uint64(\n calculateLittleEndianFragment(sizePosition + 1, sizePosition + compactSizeBytes + 1, array)\n );\n return (result, uint16(compactSizeBytes) + 1);\n }\n\n function calculateLittleEndianFragment(\n uint fragmentStart,\n uint fragmentEnd,\n bytes memory array\n ) private pure returns (uint) {\n require(\n fragmentStart < array.length && fragmentEnd < array.length, \n \"Range can't be bigger than array\"\n );\n uint result = 0;\n for (uint i = fragmentStart; i < fragmentEnd; i++) {\n result += uint8(array[i]) * uint64(2 ** (8 * (i - (fragmentStart))));\n }\n return result;\n }\n}", + "sourcePath": "@rsksmart/btc-transaction-solidity-helper/contracts/BtcUtils.sol", + "ast": { + "absolutePath": "@rsksmart/btc-transaction-solidity-helper/contracts/BtcUtils.sol", + "exportedSymbols": { + "BtcUtils": [ + 2805 + ] + }, + "id": 2806, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1937, + "literals": [ + "solidity", + "^", + "0.8", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "32:24:16" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "BtcUtils", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 1938, + "nodeType": "StructuredDocumentation", + "src": "58:272:16", + "text": " @title BtcUtils\n @notice This library contains functionality to make easier to work with Bitcoin transactions in Solidity.\n @notice This library is based in this document:\n https://developer.bitcoin.org/reference/transactions.html#raw-transaction-format" + }, + "fullyImplemented": true, + "id": 2805, + "linearizedBaseContracts": [ + 2805 + ], + "name": "BtcUtils", + "nameLocation": "339:8:16", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 1941, + "mutability": "constant", + "name": "MAX_COMPACT_SIZE_LENGTH", + "nameLocation": "377:23:16", + "nodeType": "VariableDeclaration", + "scope": 2805, + "src": "354:52:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1939, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "354:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "323532", + "id": 1940, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "403:3:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_252_by_1", + "typeString": "int_const 252" + }, + "value": "252" + }, + "visibility": "private" + }, + { + "constant": true, + "id": 1944, + "mutability": "constant", + "name": "MAX_BYTES_USED_FOR_COMPACT_SIZE", + "nameLocation": "435:31:16", + "nodeType": "VariableDeclaration", + "scope": 2805, + "src": "412:58:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1942, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "412:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "38", + "id": 1943, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "469:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "visibility": "private" + }, + { + "constant": true, + "id": 1947, + "mutability": "constant", + "name": "OUTPOINT_SIZE", + "nameLocation": "499:13:16", + "nodeType": "VariableDeclaration", + "scope": 2805, + "src": "476:41:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1945, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "476:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "3336", + "id": 1946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "515:2:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_36_by_1", + "typeString": "int_const 36" + }, + "value": "36" + }, + "visibility": "private" + }, + { + "constant": true, + "id": 1950, + "mutability": "constant", + "name": "OUTPUT_VALUE_SIZE", + "nameLocation": "546:17:16", + "nodeType": "VariableDeclaration", + "scope": 2805, + "src": "523:44:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1948, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "523:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "38", + "id": 1949, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "566:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "visibility": "private" + }, + { + "constant": true, + "id": 1953, + "mutability": "constant", + "name": "PUBKEY_HASH_SIZE", + "nameLocation": "596:16:16", + "nodeType": "VariableDeclaration", + "scope": 2805, + "src": "573:44:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1951, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "573:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "3230", + "id": 1952, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "615:2:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + "visibility": "private" + }, + { + "constant": true, + "id": 1956, + "mutability": "constant", + "name": "PUBKEY_HASH_START", + "nameLocation": "646:17:16", + "nodeType": "VariableDeclaration", + "scope": 2805, + "src": "623:44:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1954, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "623:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "33", + "id": 1955, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "666:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "visibility": "private" + }, + { + "constant": true, + "id": 1959, + "mutability": "constant", + "name": "CHECK_BYTES_FROM_HASH", + "nameLocation": "696:21:16", + "nodeType": "VariableDeclaration", + "scope": 2805, + "src": "673:48:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1957, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "673:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "34", + "id": 1958, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "720:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "private" + }, + { + "canonicalName": "BtcUtils.TxRawOutput", + "id": 1968, + "members": [ + { + "constant": false, + "id": 1961, + "mutability": "mutable", + "name": "value", + "nameLocation": "943:5:16", + "nodeType": "VariableDeclaration", + "scope": 1968, + "src": "936:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1960, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "936:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1963, + "mutability": "mutable", + "name": "pkScript", + "nameLocation": "964:8:16", + "nodeType": "VariableDeclaration", + "scope": 1968, + "src": "958:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1962, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "958:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1965, + "mutability": "mutable", + "name": "scriptSize", + "nameLocation": "990:10:16", + "nodeType": "VariableDeclaration", + "scope": 1968, + "src": "982:18:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1964, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "982:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1967, + "mutability": "mutable", + "name": "totalSize", + "nameLocation": "1018:9:16", + "nodeType": "VariableDeclaration", + "scope": 1968, + "src": "1010:17:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1966, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1010:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "TxRawOutput", + "nameLocation": "914:11:16", + "nodeType": "StructDefinition", + "scope": 2805, + "src": "907:127:16", + "visibility": "public" + }, + { + "body": { + "id": 2106, + "nodeType": "Block", + "src": "1346:1065:16", + "statements": [ + { + "assignments": [ + 1979 + ], + "declarations": [ + { + "constant": false, + "id": 1979, + "mutability": "mutable", + "name": "currentPosition", + "nameLocation": "1361:15:16", + "nodeType": "VariableDeclaration", + "scope": 2106, + "src": "1356:20:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1978, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1356:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1981, + "initialValue": { + "hexValue": "34", + "id": 1980, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1379:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1356:24:16" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 1986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 1982, + "name": "rawTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1971, + "src": "1395:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1984, + "indexExpression": { + "hexValue": "34", + "id": 1983, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1401:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1395:8:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30783030", + "id": 1985, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1407:4:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x00" + }, + "src": "1395:16:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 1991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 1987, + "name": "rawTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1971, + "src": "1415:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1989, + "indexExpression": { + "hexValue": "35", + "id": 1988, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1421:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1415:8:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30783031", + "id": 1990, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1427:4:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "0x01" + }, + "src": "1415:16:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1395:36:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1998, + "nodeType": "IfStatement", + "src": "1391:125:16", + "trueBody": { + "id": 1997, + "nodeType": "Block", + "src": "1433:83:16", + "statements": [ + { + "expression": { + "id": 1995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1993, + "name": "currentPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1979, + "src": "1486:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "36", + "id": 1994, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1504:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" + }, + "value": "6" + }, + "src": "1486:19:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1996, + "nodeType": "ExpressionStatement", + "src": "1486:19:16" + } + ] + } + }, + { + "assignments": [ + 2000, + 2002 + ], + "declarations": [ + { + "constant": false, + "id": 2000, + "mutability": "mutable", + "name": "inputCount", + "nameLocation": "1542:10:16", + "nodeType": "VariableDeclaration", + "scope": 2106, + "src": "1535:17:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1999, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1535:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2002, + "mutability": "mutable", + "name": "inputCountSize", + "nameLocation": "1561:14:16", + "nodeType": "VariableDeclaration", + "scope": 2106, + "src": "1554:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 2001, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "1554:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + } + ], + "id": 2007, + "initialValue": { + "arguments": [ + { + "id": 2004, + "name": "currentPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1979, + "src": "1599:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2005, + "name": "rawTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1971, + "src": "1616:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 2003, + "name": "parseCompactSizeInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2738, + "src": "1579:19:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint64_$_t_uint16_$", + "typeString": "function (uint256,bytes memory) pure returns (uint64,uint16)" + } + }, + "id": 2006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1579:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint64_$_t_uint16_$", + "typeString": "tuple(uint64,uint16)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1534:88:16" + }, + { + "expression": { + "id": 2010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2008, + "name": "currentPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1979, + "src": "1632:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 2009, + "name": "inputCountSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2002, + "src": "1651:14:16", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "src": "1632:33:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2011, + "nodeType": "ExpressionStatement", + "src": "1632:33:16" + }, + { + "assignments": [ + 2013 + ], + "declarations": [ + { + "constant": false, + "id": 2013, + "mutability": "mutable", + "name": "scriptLarge", + "nameLocation": "1683:11:16", + "nodeType": "VariableDeclaration", + "scope": 2106, + "src": "1676:18:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2012, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1676:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "id": 2014, + "nodeType": "VariableDeclarationStatement", + "src": "1676:18:16" + }, + { + "assignments": [ + 2016 + ], + "declarations": [ + { + "constant": false, + "id": 2016, + "mutability": "mutable", + "name": "scriptLargeSize", + "nameLocation": "1711:15:16", + "nodeType": "VariableDeclaration", + "scope": 2106, + "src": "1704:22:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 2015, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "1704:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + } + ], + "id": 2017, + "nodeType": "VariableDeclarationStatement", + "src": "1704:22:16" + }, + { + "body": { + "id": 2049, + "nodeType": "Block", + "src": "1776:213:16", + "statements": [ + { + "expression": { + "id": 2030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2028, + "name": "currentPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1979, + "src": "1790:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 2029, + "name": "OUTPOINT_SIZE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1947, + "src": "1809:13:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "1790:32:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2031, + "nodeType": "ExpressionStatement", + "src": "1790:32:16" + }, + { + "expression": { + "id": 2039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 2032, + "name": "scriptLarge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2013, + "src": "1837:11:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "id": 2033, + "name": "scriptLargeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2016, + "src": "1850:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "id": 2034, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1836:30:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint64_$_t_uint16_$", + "typeString": "tuple(uint64,uint16)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2036, + "name": "currentPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1979, + "src": "1889:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2037, + "name": "rawTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1971, + "src": "1906:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 2035, + "name": "parseCompactSizeInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2738, + "src": "1869:19:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint64_$_t_uint16_$", + "typeString": "function (uint256,bytes memory) pure returns (uint64,uint16)" + } + }, + "id": 2038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1869:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint64_$_t_uint16_$", + "typeString": "tuple(uint64,uint16)" + } + }, + "src": "1836:76:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2040, + "nodeType": "ExpressionStatement", + "src": "1836:76:16" + }, + { + "expression": { + "id": 2047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2041, + "name": "currentPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1979, + "src": "1926:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 2046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 2044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2042, + "name": "scriptLarge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2013, + "src": "1945:11:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 2043, + "name": "scriptLargeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2016, + "src": "1959:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "src": "1945:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "34", + "id": 2045, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1977:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "1945:33:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "1926:52:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2048, + "nodeType": "ExpressionStatement", + "src": "1926:52:16" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 2024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2022, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2019, + "src": "1755:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2023, + "name": "inputCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2000, + "src": "1759:10:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "1755:14:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2050, + "initializationExpression": { + "assignments": [ + 2019 + ], + "declarations": [ + { + "constant": false, + "id": 2019, + "mutability": "mutable", + "name": "i", + "nameLocation": "1748:1:16", + "nodeType": "VariableDeclaration", + "scope": 2050, + "src": "1741:8:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2018, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1741:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "id": 2021, + "initialValue": { + "hexValue": "30", + "id": 2020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1752:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1741:12:16" + }, + "loopExpression": { + "expression": { + "id": 2026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1771:3:16", + "subExpression": { + "id": 2025, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2019, + "src": "1771:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 2027, + "nodeType": "ExpressionStatement", + "src": "1771:3:16" + }, + "nodeType": "ForStatement", + "src": "1736:253:16" + }, + { + "assignments": [ + 2052, + 2054 + ], + "declarations": [ + { + "constant": false, + "id": 2052, + "mutability": "mutable", + "name": "outputCount", + "nameLocation": "2007:11:16", + "nodeType": "VariableDeclaration", + "scope": 2106, + "src": "2000:18:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2051, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2000:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2054, + "mutability": "mutable", + "name": "outputCountSize", + "nameLocation": "2027:15:16", + "nodeType": "VariableDeclaration", + "scope": 2106, + "src": "2020:22:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 2053, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "2020:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + } + ], + "id": 2059, + "initialValue": { + "arguments": [ + { + "id": 2056, + "name": "currentPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1979, + "src": "2066:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2057, + "name": "rawTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1971, + "src": "2083:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 2055, + "name": "parseCompactSizeInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2738, + "src": "2046:19:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint64_$_t_uint16_$", + "typeString": "function (uint256,bytes memory) pure returns (uint64,uint16)" + } + }, + "id": 2058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2046:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint64_$_t_uint16_$", + "typeString": "tuple(uint64,uint16)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1999:90:16" + }, + { + "expression": { + "id": 2062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2060, + "name": "currentPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1979, + "src": "2099:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 2061, + "name": "outputCountSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2054, + "src": "2118:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "src": "2099:34:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2063, + "nodeType": "ExpressionStatement", + "src": "2099:34:16" + }, + { + "assignments": [ + 2068 + ], + "declarations": [ + { + "constant": false, + "id": 2068, + "mutability": "mutable", + "name": "result", + "nameLocation": "2165:6:16", + "nodeType": "VariableDeclaration", + "scope": 2106, + "src": "2144:27:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput[]" + }, + "typeName": { + "baseType": { + "id": 2066, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2065, + "name": "TxRawOutput", + "nameLocations": [ + "2144:11:16" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1968, + "src": "2144:11:16" + }, + "referencedDeclaration": 1968, + "src": "2144:11:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_storage_ptr", + "typeString": "struct BtcUtils.TxRawOutput" + } + }, + "id": 2067, + "nodeType": "ArrayTypeName", + "src": "2144:13:16", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_storage_$dyn_storage_ptr", + "typeString": "struct BtcUtils.TxRawOutput[]" + } + }, + "visibility": "internal" + } + ], + "id": 2075, + "initialValue": { + "arguments": [ + { + "id": 2073, + "name": "outputCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2052, + "src": "2192:11:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "id": 2072, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2174:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (struct BtcUtils.TxRawOutput memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 2070, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2069, + "name": "TxRawOutput", + "nameLocations": [ + "2178:11:16" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1968, + "src": "2178:11:16" + }, + "referencedDeclaration": 1968, + "src": "2178:11:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_storage_ptr", + "typeString": "struct BtcUtils.TxRawOutput" + } + }, + "id": 2071, + "nodeType": "ArrayTypeName", + "src": "2178:13:16", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_storage_$dyn_storage_ptr", + "typeString": "struct BtcUtils.TxRawOutput[]" + } + } + }, + "id": 2074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2174:30:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2144:60:16" + }, + { + "body": { + "id": 2102, + "nodeType": "Block", + "src": "2253:129:16", + "statements": [ + { + "expression": { + "id": 2093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2086, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2068, + "src": "2267:6:16", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory[] memory" + } + }, + "id": 2088, + "indexExpression": { + "id": 2087, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2077, + "src": "2274:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2267:9:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2090, + "name": "currentPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1979, + "src": "2296:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2091, + "name": "rawTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1971, + "src": "2313:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 2089, + "name": "extractRawOutput", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2207, + "src": "2279:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_struct$_TxRawOutput_$1968_memory_ptr_$", + "typeString": "function (uint256,bytes memory) pure returns (struct BtcUtils.TxRawOutput memory)" + } + }, + "id": 2092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2279:40:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory" + } + }, + "src": "2267:52:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory" + } + }, + "id": 2094, + "nodeType": "ExpressionStatement", + "src": "2267:52:16" + }, + { + "expression": { + "id": 2100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2095, + "name": "currentPosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1979, + "src": "2333:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "expression": { + "baseExpression": { + "id": 2096, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2068, + "src": "2352:6:16", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory[] memory" + } + }, + "id": 2098, + "indexExpression": { + "id": 2097, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2077, + "src": "2359:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2352:9:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory" + } + }, + "id": 2099, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2362:9:16", + "memberName": "totalSize", + "nodeType": "MemberAccess", + "referencedDeclaration": 1967, + "src": "2352:19:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2333:38:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2101, + "nodeType": "ExpressionStatement", + "src": "2333:38:16" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2080, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2077, + "src": "2231:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2081, + "name": "outputCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2052, + "src": "2235:11:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "2231:15:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2103, + "initializationExpression": { + "assignments": [ + 2077 + ], + "declarations": [ + { + "constant": false, + "id": 2077, + "mutability": "mutable", + "name": "i", + "nameLocation": "2224:1:16", + "nodeType": "VariableDeclaration", + "scope": 2103, + "src": "2219:6:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2076, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2219:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2079, + "initialValue": { + "hexValue": "30", + "id": 2078, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2228:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2219:10:16" + }, + "loopExpression": { + "expression": { + "id": 2084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2248:3:16", + "subExpression": { + "id": 2083, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2077, + "src": "2248:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2085, + "nodeType": "ExpressionStatement", + "src": "2248:3:16" + }, + "nodeType": "ForStatement", + "src": "2214:168:16" + }, + { + "expression": { + "id": 2104, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2068, + "src": "2398:6:16", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory[] memory" + } + }, + "functionReturnParameters": 1977, + "id": 2105, + "nodeType": "Return", + "src": "2391:13:16" + } + ] + }, + "documentation": { + "id": 1969, + "nodeType": "StructuredDocumentation", + "src": "1040:216:16", + "text": "@notice Parse a raw transaction to get an array of its outputs in a structured representation\n @param rawTx the raw transaction\n @return An array of `TxRawOutput` with the outputs of the transaction" + }, + "functionSelector": "00f5b491", + "id": 2107, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getOutputs", + "nameLocation": "1270:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1972, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1971, + "mutability": "mutable", + "name": "rawTx", + "nameLocation": "1296:5:16", + "nodeType": "VariableDeclaration", + "scope": 2107, + "src": "1281:20:16", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1970, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1281:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1280:22:16" + }, + "returnParameters": { + "id": 1977, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1976, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2107, + "src": "1324:20:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput[]" + }, + "typeName": { + "baseType": { + "id": 1974, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1973, + "name": "TxRawOutput", + "nameLocations": [ + "1324:11:16" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1968, + "src": "1324:11:16" + }, + "referencedDeclaration": 1968, + "src": "1324:11:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_storage_ptr", + "typeString": "struct BtcUtils.TxRawOutput" + } + }, + "id": 1975, + "nodeType": "ArrayTypeName", + "src": "1324:13:16", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_storage_$dyn_storage_ptr", + "typeString": "struct BtcUtils.TxRawOutput[]" + } + }, + "visibility": "internal" + } + ], + "src": "1323:22:16" + }, + "scope": 2805, + "src": "1261:1150:16", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2206, + "nodeType": "Block", + "src": "2520:672:16", + "statements": [ + { + "assignments": [ + 2119 + ], + "declarations": [ + { + "constant": false, + "id": 2119, + "mutability": "mutable", + "name": "result", + "nameLocation": "2549:6:16", + "nodeType": "VariableDeclaration", + "scope": 2206, + "src": "2530:25:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput" + }, + "typeName": { + "id": 2118, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2117, + "name": "TxRawOutput", + "nameLocations": [ + "2530:11:16" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1968, + "src": "2530:11:16" + }, + "referencedDeclaration": 1968, + "src": "2530:11:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_storage_ptr", + "typeString": "struct BtcUtils.TxRawOutput" + } + }, + "visibility": "internal" + } + ], + "id": 2120, + "nodeType": "VariableDeclarationStatement", + "src": "2530:25:16" + }, + { + "expression": { + "id": 2134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2121, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2119, + "src": "2565:6:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory" + } + }, + "id": 2123, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "2572:5:16", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1961, + "src": "2565:12:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 2127, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2109, + "src": "2617:8:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2128, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2109, + "src": "2627:8:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 2129, + "name": "OUTPUT_VALUE_SIZE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1950, + "src": "2638:17:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "2627:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2131, + "name": "rawTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2111, + "src": "2657:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2126, + "name": "calculateLittleEndianFragment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2804, + "src": "2587:29:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,bytes memory) pure returns (uint256)" + } + }, + "id": 2132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2587:76:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2125, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2580:6:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 2124, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2580:6:16", + "typeDescriptions": {} + } + }, + "id": 2133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2580:84:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "2565:99:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 2135, + "nodeType": "ExpressionStatement", + "src": "2565:99:16" + }, + { + "expression": { + "id": 2138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2136, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2109, + "src": "2674:8:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 2137, + "name": "OUTPUT_VALUE_SIZE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1950, + "src": "2686:17:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "2674:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2139, + "nodeType": "ExpressionStatement", + "src": "2674:29:16" + }, + { + "assignments": [ + 2141, + 2143 + ], + "declarations": [ + { + "constant": false, + "id": 2141, + "mutability": "mutable", + "name": "scriptLength", + "nameLocation": "2722:12:16", + "nodeType": "VariableDeclaration", + "scope": 2206, + "src": "2715:19:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2140, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2715:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2143, + "mutability": "mutable", + "name": "scriptLengthSize", + "nameLocation": "2743:16:16", + "nodeType": "VariableDeclaration", + "scope": 2206, + "src": "2736:23:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 2142, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "2736:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + } + ], + "id": 2148, + "initialValue": { + "arguments": [ + { + "id": 2145, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2109, + "src": "2783:8:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2146, + "name": "rawTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2111, + "src": "2793:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2144, + "name": "parseCompactSizeInt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2738, + "src": "2763:19:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint64_$_t_uint16_$", + "typeString": "function (uint256,bytes memory) pure returns (uint64,uint16)" + } + }, + "id": 2147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2763:36:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint64_$_t_uint16_$", + "typeString": "tuple(uint64,uint16)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2714:85:16" + }, + { + "expression": { + "id": 2151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2149, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2109, + "src": "2809:8:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 2150, + "name": "scriptLengthSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2143, + "src": "2821:16:16", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "src": "2809:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2152, + "nodeType": "ExpressionStatement", + "src": "2809:28:16" + }, + { + "assignments": [ + 2154 + ], + "declarations": [ + { + "constant": false, + "id": 2154, + "mutability": "mutable", + "name": "pkScript", + "nameLocation": "2861:8:16", + "nodeType": "VariableDeclaration", + "scope": 2206, + "src": "2848:21:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2153, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2848:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 2159, + "initialValue": { + "arguments": [ + { + "id": 2157, + "name": "scriptLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2141, + "src": "2882:12:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "id": 2156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2872:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 2155, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2876:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 2158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2872:23:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2848:47:16" + }, + { + "body": { + "id": 2180, + "nodeType": "Block", + "src": "2947:58:16", + "statements": [ + { + "expression": { + "id": 2178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2170, + "name": "pkScript", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2154, + "src": "2961:8:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2172, + "indexExpression": { + "id": 2171, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2161, + "src": "2970:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2961:11:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 2173, + "name": "rawTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2111, + "src": "2975:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2177, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2174, + "name": "position", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2109, + "src": "2981:8:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 2175, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2161, + "src": "2992:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "2981:12:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2975:19:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "2961:33:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 2179, + "nodeType": "ExpressionStatement", + "src": "2961:33:16" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 2166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2164, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2161, + "src": "2924:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2165, + "name": "scriptLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2141, + "src": "2928:12:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "2924:16:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2181, + "initializationExpression": { + "assignments": [ + 2161 + ], + "declarations": [ + { + "constant": false, + "id": 2161, + "mutability": "mutable", + "name": "i", + "nameLocation": "2917:1:16", + "nodeType": "VariableDeclaration", + "scope": 2181, + "src": "2910:8:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2160, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2910:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "id": 2163, + "initialValue": { + "hexValue": "30", + "id": 2162, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2921:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2910:12:16" + }, + "loopExpression": { + "expression": { + "id": 2168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2942:3:16", + "subExpression": { + "id": 2167, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2161, + "src": "2942:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 2169, + "nodeType": "ExpressionStatement", + "src": "2942:3:16" + }, + "nodeType": "ForStatement", + "src": "2905:100:16" + }, + { + "expression": { + "id": 2186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2182, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2119, + "src": "3014:6:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory" + } + }, + "id": 2184, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3021:8:16", + "memberName": "pkScript", + "nodeType": "MemberAccess", + "referencedDeclaration": 1963, + "src": "3014:15:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2185, + "name": "pkScript", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2154, + "src": "3032:8:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "src": "3014:26:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2187, + "nodeType": "ExpressionStatement", + "src": "3014:26:16" + }, + { + "expression": { + "id": 2192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2188, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2119, + "src": "3050:6:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory" + } + }, + "id": 2190, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3057:10:16", + "memberName": "scriptSize", + "nodeType": "MemberAccess", + "referencedDeclaration": 1965, + "src": "3050:17:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2191, + "name": "scriptLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2141, + "src": "3070:12:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "3050:32:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2193, + "nodeType": "ExpressionStatement", + "src": "3050:32:16" + }, + { + "expression": { + "id": 2202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2194, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2119, + "src": "3092:6:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory" + } + }, + "id": 2196, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3099:9:16", + "memberName": "totalSize", + "nodeType": "MemberAccess", + "referencedDeclaration": 1967, + "src": "3092:16:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 2201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 2199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2197, + "name": "OUTPUT_VALUE_SIZE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1950, + "src": "3111:17:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 2198, + "name": "scriptLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2141, + "src": "3131:12:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "3111:32:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 2200, + "name": "scriptLengthSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2143, + "src": "3146:16:16", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "src": "3111:51:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "3092:70:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2203, + "nodeType": "ExpressionStatement", + "src": "3092:70:16" + }, + { + "expression": { + "id": 2204, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2119, + "src": "3179:6:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory" + } + }, + "functionReturnParameters": 2116, + "id": 2205, + "nodeType": "Return", + "src": "3172:13:16" + } + ] + }, + "id": 2207, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "extractRawOutput", + "nameLocation": "2426:16:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2112, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2109, + "mutability": "mutable", + "name": "position", + "nameLocation": "2448:8:16", + "nodeType": "VariableDeclaration", + "scope": 2207, + "src": "2443:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2108, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2443:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2111, + "mutability": "mutable", + "name": "rawTx", + "nameLocation": "2471:5:16", + "nodeType": "VariableDeclaration", + "scope": 2207, + "src": "2458:18:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2110, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2458:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2442:35:16" + }, + "returnParameters": { + "id": 2116, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2115, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2207, + "src": "2500:18:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput" + }, + "typeName": { + "id": 2114, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2113, + "name": "TxRawOutput", + "nameLocations": [ + "2500:11:16" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1968, + "src": "2500:11:16" + }, + "referencedDeclaration": 1968, + "src": "2500:11:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_storage_ptr", + "typeString": "struct BtcUtils.TxRawOutput" + } + }, + "visibility": "internal" + } + ], + "src": "2499:20:16" + }, + "scope": 2805, + "src": "2417:775:16", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2308, + "nodeType": "Block", + "src": "3654:873:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2218, + "name": "outputScript", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2210, + "src": "3672:12:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 2219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3685:6:16", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3672:19:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3235", + "id": 2220, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3695:2:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_25_by_1", + "typeString": "int_const 25" + }, + "value": "25" + }, + "src": "3672:25:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "53637269707420686173206e6f7420746865207265717569726564206c656e677468", + "id": 2222, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3699:36:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_468b299e8a0e1e70cb1eb11040ae67551f81bff6849790a1e43d8df13326d0dc", + "typeString": "literal_string \"Script has not the required length\"" + }, + "value": "Script has not the required length" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_468b299e8a0e1e70cb1eb11040ae67551f81bff6849790a1e43d8df13326d0dc", + "typeString": "literal_string \"Script has not the required length\"" + } + ], + "id": 2217, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3664:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3664:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2224, + "nodeType": "ExpressionStatement", + "src": "3664:72:16" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 2230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 2226, + "name": "outputScript", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2210, + "src": "3767:12:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 2228, + "indexExpression": { + "hexValue": "30", + "id": 2227, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3780:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3767:15:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30783736", + "id": 2229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3786:4:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_118_by_1", + "typeString": "int_const 118" + }, + "value": "0x76" + }, + "src": "3767:23:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 2235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 2231, + "name": "outputScript", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2210, + "src": "3816:12:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 2233, + "indexExpression": { + "hexValue": "31", + "id": 2232, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3829:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3816:15:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30786139", + "id": 2234, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3835:4:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_169_by_1", + "typeString": "int_const 169" + }, + "value": "0xa9" + }, + "src": "3816:23:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3767:72:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 2241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 2237, + "name": "outputScript", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2210, + "src": "3869:12:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 2239, + "indexExpression": { + "hexValue": "32", + "id": 2238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3882:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3869:15:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30783134", + "id": 2240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3888:4:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "0x14" + }, + "src": "3869:23:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3767:125:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 2247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 2243, + "name": "outputScript", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2210, + "src": "3953:12:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 2245, + "indexExpression": { + "hexValue": "3233", + "id": 2244, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3966:2:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_23_by_1", + "typeString": "int_const 23" + }, + "value": "23" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3953:16:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30783838", + "id": 2246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3973:4:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_136_by_1", + "typeString": "int_const 136" + }, + "value": "0x88" + }, + "src": "3953:24:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3767:210:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 2253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 2249, + "name": "outputScript", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2210, + "src": "4011:12:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 2251, + "indexExpression": { + "hexValue": "3234", + "id": 2250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4024:2:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_24_by_1", + "typeString": "int_const 24" + }, + "value": "24" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4011:16:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30786163", + "id": 2252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4031:4:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_172_by_1", + "typeString": "int_const 172" + }, + "value": "0xac" + }, + "src": "4011:24:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3767:268:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "53637269707420686173206e6f742074686520726571756972656420737472756374757265", + "id": 2255, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4064:39:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_60215d73ebda7bea490276c54d13b9a81ca0442b21607f2e5a67acaba9d9449f", + "typeString": "literal_string \"Script has not the required structure\"" + }, + "value": "Script has not the required structure" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_60215d73ebda7bea490276c54d13b9a81ca0442b21607f2e5a67acaba9d9449f", + "typeString": "literal_string \"Script has not the required structure\"" + } + ], + "id": 2225, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3746:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3746:367:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2257, + "nodeType": "ExpressionStatement", + "src": "3746:367:16" + }, + { + "assignments": [ + 2259 + ], + "declarations": [ + { + "constant": false, + "id": 2259, + "mutability": "mutable", + "name": "destinationAddress", + "nameLocation": "4137:18:16", + "nodeType": "VariableDeclaration", + "scope": 2308, + "src": "4124:31:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2258, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4124:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 2264, + "initialValue": { + "arguments": [ + { + "id": 2262, + "name": "PUBKEY_HASH_SIZE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1953, + "src": "4168:16:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 2261, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4158:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 2260, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4162:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 2263, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4158:27:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4124:61:16" + }, + { + "body": { + "id": 2287, + "nodeType": "Block", + "src": "4275:84:16", + "statements": [ + { + "expression": { + "id": 2285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2277, + "name": "destinationAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2259, + "src": "4289:18:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2281, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 2280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2278, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "4308:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 2279, + "name": "PUBKEY_HASH_START", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1956, + "src": "4312:17:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "4308:21:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4289:41:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 2282, + "name": "outputScript", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2210, + "src": "4333:12:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 2284, + "indexExpression": { + "id": 2283, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "4346:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4333:15:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "4289:59:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 2286, + "nodeType": "ExpressionStatement", + "src": "4289:59:16" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 2273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2269, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "4228:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 2272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "id": 2270, + "name": "PUBKEY_HASH_SIZE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1953, + "src": "4232:16:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 2271, + "name": "PUBKEY_HASH_START", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1956, + "src": "4251:17:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "4232:36:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "4228:40:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2288, + "initializationExpression": { + "assignments": [ + 2266 + ], + "declarations": [ + { + "constant": false, + "id": 2266, + "mutability": "mutable", + "name": "i", + "nameLocation": "4205:1:16", + "nodeType": "VariableDeclaration", + "scope": 2288, + "src": "4199:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 2265, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "4199:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 2268, + "initialValue": { + "id": 2267, + "name": "PUBKEY_HASH_START", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1956, + "src": "4209:17:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4199:27:16" + }, + "loopExpression": { + "expression": { + "id": 2275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4270:3:16", + "subExpression": { + "id": 2274, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "4270:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 2276, + "nodeType": "ExpressionStatement", + "src": "4270:3:16" + }, + "nodeType": "ForStatement", + "src": "4195:164:16" + }, + { + "assignments": [ + 2290 + ], + "declarations": [ + { + "constant": false, + "id": 2290, + "mutability": "mutable", + "name": "versionByte", + "nameLocation": "4375:11:16", + "nodeType": "VariableDeclaration", + "scope": 2308, + "src": "4369:17:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 2289, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "4369:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 2295, + "initialValue": { + "condition": { + "id": 2291, + "name": "mainnet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2212, + "src": "4389:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "hexValue": "30783666", + "id": 2293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4405:4:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_111_by_1", + "typeString": "int_const 111" + }, + "value": "0x6f" + }, + "id": 2294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "4389:20:16", + "trueExpression": { + "hexValue": "30783030", + "id": 2292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4398:4:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x00" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4369:40:16" + }, + { + "assignments": [ + 2297 + ], + "declarations": [ + { + "constant": false, + "id": 2297, + "mutability": "mutable", + "name": "result", + "nameLocation": "4432:6:16", + "nodeType": "VariableDeclaration", + "scope": 2308, + "src": "4419:19:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2296, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4419:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 2305, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 2301, + "name": "versionByte", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2290, + "src": "4463:11:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 2300, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4456:6:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 2299, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "4456:6:16", + "typeDescriptions": {} + } + }, + "id": 2302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4456:19:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + { + "id": 2303, + "name": "destinationAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2259, + "src": "4477:18:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2298, + "name": "addVersionByte", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2363, + "src": "4441:14:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes1_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes1,bytes memory) pure returns (bytes memory)" + } + }, + "id": 2304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4441:55:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4419:77:16" + }, + { + "expression": { + "id": 2306, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2297, + "src": "4514:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2216, + "id": 2307, + "nodeType": "Return", + "src": "4507:13:16" + } + ] + }, + "documentation": { + "id": 2208, + "nodeType": "StructuredDocumentation", + "src": "3198:343:16", + "text": "@notice Parse a raw pay-to-public-key-hash output script to get the corresponding address\n @param outputScript the fragment of the raw transaction containing the raw output script\n @param mainnet if the address to generate is from mainnet or testnet \n @return The address generated using the receiver's public key hash" + }, + "functionSelector": "4c03fe59", + "id": 2309, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "parsePayToPubKeyHash", + "nameLocation": "3555:20:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2213, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2210, + "mutability": "mutable", + "name": "outputScript", + "nameLocation": "3591:12:16", + "nodeType": "VariableDeclaration", + "scope": 2309, + "src": "3576:27:16", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2209, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3576:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2212, + "mutability": "mutable", + "name": "mainnet", + "nameLocation": "3610:7:16", + "nodeType": "VariableDeclaration", + "scope": 2309, + "src": "3605:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2211, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3605:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3575:43:16" + }, + "returnParameters": { + "id": 2216, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2215, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2309, + "src": "3640:12:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2214, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3640:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3639:14:16" + }, + "scope": 2805, + "src": "3546:981:16", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2362, + "nodeType": "Block", + "src": "4634:273:16", + "statements": [ + { + "assignments": [ + 2319 + ], + "declarations": [ + { + "constant": false, + "id": 2319, + "mutability": "mutable", + "name": "dataWithVersion", + "nameLocation": "4657:15:16", + "nodeType": "VariableDeclaration", + "scope": 2362, + "src": "4644:28:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2318, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4644:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 2327, + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2322, + "name": "source", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2313, + "src": "4685:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4692:6:16", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4685:13:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 2324, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4701:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4685:17:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2321, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4675:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 2320, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4679:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 2326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4675:28:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4644:59:16" + }, + { + "expression": { + "id": 2332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2328, + "name": "dataWithVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2319, + "src": "4713:15:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2330, + "indexExpression": { + "hexValue": "30", + "id": 2329, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4729:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4713:18:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2331, + "name": "versionByte", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2311, + "src": "4734:11:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "4713:32:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 2333, + "nodeType": "ExpressionStatement", + "src": "4713:32:16" + }, + { + "assignments": [ + 2335 + ], + "declarations": [ + { + "constant": false, + "id": 2335, + "mutability": "mutable", + "name": "i", + "nameLocation": "4762:1:16", + "nodeType": "VariableDeclaration", + "scope": 2362, + "src": "4756:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 2334, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "4756:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 2336, + "nodeType": "VariableDeclarationStatement", + "src": "4756:7:16" + }, + { + "body": { + "id": 2358, + "nodeType": "Block", + "src": "4809:59:16", + "statements": [ + { + "expression": { + "id": 2356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2348, + "name": "dataWithVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2319, + "src": "4823:15:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2352, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 2351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2349, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2335, + "src": "4839:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 2350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4843:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4839:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4823:22:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 2353, + "name": "source", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2313, + "src": "4848:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2355, + "indexExpression": { + "id": 2354, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2335, + "src": "4855:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4848:9:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "4823:34:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 2357, + "nodeType": "ExpressionStatement", + "src": "4823:34:16" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2341, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2335, + "src": "4785:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 2342, + "name": "source", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2313, + "src": "4789:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4796:6:16", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4789:13:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4785:17:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2359, + "initializationExpression": { + "expression": { + "id": 2339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2337, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2335, + "src": "4778:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 2338, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4782:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4778:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 2340, + "nodeType": "ExpressionStatement", + "src": "4778:5:16" + }, + "loopExpression": { + "expression": { + "id": 2346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4804:3:16", + "subExpression": { + "id": 2345, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2335, + "src": "4804:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 2347, + "nodeType": "ExpressionStatement", + "src": "4804:3:16" + }, + "nodeType": "ForStatement", + "src": "4773:95:16" + }, + { + "expression": { + "id": 2360, + "name": "dataWithVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2319, + "src": "4885:15:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2317, + "id": 2361, + "nodeType": "Return", + "src": "4878:22:16" + } + ] + }, + "id": 2363, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addVersionByte", + "nameLocation": "4542:14:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2314, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2311, + "mutability": "mutable", + "name": "versionByte", + "nameLocation": "4564:11:16", + "nodeType": "VariableDeclaration", + "scope": 2363, + "src": "4557:18:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "typeName": { + "id": 2310, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "4557:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2313, + "mutability": "mutable", + "name": "source", + "nameLocation": "4590:6:16", + "nodeType": "VariableDeclaration", + "scope": 2363, + "src": "4577:19:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2312, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4577:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4556:41:16" + }, + "returnParameters": { + "id": 2317, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2316, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2363, + "src": "4620:12:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2315, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4620:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4619:14:16" + }, + "scope": 2805, + "src": "4533:374:16", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2392, + "nodeType": "Block", + "src": "5230:156:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2372, + "name": "outputScript", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2366, + "src": "5248:12:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 2373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5261:6:16", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5248:19:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "31", + "id": 2374, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5270:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5248:23:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e76616c69642073697a65", + "id": 2376, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5272:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_151b9b932514cffea6d6fb8ef0dc06f3ba8d7fdd73eacee7d06d663fcfd3d8d0", + "typeString": "literal_string \"Invalid size\"" + }, + "value": "Invalid size" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_151b9b932514cffea6d6fb8ef0dc06f3ba8d7fdd73eacee7d06d663fcfd3d8d0", + "typeString": "literal_string \"Invalid size\"" + } + ], + "id": 2371, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "5240:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5240:47:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2378, + "nodeType": "ExpressionStatement", + "src": "5240:47:16" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 2384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 2380, + "name": "outputScript", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2366, + "src": "5305:12:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 2382, + "indexExpression": { + "hexValue": "30", + "id": 2381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5318:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5305:15:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30783661", + "id": 2383, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5324:4:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_106_by_1", + "typeString": "int_const 106" + }, + "value": "0x6a" + }, + "src": "5305:23:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f74204f505f52455455524e", + "id": 2385, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5330:15:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_91402c28d33a78ed08b610916663678b602b8439e472ae56e5b350939be81082", + "typeString": "literal_string \"Not OP_RETURN\"" + }, + "value": "Not OP_RETURN" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_91402c28d33a78ed08b610916663678b602b8439e472ae56e5b350939be81082", + "typeString": "literal_string \"Not OP_RETURN\"" + } + ], + "id": 2379, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "5297:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5297:49:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2387, + "nodeType": "ExpressionStatement", + "src": "5297:49:16" + }, + { + "expression": { + "baseExpression": { + "id": 2388, + "name": "outputScript", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2366, + "src": "5363:12:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 2390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexRangeAccess", + "src": "5363:16:16", + "startExpression": { + "hexValue": "31", + "id": 2389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5376:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + }, + "functionReturnParameters": 2370, + "id": 2391, + "nodeType": "Return", + "src": "5356:23:16" + } + ] + }, + "documentation": { + "id": 2364, + "nodeType": "StructuredDocumentation", + "src": "4913:219:16", + "text": "@notice Parse a raw null-data output script to get its content\n @param outputScript the fragment of the raw transaction containing the raw output script \n @return The content embedded inside the script" + }, + "functionSelector": "2d56f323", + "id": 2393, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "parseNullDataScript", + "nameLocation": "5146:19:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2367, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2366, + "mutability": "mutable", + "name": "outputScript", + "nameLocation": "5181:12:16", + "nodeType": "VariableDeclaration", + "scope": 2393, + "src": "5166:27:16", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2365, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5166:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5165:29:16" + }, + "returnParameters": { + "id": 2370, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2369, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2393, + "src": "5216:12:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2368, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5216:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5215:14:16" + }, + "scope": 2805, + "src": "5137:249:16", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2460, + "nodeType": "Block", + "src": "5630:427:16", + "statements": [ + { + "assignments": [ + 2402 + ], + "declarations": [ + { + "constant": false, + "id": 2402, + "mutability": "mutable", + "name": "doubleSha256", + "nameLocation": "5653:12:16", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "5640:25:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2401, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5640:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 2414, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 2409, + "name": "btcTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2396, + "src": "5716:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 2408, + "name": "sha256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967274, + "src": "5709:6:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5709:13:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 2406, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "5692:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2407, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5696:12:16", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "5692:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5692:31:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2405, + "name": "sha256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967274, + "src": "5685:6:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5685:39:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 2403, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "5668:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5672:12:16", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "5668:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5668:57:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5640:85:16" + }, + { + "assignments": [ + 2416 + ], + "declarations": [ + { + "constant": false, + "id": 2416, + "mutability": "mutable", + "name": "aux", + "nameLocation": "5742:3:16", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "5735:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "typeName": { + "id": 2415, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "5735:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "visibility": "internal" + } + ], + "id": 2417, + "nodeType": "VariableDeclarationStatement", + "src": "5735:10:16" + }, + { + "body": { + "id": 2452, + "nodeType": "Block", + "src": "5785:138:16", + "statements": [ + { + "expression": { + "id": 2432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2428, + "name": "aux", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2416, + "src": "5799:3:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 2429, + "name": "doubleSha256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2402, + "src": "5805:12:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2431, + "indexExpression": { + "id": 2430, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2419, + "src": "5818:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5805:15:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "5799:21:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 2433, + "nodeType": "ExpressionStatement", + "src": "5799:21:16" + }, + { + "expression": { + "id": 2442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2434, + "name": "doubleSha256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2402, + "src": "5834:12:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2436, + "indexExpression": { + "id": 2435, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2419, + "src": "5847:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5834:15:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 2437, + "name": "doubleSha256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2402, + "src": "5852:12:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2441, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3331", + "id": 2438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5865:2:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_31_by_1", + "typeString": "int_const 31" + }, + "value": "31" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 2439, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2419, + "src": "5870:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5865:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5852:20:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "5834:38:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 2443, + "nodeType": "ExpressionStatement", + "src": "5834:38:16" + }, + { + "expression": { + "id": 2450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2444, + "name": "doubleSha256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2402, + "src": "5886:12:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2448, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3331", + "id": 2445, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5899:2:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_31_by_1", + "typeString": "int_const 31" + }, + "value": "31" + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 2446, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2419, + "src": "5904:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5899:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5886:20:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2449, + "name": "aux", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2416, + "src": "5909:3:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "5886:26:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 2451, + "nodeType": "ExpressionStatement", + "src": "5886:26:16" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2422, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2419, + "src": "5772:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "3136", + "id": 2423, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5776:2:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "5772:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2453, + "initializationExpression": { + "assignments": [ + 2419 + ], + "declarations": [ + { + "constant": false, + "id": 2419, + "mutability": "mutable", + "name": "i", + "nameLocation": "5765:1:16", + "nodeType": "VariableDeclaration", + "scope": 2453, + "src": "5760:6:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2418, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5760:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2421, + "initialValue": { + "hexValue": "30", + "id": 2420, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5769:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5760:10:16" + }, + "loopExpression": { + "expression": { + "id": 2426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5780:3:16", + "subExpression": { + "id": 2425, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2419, + "src": "5780:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2427, + "nodeType": "ExpressionStatement", + "src": "5780:3:16" + }, + "nodeType": "ForStatement", + "src": "5755:168:16" + }, + { + "assignments": [ + 2455 + ], + "declarations": [ + { + "constant": false, + "id": 2455, + "mutability": "mutable", + "name": "result", + "nameLocation": "5941:6:16", + "nodeType": "VariableDeclaration", + "scope": 2460, + "src": "5933:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2454, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5933:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 2456, + "nodeType": "VariableDeclarationStatement", + "src": "5933:14:16" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "5966:62:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5980:38:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "doubleSha256", + "nodeType": "YulIdentifier", + "src": "6000:12:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6014:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5996:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "5996:21:16" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5990:5:16" + }, + "nodeType": "YulFunctionCall", + "src": "5990:28:16" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "5980:6:16" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 2402, + "isOffset": false, + "isSlot": false, + "src": "6000:12:16", + "valueSize": 1 + }, + { + "declaration": 2455, + "isOffset": false, + "isSlot": false, + "src": "5980:6:16", + "valueSize": 1 + } + ], + "id": 2457, + "nodeType": "InlineAssembly", + "src": "5957:71:16" + }, + { + "expression": { + "id": 2458, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2455, + "src": "6044:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 2400, + "id": 2459, + "nodeType": "Return", + "src": "6037:13:16" + } + ] + }, + "documentation": { + "id": 2394, + "nodeType": "StructuredDocumentation", + "src": "5392:162:16", + "text": "@notice Hash a bitcoin raw transaction to get its id (reversed double sha256)\n @param btcTx the transaction to hash\n @return The transaction id " + }, + "functionSelector": "fea8ba63", + "id": 2461, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hashBtcTx", + "nameLocation": "5568:9:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2397, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2396, + "mutability": "mutable", + "name": "btcTx", + "nameLocation": "5593:5:16", + "nodeType": "VariableDeclaration", + "scope": 2461, + "src": "5578:20:16", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2395, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5578:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5577:22:16" + }, + "returnParameters": { + "id": 2400, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2399, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2461, + "src": "5621:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2398, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5621:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5620:9:16" + }, + "scope": 2805, + "src": "5559:498:16", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2482, + "nodeType": "Block", + "src": "6291:222:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2470, + "name": "header", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2464, + "src": "6413:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6420:6:16", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6413:13:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3830", + "id": 2472, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6430:2:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_80_by_1", + "typeString": "int_const 80" + }, + "value": "80" + }, + "src": "6413:19:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e76616c696420686561646572206c656e677468", + "id": 2474, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6434:23:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_62784c5b4854856e20fdf3da2ed017d8d7ad91e96ee28ef17acb0683953b91b7", + "typeString": "literal_string \"Invalid header length\"" + }, + "value": "Invalid header length" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_62784c5b4854856e20fdf3da2ed017d8d7ad91e96ee28ef17acb0683953b91b7", + "typeString": "literal_string \"Invalid header length\"" + } + ], + "id": 2469, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "6405:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6405:53:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2476, + "nodeType": "ExpressionStatement", + "src": "6405:53:16" + }, + { + "expression": { + "arguments": [ + { + "id": 2478, + "name": "header", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2464, + "src": "6495:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "3638", + "id": 2479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6503:2:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_68_by_1", + "typeString": "int_const 68" + }, + "value": "68" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_68_by_1", + "typeString": "int_const 68" + } + ], + "id": 2477, + "name": "sliceUint32FromLSB", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2558, + "src": "6476:18:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", + "typeString": "function (bytes memory,uint256) pure returns (uint32)" + } + }, + "id": 2480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6476:30:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "functionReturnParameters": 2468, + "id": 2481, + "nodeType": "Return", + "src": "6469:37:16" + } + ] + }, + "documentation": { + "id": 2462, + "nodeType": "StructuredDocumentation", + "src": "6063:142:16", + "text": "@dev Gets the timestamp of a Bitcoin block header\n @param header The block header\n @return The timestamp of the block header" + }, + "functionSelector": "a0cd70fc", + "id": 2483, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBtcBlockTimestamp", + "nameLocation": "6219:20:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2465, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2464, + "mutability": "mutable", + "name": "header", + "nameLocation": "6253:6:16", + "nodeType": "VariableDeclaration", + "scope": 2483, + "src": "6240:19:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2463, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6240:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6239:21:16" + }, + "returnParameters": { + "id": 2468, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2467, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2483, + "src": "6282:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2466, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6282:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6281:9:16" + }, + "scope": 2805, + "src": "6210:303:16", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2557, + "nodeType": "Block", + "src": "6666:267:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2493, + "name": "bs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2485, + "src": "6684:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6687:6:16", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6684:9:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2495, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2487, + "src": "6697:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "34", + "id": 2496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6706:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "6697:10:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6684:23:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "536c6963696e67206f7574206f662072616e6765", + "id": 2499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6709:22:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0ad8ca266b3c2b0d5c0f93daeb15638ddfa510fccabc652325dc97cf893869fd", + "typeString": "literal_string \"Slicing out of range\"" + }, + "value": "Slicing out of range" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0ad8ca266b3c2b0d5c0f93daeb15638ddfa510fccabc652325dc97cf893869fd", + "typeString": "literal_string \"Slicing out of range\"" + } + ], + "id": 2492, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "6676:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6676:56:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2501, + "nodeType": "ExpressionStatement", + "src": "6676:56:16" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 2555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 2540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 2525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 2506, + "name": "bs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2485, + "src": "6771:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2508, + "indexExpression": { + "id": 2507, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2487, + "src": "6774:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6771:10:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 2505, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6765:5:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 2504, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "6765:5:16", + "typeDescriptions": {} + } + }, + "id": 2509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6765:17:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 2503, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6758:6:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": { + "id": 2502, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "6758:6:16", + "typeDescriptions": {} + } + }, + "id": 2510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6758:25:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 2523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 2515, + "name": "bs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2485, + "src": "6808:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2519, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2516, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2487, + "src": "6811:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 2517, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6820:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6811:10:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6808:14:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 2514, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6802:5:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 2513, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "6802:5:16", + "typeDescriptions": {} + } + }, + "id": 2520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6802:21:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 2512, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6795:6:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": { + "id": 2511, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "6795:6:16", + "typeDescriptions": {} + } + }, + "id": 2521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6795:29:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "38", + "id": 2522, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6828:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "6795:34:16", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + } + ], + "id": 2524, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6794:36:16", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "6758:72:16", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 2538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 2530, + "name": "bs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2485, + "src": "6855:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2534, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2531, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2487, + "src": "6858:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "32", + "id": 2532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6867:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "6858:10:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6855:14:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 2529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6849:5:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 2528, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "6849:5:16", + "typeDescriptions": {} + } + }, + "id": 2535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6849:21:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 2527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6842:6:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": { + "id": 2526, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "6842:6:16", + "typeDescriptions": {} + } + }, + "id": 2536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6842:29:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "3136", + "id": 2537, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6875:2:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "6842:35:16", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + } + ], + "id": 2539, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6841:37:16", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "6758:120:16", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 2553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 2545, + "name": "bs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2485, + "src": "6903:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2549, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2546, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2487, + "src": "6906:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "33", + "id": 2547, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6915:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "6906:10:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6903:14:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 2544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6897:5:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 2543, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "6897:5:16", + "typeDescriptions": {} + } + }, + "id": 2550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6897:21:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 2542, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6890:6:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": { + "id": 2541, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "6890:6:16", + "typeDescriptions": {} + } + }, + "id": 2551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6890:29:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "3234", + "id": 2552, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6923:2:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_24_by_1", + "typeString": "int_const 24" + }, + "value": "24" + }, + "src": "6890:35:16", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + } + ], + "id": 2554, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6889:37:16", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "6758:168:16", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "functionReturnParameters": 2491, + "id": 2556, + "nodeType": "Return", + "src": "6743:183:16" + } + ] + }, + "id": 2558, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sliceUint32FromLSB", + "nameLocation": "6587:18:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2488, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2485, + "mutability": "mutable", + "name": "bs", + "nameLocation": "6619:2:16", + "nodeType": "VariableDeclaration", + "scope": 2558, + "src": "6606:15:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2484, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6606:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2487, + "mutability": "mutable", + "name": "offset", + "nameLocation": "6628:6:16", + "nodeType": "VariableDeclaration", + "scope": 2558, + "src": "6623:11:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2486, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6623:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6605:30:16" + }, + "returnParameters": { + "id": 2491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2490, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2558, + "src": "6658:6:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 2489, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "6658:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "src": "6657:8:16" + }, + "scope": 2805, + "src": "6578:355:16", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2586, + "nodeType": "Block", + "src": "7356:117:16", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2570, + "name": "p2sh", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2561, + "src": "7373:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 2571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7378:6:16", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7373:11:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3235", + "id": 2572, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7388:2:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_25_by_1", + "typeString": "int_const 25" + }, + "value": "25" + }, + "src": "7373:17:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 2575, + "name": "p2sh", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2561, + "src": "7404:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 2574, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "7394:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7394:15:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 2579, + "name": "script", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2563, + "src": "7449:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "id": 2580, + "name": "mainnet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2565, + "src": "7457:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2578, + "name": "getP2SHAddressFromScript", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2649, + "src": "7424:24:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_calldata_ptr_$_t_bool_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes calldata,bool) pure returns (bytes memory)" + } + }, + "id": 2581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7424:41:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2577, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "7414:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7414:52:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7394:72:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7373:93:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2569, + "id": 2585, + "nodeType": "Return", + "src": "7366:100:16" + } + ] + }, + "documentation": { + "id": 2559, + "nodeType": "StructuredDocumentation", + "src": "6939:299:16", + "text": "@notice Check if a pay-to-script-hash address belogs to a specific script\n @param p2sh the pay-to-script-hash address\n @param script the script to check\n @param mainnet flag to specify if its a mainnet address\n @return Whether the address belongs to the script or not" + }, + "functionSelector": "9b02794b", + "id": 2587, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "validateP2SHAdress", + "nameLocation": "7252:18:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2566, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2561, + "mutability": "mutable", + "name": "p2sh", + "nameLocation": "7286:4:16", + "nodeType": "VariableDeclaration", + "scope": 2587, + "src": "7271:19:16", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2560, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7271:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2563, + "mutability": "mutable", + "name": "script", + "nameLocation": "7307:6:16", + "nodeType": "VariableDeclaration", + "scope": 2587, + "src": "7292:21:16", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2562, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7292:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2565, + "mutability": "mutable", + "name": "mainnet", + "nameLocation": "7320:7:16", + "nodeType": "VariableDeclaration", + "scope": 2587, + "src": "7315:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2564, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7315:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7270:58:16" + }, + "returnParameters": { + "id": 2569, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2568, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2587, + "src": "7350:4:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2567, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7350:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7349:6:16" + }, + "scope": 2805, + "src": "7243:230:16", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2648, + "nodeType": "Block", + "src": "7849:355:16", + "statements": [ + { + "assignments": [ + 2598 + ], + "declarations": [ + { + "constant": false, + "id": 2598, + "mutability": "mutable", + "name": "scriptHash", + "nameLocation": "7867:10:16", + "nodeType": "VariableDeclaration", + "scope": 2648, + "src": "7859:18:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + }, + "typeName": { + "id": 2597, + "name": "bytes20", + "nodeType": "ElementaryTypeName", + "src": "7859:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + }, + "visibility": "internal" + } + ], + "id": 2607, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 2603, + "name": "script", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2590, + "src": "7914:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 2602, + "name": "sha256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967274, + "src": "7907:6:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7907:14:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 2600, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "7890:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2601, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7894:12:16", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "7890:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7890:32:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2599, + "name": "ripemd160", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967276, + "src": "7880:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_ripemd160_pure$_t_bytes_memory_ptr_$returns$_t_bytes20_$", + "typeString": "function (bytes memory) pure returns (bytes20)" + } + }, + "id": 2606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7880:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7859:64:16" + }, + { + "assignments": [ + 2609 + ], + "declarations": [ + { + "constant": false, + "id": 2609, + "mutability": "mutable", + "name": "versionByte", + "nameLocation": "7939:11:16", + "nodeType": "VariableDeclaration", + "scope": 2648, + "src": "7933:17:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 2608, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "7933:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 2614, + "initialValue": { + "condition": { + "id": 2610, + "name": "mainnet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2592, + "src": "7953:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "hexValue": "30786334", + "id": 2612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7969:4:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_196_by_1", + "typeString": "int_const 196" + }, + "value": "0xc4" + }, + "id": 2613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "7953:20:16", + "trueExpression": { + "hexValue": "307835", + "id": 2611, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7963:3:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "0x5" + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7933:40:16" + }, + { + "assignments": [ + 2616 + ], + "declarations": [ + { + "constant": false, + "id": 2616, + "mutability": "mutable", + "name": "versionAndHash", + "nameLocation": "7996:14:16", + "nodeType": "VariableDeclaration", + "scope": 2648, + "src": "7983:27:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2615, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7983:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 2626, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 2622, + "name": "versionByte", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2609, + "src": "8033:11:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 2621, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8026:6:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 2620, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "8026:6:16", + "typeDescriptions": {} + } + }, + "id": 2623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8026:19:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + { + "id": 2624, + "name": "scriptHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2598, + "src": "8047:10:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + ], + "expression": { + "id": 2618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8013:5:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 2617, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8013:5:16", + "typeDescriptions": {} + } + }, + "id": 2619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8019:6:16", + "memberName": "concat", + "nodeType": "MemberAccess", + "src": "8013:12:16", + "typeDescriptions": { + "typeIdentifier": "t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8013:45:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7983:75:16" + }, + { + "assignments": [ + 2628 + ], + "declarations": [ + { + "constant": false, + "id": 2628, + "mutability": "mutable", + "name": "checksum", + "nameLocation": "8075:8:16", + "nodeType": "VariableDeclaration", + "scope": 2648, + "src": "8068:15:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 2627, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "8068:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "id": 2640, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 2635, + "name": "versionAndHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2616, + "src": "8124:14:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2634, + "name": "sha256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967274, + "src": "8117:6:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8117:22:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 2632, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "8100:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2633, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8104:12:16", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "8100:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8100:40:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2631, + "name": "sha256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967274, + "src": "8093:6:16", + "typeDescriptions": { + "typeIdentifier": "t_function_sha256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8093:48:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2630, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8086:6:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 2629, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "8086:6:16", + "typeDescriptions": {} + } + }, + "id": 2639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8086:56:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8068:74:16" + }, + { + "expression": { + "arguments": [ + { + "id": 2644, + "name": "versionAndHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2616, + "src": "8172:14:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 2645, + "name": "checksum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2628, + "src": "8188:8:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 2642, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8159:5:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 2641, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8159:5:16", + "typeDescriptions": {} + } + }, + "id": 2643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8165:6:16", + "memberName": "concat", + "nodeType": "MemberAccess", + "src": "8159:12:16", + "typeDescriptions": { + "typeIdentifier": "t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8159:38:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 2596, + "id": 2647, + "nodeType": "Return", + "src": "8152:45:16" + } + ] + }, + "documentation": { + "id": 2588, + "nodeType": "StructuredDocumentation", + "src": "7479:259:16", + "text": "@notice Generate a pay-to-script-hash address from a script\n @param script the script to generate the address from\n @param mainnet flag to specify if the output should be a mainnet address\n @return The address generate from the script" + }, + "functionSelector": "b0d6b1cb", + "id": 2649, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getP2SHAddressFromScript", + "nameLocation": "7752:24:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2593, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2590, + "mutability": "mutable", + "name": "script", + "nameLocation": "7792:6:16", + "nodeType": "VariableDeclaration", + "scope": 2649, + "src": "7777:21:16", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2589, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7777:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2592, + "mutability": "mutable", + "name": "mainnet", + "nameLocation": "7805:7:16", + "nodeType": "VariableDeclaration", + "scope": 2649, + "src": "7800:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2591, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7800:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7776:37:16" + }, + "returnParameters": { + "id": 2596, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2595, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2649, + "src": "7835:12:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2594, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7835:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "7834:14:16" + }, + "scope": 2805, + "src": "7743:461:16", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2737, + "nodeType": "Block", + "src": "8315:809:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2661, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2653, + "src": "8333:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8339:6:16", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8333:12:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 2663, + "name": "sizePosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2651, + "src": "8348:12:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8333:27:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "53697a6520706f736974696f6e2063616e277420626520626967676572207468616e206172726179", + "id": 2665, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8362:42:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_33c6dd8650ffbd109c11f2a50d2c26a90aa65e9c0c8ae6a11ce0114fae017f47", + "typeString": "literal_string \"Size position can't be bigger than array\"" + }, + "value": "Size position can't be bigger than array" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_33c6dd8650ffbd109c11f2a50d2c26a90aa65e9c0c8ae6a11ce0114fae017f47", + "typeString": "literal_string \"Size position can't be bigger than array\"" + } + ], + "id": 2660, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "8325:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8325:80:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2667, + "nodeType": "ExpressionStatement", + "src": "8325:80:16" + }, + { + "assignments": [ + 2669 + ], + "declarations": [ + { + "constant": false, + "id": 2669, + "mutability": "mutable", + "name": "maxSize", + "nameLocation": "8421:7:16", + "nodeType": "VariableDeclaration", + "scope": 2737, + "src": "8415:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 2668, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "8415:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 2676, + "initialValue": { + "arguments": [ + { + "baseExpression": { + "id": 2672, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2653, + "src": "8437:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2674, + "indexExpression": { + "id": 2673, + "name": "sizePosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2651, + "src": "8443:12:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8437:19:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 2671, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8431:5:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 2670, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "8431:5:16", + "typeDescriptions": {} + } + }, + "id": 2675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8431:26:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8415:42:16" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 2679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2677, + "name": "maxSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2669, + "src": "8471:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2678, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8482:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8471:12:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 2687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2685, + "name": "maxSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2669, + "src": "8533:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 2686, + "name": "MAX_COMPACT_SIZE_LENGTH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1941, + "src": "8544:23:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "8533:34:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2693, + "nodeType": "IfStatement", + "src": "8529:84:16", + "trueBody": { + "id": 2692, + "nodeType": "Block", + "src": "8569:44:16", + "statements": [ + { + "expression": { + "components": [ + { + "id": 2688, + "name": "maxSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2669, + "src": "8591:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "31", + "id": 2689, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8600:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "id": 2690, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8590:12:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint8_$_t_rational_1_by_1_$", + "typeString": "tuple(uint8,int_const 1)" + } + }, + "functionReturnParameters": 2659, + "id": 2691, + "nodeType": "Return", + "src": "8583:19:16" + } + ] + } + }, + "id": 2694, + "nodeType": "IfStatement", + "src": "8467:146:16", + "trueBody": { + "id": 2684, + "nodeType": "Block", + "src": "8485:38:16", + "statements": [ + { + "expression": { + "components": [ + { + "hexValue": "30", + "id": 2680, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8507:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "hexValue": "31", + "id": 2681, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8510:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "id": 2682, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8506:6:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_1_by_1_$", + "typeString": "tuple(int_const 0,int_const 1)" + } + }, + "functionReturnParameters": 2659, + "id": 2683, + "nodeType": "Return", + "src": "8499:13:16" + } + ] + } + }, + { + "assignments": [ + 2696 + ], + "declarations": [ + { + "constant": false, + "id": 2696, + "mutability": "mutable", + "name": "compactSizeBytes", + "nameLocation": "8636:16:16", + "nodeType": "VariableDeclaration", + "scope": 2737, + "src": "8631:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2695, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8631:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2703, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 2697, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8655:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 2700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2698, + "name": "maxSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2669, + "src": "8661:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 2699, + "name": "MAX_COMPACT_SIZE_LENGTH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1941, + "src": "8671:23:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "8661:33:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 2701, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8660:35:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "8655:40:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8631:64:16" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2705, + "name": "compactSizeBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2696, + "src": "8713:16:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 2706, + "name": "MAX_BYTES_USED_FOR_COMPACT_SIZE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1944, + "src": "8733:31:16", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "8713:51:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "756e737570706f7274656420636f6d706163742073697a65206c656e677468", + "id": 2708, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8766:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_173d55eda06bf2b35eca6401b7d16b17b1fc97b7601de25f26189f5300bf3cb3", + "typeString": "literal_string \"unsupported compact size length\"" + }, + "value": "unsupported compact size length" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_173d55eda06bf2b35eca6401b7d16b17b1fc97b7601de25f26189f5300bf3cb3", + "typeString": "literal_string \"unsupported compact size length\"" + } + ], + "id": 2704, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "8705:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8705:95:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2710, + "nodeType": "ExpressionStatement", + "src": "8705:95:16" + }, + { + "assignments": [ + 2712 + ], + "declarations": [ + { + "constant": false, + "id": 2712, + "mutability": "mutable", + "name": "result", + "nameLocation": "8932:6:16", + "nodeType": "VariableDeclaration", + "scope": 2737, + "src": "8925:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2711, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "8925:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "id": 2727, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2716, + "name": "sizePosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2651, + "src": "8991:12:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 2717, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9006:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "8991:16:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2719, + "name": "sizePosition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2651, + "src": "9009:12:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 2720, + "name": "compactSizeBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2696, + "src": "9024:16:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9009:31:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 2722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9043:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "9009:35:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2724, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2653, + "src": "9046:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2715, + "name": "calculateLittleEndianFragment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2804, + "src": "8961:29:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,bytes memory) pure returns (uint256)" + } + }, + "id": 2725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8961:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2714, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8941:6:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 2713, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "8941:6:16", + "typeDescriptions": {} + } + }, + "id": 2726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8941:121:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8925:137:16" + }, + { + "expression": { + "components": [ + { + "id": 2728, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2712, + "src": "9080:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "id": 2734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 2731, + "name": "compactSizeBytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2696, + "src": "9095:16:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2730, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9088:6:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint16_$", + "typeString": "type(uint16)" + }, + "typeName": { + "id": 2729, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "9088:6:16", + "typeDescriptions": {} + } + }, + "id": 2732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9088:24:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 2733, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9115:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "9088:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "id": 2735, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9079:38:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint64_$_t_uint16_$", + "typeString": "tuple(uint64,uint16)" + } + }, + "functionReturnParameters": 2659, + "id": 2736, + "nodeType": "Return", + "src": "9072:45:16" + } + ] + }, + "id": 2738, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "parseCompactSizeInt", + "nameLocation": "8219:19:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2654, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2651, + "mutability": "mutable", + "name": "sizePosition", + "nameLocation": "8244:12:16", + "nodeType": "VariableDeclaration", + "scope": 2738, + "src": "8239:17:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2650, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8239:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2653, + "mutability": "mutable", + "name": "array", + "nameLocation": "8271:5:16", + "nodeType": "VariableDeclaration", + "scope": 2738, + "src": "8258:18:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2652, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8258:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "8238:39:16" + }, + "returnParameters": { + "id": 2659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2656, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2738, + "src": "8299:6:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 2655, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "8299:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2658, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2738, + "src": "8307:6:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 2657, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "8307:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + } + ], + "src": "8298:16:16" + }, + "scope": 2805, + "src": "8210:914:16", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2803, + "nodeType": "Block", + "src": "9285:357:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2750, + "name": "fragmentStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2740, + "src": "9316:13:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 2751, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2744, + "src": "9332:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9338:6:16", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9332:12:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9316:28:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2754, + "name": "fragmentEnd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2742, + "src": "9348:11:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 2755, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2744, + "src": "9362:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9368:6:16", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9362:12:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9348:26:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "9316:58:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52616e67652063616e277420626520626967676572207468616e206172726179", + "id": 2759, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9389:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b880bf2732d5dc41106d7c9b4d33a7d7359e73ab841c93dd915612cdef84660a", + "typeString": "literal_string \"Range can't be bigger than array\"" + }, + "value": "Range can't be bigger than array" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b880bf2732d5dc41106d7c9b4d33a7d7359e73ab841c93dd915612cdef84660a", + "typeString": "literal_string \"Range can't be bigger than array\"" + } + ], + "id": 2749, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "9295:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9295:138:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2761, + "nodeType": "ExpressionStatement", + "src": "9295:138:16" + }, + { + "assignments": [ + 2763 + ], + "declarations": [ + { + "constant": false, + "id": 2763, + "mutability": "mutable", + "name": "result", + "nameLocation": "9448:6:16", + "nodeType": "VariableDeclaration", + "scope": 2803, + "src": "9443:11:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2762, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9443:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2765, + "initialValue": { + "hexValue": "30", + "id": 2764, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9457:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "9443:15:16" + }, + { + "body": { + "id": 2799, + "nodeType": "Block", + "src": "9519:94:16", + "statements": [ + { + "expression": { + "id": 2797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2776, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2763, + "src": "9533:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 2796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "baseExpression": { + "id": 2779, + "name": "array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2744, + "src": "9549:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2781, + "indexExpression": { + "id": 2780, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2767, + "src": "9555:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9549:8:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 2778, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9543:5:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 2777, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "9543:5:16", + "typeDescriptions": {} + } + }, + "id": 2782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9543:15:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 2785, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9569:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "38", + "id": 2786, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9575:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2787, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2767, + "src": "9580:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "components": [ + { + "id": 2788, + "name": "fragmentStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2740, + "src": "9585:13:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2789, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9584:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9580:19:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2791, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9579:21:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9575:25:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2793, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9574:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9569:32:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2784, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9562:6:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 2783, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "9562:6:16", + "typeDescriptions": {} + } + }, + "id": 2795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9562:40:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "9543:59:16", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "9533:69:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2798, + "nodeType": "ExpressionStatement", + "src": "9533:69:16" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2770, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2767, + "src": "9497:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2771, + "name": "fragmentEnd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2742, + "src": "9501:11:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9497:15:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2800, + "initializationExpression": { + "assignments": [ + 2767 + ], + "declarations": [ + { + "constant": false, + "id": 2767, + "mutability": "mutable", + "name": "i", + "nameLocation": "9478:1:16", + "nodeType": "VariableDeclaration", + "scope": 2800, + "src": "9473:6:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2766, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9473:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2769, + "initialValue": { + "id": 2768, + "name": "fragmentStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2740, + "src": "9482:13:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9473:22:16" + }, + "loopExpression": { + "expression": { + "id": 2774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "9514:3:16", + "subExpression": { + "id": 2773, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2767, + "src": "9514:1:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2775, + "nodeType": "ExpressionStatement", + "src": "9514:3:16" + }, + "nodeType": "ForStatement", + "src": "9468:145:16" + }, + { + "expression": { + "id": 2801, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2763, + "src": "9629:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2748, + "id": 2802, + "nodeType": "Return", + "src": "9622:13:16" + } + ] + }, + "id": 2804, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "calculateLittleEndianFragment", + "nameLocation": "9139:29:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2745, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2740, + "mutability": "mutable", + "name": "fragmentStart", + "nameLocation": "9183:13:16", + "nodeType": "VariableDeclaration", + "scope": 2804, + "src": "9178:18:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2739, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9178:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2742, + "mutability": "mutable", + "name": "fragmentEnd", + "nameLocation": "9211:11:16", + "nodeType": "VariableDeclaration", + "scope": 2804, + "src": "9206:16:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2741, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9206:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2744, + "mutability": "mutable", + "name": "array", + "nameLocation": "9245:5:16", + "nodeType": "VariableDeclaration", + "scope": 2804, + "src": "9232:18:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2743, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9232:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "9168:88:16" + }, + "returnParameters": { + "id": 2748, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2747, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2804, + "src": "9279:4:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2746, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9279:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9278:6:16" + }, + "scope": 2805, + "src": "9130:512:16", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + } + ], + "scope": 2806, + "src": "331:9313:16", + "usedErrors": [] + } + ], + "src": "32:9612:16" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.617Z", + "devdoc": { + "kind": "dev", + "methods": { + "getBtcBlockTimestamp(bytes)": { + "details": "Gets the timestamp of a Bitcoin block header", + "params": { + "header": "The block header" + }, + "returns": { + "_0": "The timestamp of the block header" + } + }, + "getOutputs(bytes)": { + "params": { + "rawTx": "the raw transaction" + }, + "returns": { + "_0": "An array of `TxRawOutput` with the outputs of the transaction" + } + }, + "getP2SHAddressFromScript(bytes,bool)": { + "params": { + "mainnet": "flag to specify if the output should be a mainnet address", + "script": "the script to generate the address from" + }, + "returns": { + "_0": "The address generate from the script" + } + }, + "hashBtcTx(bytes)": { + "params": { + "btcTx": "the transaction to hash" + }, + "returns": { + "_0": "The transaction id " + } + }, + "parseNullDataScript(bytes)": { + "params": { + "outputScript": "the fragment of the raw transaction containing the raw output script " + }, + "returns": { + "_0": "The content embedded inside the script" + } + }, + "parsePayToPubKeyHash(bytes,bool)": { + "params": { + "mainnet": "if the address to generate is from mainnet or testnet ", + "outputScript": "the fragment of the raw transaction containing the raw output script" + }, + "returns": { + "_0": "The address generated using the receiver's public key hash" + } + }, + "validateP2SHAdress(bytes,bytes,bool)": { + "params": { + "mainnet": "flag to specify if its a mainnet address", + "p2sh": "the pay-to-script-hash address", + "script": "the script to check" + }, + "returns": { + "_0": "Whether the address belongs to the script or not" + } + } + }, + "title": "BtcUtils", + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "getOutputs(bytes)": { + "notice": "Parse a raw transaction to get an array of its outputs in a structured representation" + }, + "getP2SHAddressFromScript(bytes,bool)": { + "notice": "Generate a pay-to-script-hash address from a script" + }, + "hashBtcTx(bytes)": { + "notice": "Hash a bitcoin raw transaction to get its id (reversed double sha256)" + }, + "parseNullDataScript(bytes)": { + "notice": "Parse a raw null-data output script to get its content" + }, + "parsePayToPubKeyHash(bytes,bool)": { + "notice": "Parse a raw pay-to-public-key-hash output script to get the corresponding address" + }, + "validateP2SHAdress(bytes,bytes,bool)": { + "notice": "Check if a pay-to-script-hash address belogs to a specific script" + } + }, + "notice": "This library contains functionality to make easier to work with Bitcoin transactions in Solidity.This library is based in this document: https://developer.bitcoin.org/reference/transactions.html#raw-transaction-format", + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/Context.json b/build/contracts/Context.json new file mode 100644 index 0000000..aae6b96 --- /dev/null +++ b/build/contracts/Context.json @@ -0,0 +1,272 @@ +{ + "contractName": "Context", + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "", + "deployedSourceMap": "", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n}\n", + "sourcePath": "@openzeppelin/contracts/utils/Context.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "exportedSymbols": { + "Context": [ + 1875 + ] + }, + "id": 1876, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1855, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "86:23:14" + }, + { + "abstract": true, + "baseContracts": [], + "canonicalName": "Context", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 1856, + "nodeType": "StructuredDocumentation", + "src": "111:496:14", + "text": " @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts." + }, + "fullyImplemented": true, + "id": 1875, + "linearizedBaseContracts": [ + 1875 + ], + "name": "Context", + "nameLocation": "626:7:14", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1864, + "nodeType": "Block", + "src": "702:34:14", + "statements": [ + { + "expression": { + "expression": { + "id": 1861, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "719:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "723:6:14", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "719:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1860, + "id": 1863, + "nodeType": "Return", + "src": "712:17:14" + } + ] + }, + "id": 1865, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgSender", + "nameLocation": "649:10:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1857, + "nodeType": "ParameterList", + "parameters": [], + "src": "659:2:14" + }, + "returnParameters": { + "id": 1860, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1859, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1865, + "src": "693:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1858, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "693:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "692:9:14" + }, + "scope": 1875, + "src": "640:96:14", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 1873, + "nodeType": "Block", + "src": "809:32:14", + "statements": [ + { + "expression": { + "expression": { + "id": 1870, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "826:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "830:4:14", + "memberName": "data", + "nodeType": "MemberAccess", + "src": "826:8:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "functionReturnParameters": 1869, + "id": 1872, + "nodeType": "Return", + "src": "819:15:14" + } + ] + }, + "id": 1874, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgData", + "nameLocation": "751:8:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1866, + "nodeType": "ParameterList", + "parameters": [], + "src": "759:2:14" + }, + "returnParameters": { + "id": 1869, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1868, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1874, + "src": "793:14:14", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1867, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "793:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "792:16:14" + }, + "scope": 1875, + "src": "742:99:14", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 1876, + "src": "608:235:14", + "usedErrors": [] + } + ], + "src": "86:758:14" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.613Z", + "devdoc": { + "details": "Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.", + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/ContextUpgradeable.json b/build/contracts/ContextUpgradeable.json new file mode 100644 index 0000000..3eb805f --- /dev/null +++ b/build/contracts/ContextUpgradeable.json @@ -0,0 +1,487 @@ +{ + "contractName": "ContextUpgradeable", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"__gap\":{\"details\":\"This empty reserved space is put in place to allow future versions to add new variables without shifting down storage in the inheritance chain. See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":\"ContextUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x037c334add4b033ad3493038c25be1682d78c00992e1acb0e2795caff3925271\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a313cf42389440e2706837c91370323b85971c06afd6d056d21e2bc86459618\",\"dweb:/ipfs/QmT8XUrUvQ9aZaPKrqgRU2JVGWnaxBcUYJA7Q7K5KcLBSZ\"]},\"@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x2edcb41c121abc510932e8d83ff8b82cf9cdde35e7c297622f5c29ef0af25183\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72460c66cd1c3b1c11b863e0d8df0a1c56f37743019e468dc312c754f43e3b06\",\"dweb:/ipfs/QmPExYKiNb9PUsgktQBupPaM33kzDHxaYoVeJdLhv8s879\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "", + "deployedSourceMap": "", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)\n\npragma solidity ^0.8.0;\nimport \"../proxy/utils/Initializable.sol\";\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract ContextUpgradeable is Initializable {\n function __Context_init() internal onlyInitializing {\n }\n\n function __Context_init_unchained() internal onlyInitializing {\n }\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n\n /**\n * @dev This empty reserved space is put in place to allow future versions to add new\n * variables without shifting down storage in the inheritance chain.\n * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps\n */\n uint256[50] private __gap;\n}\n", + "sourcePath": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol", + "exportedSymbols": { + "AddressUpgradeable": [ + 657 + ], + "ContextUpgradeable": [ + 699 + ], + "Initializable": [ + 300 + ] + }, + "id": 700, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 659, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "86:23:4" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "file": "../proxy/utils/Initializable.sol", + "id": 660, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 700, + "sourceUnit": 301, + "src": "110:42:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 662, + "name": "Initializable", + "nameLocations": [ + "691:13:4" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 300, + "src": "691:13:4" + }, + "id": 663, + "nodeType": "InheritanceSpecifier", + "src": "691:13:4" + } + ], + "canonicalName": "ContextUpgradeable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 661, + "nodeType": "StructuredDocumentation", + "src": "154:496:4", + "text": " @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts." + }, + "fullyImplemented": true, + "id": 699, + "linearizedBaseContracts": [ + 699, + 300 + ], + "name": "ContextUpgradeable", + "nameLocation": "669:18:4", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 668, + "nodeType": "Block", + "src": "763:7:4", + "statements": [] + }, + "id": 669, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 666, + "kind": "modifierInvocation", + "modifierName": { + "id": 665, + "name": "onlyInitializing", + "nameLocations": [ + "746:16:4" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 245, + "src": "746:16:4" + }, + "nodeType": "ModifierInvocation", + "src": "746:16:4" + } + ], + "name": "__Context_init", + "nameLocation": "720:14:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 664, + "nodeType": "ParameterList", + "parameters": [], + "src": "734:2:4" + }, + "returnParameters": { + "id": 667, + "nodeType": "ParameterList", + "parameters": [], + "src": "763:0:4" + }, + "scope": 699, + "src": "711:59:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 674, + "nodeType": "Block", + "src": "838:7:4", + "statements": [] + }, + "id": 675, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 672, + "kind": "modifierInvocation", + "modifierName": { + "id": 671, + "name": "onlyInitializing", + "nameLocations": [ + "821:16:4" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 245, + "src": "821:16:4" + }, + "nodeType": "ModifierInvocation", + "src": "821:16:4" + } + ], + "name": "__Context_init_unchained", + "nameLocation": "785:24:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 670, + "nodeType": "ParameterList", + "parameters": [], + "src": "809:2:4" + }, + "returnParameters": { + "id": 673, + "nodeType": "ParameterList", + "parameters": [], + "src": "838:0:4" + }, + "scope": 699, + "src": "776:69:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 683, + "nodeType": "Block", + "src": "912:34:4", + "statements": [ + { + "expression": { + "expression": { + "id": 680, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "929:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "933:6:4", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "929:10:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 679, + "id": 682, + "nodeType": "Return", + "src": "922:17:4" + } + ] + }, + "id": 684, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgSender", + "nameLocation": "859:10:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 676, + "nodeType": "ParameterList", + "parameters": [], + "src": "869:2:4" + }, + "returnParameters": { + "id": 679, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 678, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 684, + "src": "903:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 677, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "903:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "902:9:4" + }, + "scope": 699, + "src": "850:96:4", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 692, + "nodeType": "Block", + "src": "1019:32:4", + "statements": [ + { + "expression": { + "expression": { + "id": 689, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1036:3:4", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1040:4:4", + "memberName": "data", + "nodeType": "MemberAccess", + "src": "1036:8:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "functionReturnParameters": 688, + "id": 691, + "nodeType": "Return", + "src": "1029:15:4" + } + ] + }, + "id": 693, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgData", + "nameLocation": "961:8:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 685, + "nodeType": "ParameterList", + "parameters": [], + "src": "969:2:4" + }, + "returnParameters": { + "id": 688, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 687, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 693, + "src": "1003:14:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 686, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1003:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1002:16:4" + }, + "scope": 699, + "src": "952:99:4", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "constant": false, + "documentation": { + "id": 694, + "nodeType": "StructuredDocumentation", + "src": "1057:254:4", + "text": " @dev This empty reserved space is put in place to allow future versions to add new\n variables without shifting down storage in the inheritance chain.\n See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps" + }, + "id": 698, + "mutability": "mutable", + "name": "__gap", + "nameLocation": "1336:5:4", + "nodeType": "VariableDeclaration", + "scope": 699, + "src": "1316:25:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$50_storage", + "typeString": "uint256[50]" + }, + "typeName": { + "baseType": { + "id": 695, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1316:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 697, + "length": { + "hexValue": "3530", + "id": 696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1324:2:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "50" + }, + "nodeType": "ArrayTypeName", + "src": "1316:11:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$50_storage_ptr", + "typeString": "uint256[50]" + } + }, + "visibility": "private" + } + ], + "scope": 700, + "src": "651:693:4", + "usedErrors": [] + } + ], + "src": "86:1259:4" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.594Z", + "devdoc": { + "details": "Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.", + "events": { + "Initialized(uint8)": { + "details": "Triggered when the contract has been initialized or reinitialized." + } + }, + "kind": "dev", + "methods": {}, + "stateVariables": { + "__gap": { + "details": "This empty reserved space is put in place to allow future versions to add new variables without shifting down storage in the inheritance chain. See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps" + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/ERC1967Proxy.json b/build/contracts/ERC1967Proxy.json new file mode 100644 index 0000000..b069ca5 --- /dev/null +++ b/build/contracts/ERC1967Proxy.json @@ -0,0 +1,3745 @@ +{ + "contractName": "ERC1967Proxy", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_logic\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an implementation address that can be changed. This address is stored in storage in the location specified by https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the implementation behind the proxy.\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is upgraded.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the upgradeable proxy with an initial implementation specified by `_logic`. If `_data` is nonempty, it's used as data in a delegate call to `_logic`. This will typically be an encoded function call, and allows initializing the storage of the proxy like a Solidity constructor.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":\"ERC1967Proxy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0xabf3f59bc0e5423eae45e459dbe92e7052c6983628d39008590edc852a62f94a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89c2a0f70157c13845be5cb49b078a6374fee3a78fa950052a3af26190255da8\",\"dweb:/ipfs/QmUcvMEQH1oMM2pUyMuDiBUKdvvnTz1NRB8bmPHrVq8725\"]},\"@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]}},\"version\":1}", + "bytecode": "0x608060405260405161072338038061072383398101604081905261002291610317565b61002e82826000610035565b5050610434565b61003e8361006b565b60008251118061004b5750805b156100665761006483836100ab60201b6100291760201c565b505b505050565b610074816100d7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d083836040518060600160405280602781526020016106fc602791396101a9565b9392505050565b6100ea8161022260201b6100551760201c565b6101515760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61023160201b6100641760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101c691906103e5565b600060405180830381855af49150503d8060008114610201576040519150601f19603f3d011682016040523d82523d6000602084013e610206565b606091505b50909250905061021886838387610234565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102a157825160000361029a5761024e85610222565b61029a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610148565b50816102ab565b6102ab83836102b3565b949350505050565b8151156102c35781518083602001fd5b8060405162461bcd60e51b81526004016101489190610401565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561030e5781810151838201526020016102f6565b50506000910152565b6000806040838503121561032a57600080fd5b82516001600160a01b038116811461034157600080fd5b60208401519092506001600160401b038082111561035e57600080fd5b818501915085601f83011261037257600080fd5b815181811115610384576103846102dd565b604051601f8201601f19908116603f011681019083821181831017156103ac576103ac6102dd565b816040528281528860208487010111156103c557600080fd5b6103d68360208301602088016102f3565b80955050505050509250929050565b600082516103f78184602087016102f3565b9190910192915050565b60208152600082518060208401526104208160408501602087016102f3565b601f01601f19169190910160400192915050565b6102b9806104436000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610067565b61009f565b565b606061004e838360405180606001604052806027815260200161025d602791396100c3565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156100be573d6000f35b3d6000fd5b6060600080856001600160a01b0316856040516100e0919061020d565b600060405180830381855af49150503d806000811461011b576040519150601f19603f3d011682016040523d82523d6000602084013e610120565b606091505b50915091506101318683838761013b565b9695505050505050565b606083156101ad5782516000036101a65761015585610055565b6101a65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b50816101b7565b6101b783836101bf565b949350505050565b8151156101cf5781518083602001fd5b8060405162461bcd60e51b815260040161019d9190610229565b60005b838110156102045781810151838201526020016101ec565b50506000910152565b6000825161021f8184602087016101e9565b9190910192915050565b60208152600082518060208401526102488160408501602087016101e9565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220ce09a51259fdaa8f312c1def9f5810d9ada49c8bfaac17aa554ac8dcb304ac0c64736f6c63430008120033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", + "deployedBytecode": "0x60806040523661001357610011610017565b005b6100115b610027610022610067565b61009f565b565b606061004e838360405180606001604052806027815260200161025d602791396100c3565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156100be573d6000f35b3d6000fd5b6060600080856001600160a01b0316856040516100e0919061020d565b600060405180830381855af49150503d806000811461011b576040519150601f19603f3d011682016040523d82523d6000602084013e610120565b606091505b50915091506101318683838761013b565b9695505050505050565b606083156101ad5782516000036101a65761015585610055565b6101a65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b50816101b7565b6101b783836101bf565b949350505050565b8151156101cf5781518083602001fd5b8060405162461bcd60e51b815260040161019d9190610229565b60005b838110156102045781810151838201526020016101ec565b50506000910152565b6000825161021f8184602087016101e9565b9190910192915050565b60208152600082518060208401526102488160408501602087016101e9565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220ce09a51259fdaa8f312c1def9f5810d9ada49c8bfaac17aa554ac8dcb304ac0c64736f6c63430008120033", + "immutableReferences": {}, + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:2931:30", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:30", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "70:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "75:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "66:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "66:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "56:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "103:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "106:4:30", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "96:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "96:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "96:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "127:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "130:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "120:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "120:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "120:15:30" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "14:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "212:184:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "222:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "231:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "226:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "291:63:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "316:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "321:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "312:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "312:11:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "335:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "340:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "331:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "331:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "325:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "325:18:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "305:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "305:39:30" + }, + "nodeType": "YulExpressionStatement", + "src": "305:39:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "252:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "255:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "249:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "249:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "263:19:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "265:15:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "274:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "277:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "270:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "270:10:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "265:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "245:3:30", + "statements": [] + }, + "src": "241:113:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "374:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "379:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "370:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "370:16:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "388:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "363:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "363:27:30" + }, + "nodeType": "YulExpressionStatement", + "src": "363:27:30" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "190:3:30", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "195:3:30", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "200:6:30", + "type": "" + } + ], + "src": "146:250:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "508:956:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "554:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "563:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "566:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "556:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "556:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "556:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "529:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "538:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "525:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "525:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "550:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "521:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "521:32:30" + }, + "nodeType": "YulIf", + "src": "518:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "579:29:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "598:9:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "592:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "592:16:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "583:5:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "671:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "680:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "683:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "673:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "673:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "673:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "630:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "641:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "656:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "661:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "652:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "652:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "665:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "648:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "648:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "637:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "637:31:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "627:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "627:42:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "620:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "620:50:30" + }, + "nodeType": "YulIf", + "src": "617:70:30" + }, + { + "nodeType": "YulAssignment", + "src": "696:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "706:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "696:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "720:39:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "744:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "755:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "740:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "740:18:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "734:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "734:25:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "724:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "768:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "786:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "790:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "782:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "782:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "794:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "778:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "778:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "772:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "823:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "832:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "835:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "825:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "825:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "825:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "811:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "819:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "808:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "808:14:30" + }, + "nodeType": "YulIf", + "src": "805:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "848:32:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "862:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "873:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "858:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "858:22:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "852:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "928:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "937:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "940:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "930:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "930:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "930:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "907:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "911:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "903:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "903:13:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "918:7:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "899:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "899:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "892:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "892:35:30" + }, + "nodeType": "YulIf", + "src": "889:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "953:19:30", + "value": { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "969:2:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "963:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "963:9:30" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "957:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "995:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "997:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "997:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "997:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "987:2:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "991:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "984:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "984:10:30" + }, + "nodeType": "YulIf", + "src": "981:36:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1026:17:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1040:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "1036:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1036:7:30" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "1030:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1052:23:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1072:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1066:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "1066:9:30" + }, + "variables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1056:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1084:71:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1106:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1130:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1134:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1126:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1126:13:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "1141:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1122:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1122:22:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1146:2:30", + "type": "", + "value": "63" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1118:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1118:31:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "1151:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1114:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1114:40:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1102:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1102:53:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "1088:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1214:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1216:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "1216:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1216:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1173:10:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1185:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1170:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1170:18:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1193:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1205:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1190:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1190:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1167:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1167:46:30" + }, + "nodeType": "YulIf", + "src": "1164:72:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1252:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1256:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1245:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1245:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1245:22:30" + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1283:6:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1291:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1276:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1276:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1276:18:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1340:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1349:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1352:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1342:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1342:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1342:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1317:2:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1321:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1313:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1313:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1326:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1309:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1309:20:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1331:7:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1306:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1306:33:30" + }, + "nodeType": "YulIf", + "src": "1303:53:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1404:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1408:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1400:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1400:11:30" + }, + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1417:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1425:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1413:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1413:15:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1430:2:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "1365:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "1365:68:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1365:68:30" + }, + { + "nodeType": "YulAssignment", + "src": "1442:16:30", + "value": { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1452:6:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1442:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "466:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "477:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "489:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "497:6:30", + "type": "" + } + ], + "src": "401:1063:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1643:235:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1660:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1671:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1653:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1653:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1653:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1694:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1705:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1690:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1690:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1710:2:30", + "type": "", + "value": "45" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1683:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1683:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1683:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1733:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1744:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1729:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1729:18:30" + }, + { + "hexValue": "455243313936373a206e657720696d706c656d656e746174696f6e206973206e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "1749:34:30", + "type": "", + "value": "ERC1967: new implementation is n" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1722:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1722:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1722:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1804:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1815:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1800:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1800:18:30" + }, + { + "hexValue": "6f74206120636f6e7472616374", + "kind": "string", + "nodeType": "YulLiteral", + "src": "1820:15:30", + "type": "", + "value": "ot a contract" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1793:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1793:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1793:43:30" + }, + { + "nodeType": "YulAssignment", + "src": "1845:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1857:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1868:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1853:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1853:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1845:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1620:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1634:4:30", + "type": "" + } + ], + "src": "1469:409:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2020:150:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2030:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2050:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2044:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "2044:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2034:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2105:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2113:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2101:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2101:17:30" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2120:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2125:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "2066:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "2066:66:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2066:66:30" + }, + { + "nodeType": "YulAssignment", + "src": "2141:23:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2152:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2157:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2148:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2148:16:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2141:3:30" + } + ] + } + ] + }, + "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": "1996:3:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2001:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2012:3:30", + "type": "" + } + ], + "src": "1883:287:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2349:179:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2366:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2377:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2359:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2359:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2359:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2400:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2411:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2396:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2396:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2416:2:30", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2389:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2389:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2389:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2439:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2450:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2435:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2435:18:30" + }, + { + "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", + "kind": "string", + "nodeType": "YulLiteral", + "src": "2455:31:30", + "type": "", + "value": "Address: call to non-contract" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2428:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2428:59:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2428:59:30" + }, + { + "nodeType": "YulAssignment", + "src": "2496:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2508:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2519:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2504:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2504:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2496:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2326:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2340:4:30", + "type": "" + } + ], + "src": "2175:353:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2654:275:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2671:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2682:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2664:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2664:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2664:21:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2694:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2714:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2708:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "2708:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2698:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2741:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2752:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2737:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2737:18:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2757:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2730:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2730:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2730:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2812:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2820:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2808:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2808:15:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2829:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2840:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2825:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2825:18:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2845:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "2773:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "2773:79:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2773:79:30" + }, + { + "nodeType": "YulAssignment", + "src": "2861:62:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2877:9:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2896:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2904:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2892:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2892:15:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2913:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "2909:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2909:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2888:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2888:29:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2873:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2873:45:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2920:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2869:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2869:54:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2861:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2623:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2634:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2645:4:30", + "type": "" + } + ], + "src": "2533:396:30" + } + ] + }, + "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_with_cleanup(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 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_with_cleanup(add(_2, 32), add(memPtr, 32), _3)\n value1 := memPtr\n }\n function abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"ERC1967: new implementation is n\")\n mstore(add(headStart, 96), \"ot a contract\")\n tail := add(headStart, 128)\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_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"Address: call to non-contract\")\n tail := add(headStart, 96)\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_with_cleanup(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n}", + "id": 30, + "language": "Yul", + "name": "#utility.yul" + } + ], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:1317:30", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:30", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "80:184:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "90:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "99:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "94:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "159:63:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "184:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "189:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "180:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "180:11:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "203:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "208:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "199:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "199:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "193:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "193:18:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "173:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "173:39:30" + }, + "nodeType": "YulExpressionStatement", + "src": "173:39:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "120:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "123:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "117:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "117:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "131:19:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "133:15:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "142:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "145:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "138:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "138:10:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "133:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "113:3:30", + "statements": [] + }, + "src": "109:113:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "242:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "247:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "238:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "238:16:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "256:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "231:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "231:27:30" + }, + "nodeType": "YulExpressionStatement", + "src": "231:27:30" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "58:3:30", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "63:3:30", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "68:6:30", + "type": "" + } + ], + "src": "14:250:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "406:150:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "416:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "436:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "430:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "430:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "420:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "491:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "499:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "487:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "487:17:30" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "506:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "511:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "452:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "452:66:30" + }, + "nodeType": "YulExpressionStatement", + "src": "452:66:30" + }, + { + "nodeType": "YulAssignment", + "src": "527:23:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "538:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "543:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "534:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "534:16:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "527:3:30" + } + ] + } + ] + }, + "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": "382:3:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "387:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "398:3:30", + "type": "" + } + ], + "src": "269:287:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "735:179:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "752:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "763:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "745:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "745:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "745:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "786:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "797:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "782:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "782:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "802:2:30", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "775:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "775:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "775:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "825:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "836:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "821:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "821:18:30" + }, + { + "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", + "kind": "string", + "nodeType": "YulLiteral", + "src": "841:31:30", + "type": "", + "value": "Address: call to non-contract" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "814:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "814:59:30" + }, + "nodeType": "YulExpressionStatement", + "src": "814:59:30" + }, + { + "nodeType": "YulAssignment", + "src": "882:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "894:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "905:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "890:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "890:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "882:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "712:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "726:4:30", + "type": "" + } + ], + "src": "561:353:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1040:275:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1057:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1068:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1050:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1050:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1050:21:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1080:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1100:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1094:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "1094:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1084:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1127:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1138:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1123:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1123:18:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1143:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1116:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1116:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1116:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1198:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1206:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1194:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1194:15:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1215:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1226:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1211:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1211:18:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1231:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "1159:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "1159:79:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1159:79:30" + }, + { + "nodeType": "YulAssignment", + "src": "1247:62:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1263:9:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1282:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1290:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1278:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1278:15:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1299:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "1295:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1295:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1274:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1274:29:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1259:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1259:45:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1306:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1255:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1255:54:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1247:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1009:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1020:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1031:4:30", + "type": "" + } + ], + "src": "919:396:30" + } + ] + }, + "contents": "{\n { }\n function copy_memory_to_memory_with_cleanup(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 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_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"Address: call to non-contract\")\n tail := add(headStart, 96)\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_with_cleanup(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n}", + "id": 30, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "567:723:7:-:0;;;958:112;;;;;;;;;;;;;;;;;;:::i;:::-;1024:39;1042:6;1050:5;1057;1024:17;:39::i;:::-;958:112;;567:723;;2183:295:8;2321:29;2332:17;2321:10;:29::i;:::-;2378:1;2364:4;:11;:15;:28;;;;2383:9;2364:28;2360:112;;;2408:53;2437:17;2456:4;2408:28;;;;;:53;;:::i;:::-;;2360:112;2183:295;;;:::o;1897:152::-;1963:37;1982:17;1963:18;:37::i;:::-;2015:27;;-1:-1:-1;;;;;2015:27:8;;;;;;;;1897:152;:::o;6469:198:13:-;6552:12;6583:77;6604:6;6612:4;6583:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6576:84;6469:198;-1:-1:-1;;;6469:198:13:o;1532:259:8:-;1613:37;1632:17;1613:18;;;;;:37;;:::i;:::-;1605:95;;;;-1:-1:-1;;;1605:95:8;;1671:2:30;1605:95:8;;;1653:21:30;1710:2;1690:18;;;1683:30;1749:34;1729:18;;;1722:62;-1:-1:-1;;;1800:18:30;;;1793:43;1853:19;;1605:95:8;;;;;;;;;1767:17;1710:48;1030:66;1737:20;;1710:26;;;;;:48;;:::i;:::-;:74;;-1:-1:-1;;;;;;1710:74:8;-1:-1:-1;;;;;1710:74:8;;;;;;;;;;-1:-1:-1;1532:259:8:o;6853:325:13:-;6994:12;7019;7033:23;7060:6;-1:-1:-1;;;;;7060:19:13;7080:4;7060:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7018:67:13;;-1:-1:-1;7018:67:13;-1:-1:-1;7102:69:13;7129:6;7018:67;;7158:12;7102:26;:69::i;:::-;7095:76;6853:325;-1:-1:-1;;;;;;6853:325:13:o;1175:320::-;-1:-1:-1;;;;;1465:19:13;;:23;;;1175:320::o;1614:190:15:-;1784:4;1614:190::o;7466:628:13:-;7646:12;7674:7;7670:418;;;7701:10;:17;7722:1;7701:22;7697:286;;7916:18;7927:6;7916:10;:18::i;:::-;7908:60;;;;-1:-1:-1;;;7908:60:13;;2377:2:30;7908:60:13;;;2359:21:30;2416:2;2396:18;;;2389:30;2455:31;2435:18;;;2428:59;2504:18;;7908:60:13;2175:353:30;7908:60:13;-1:-1:-1;8003:10:13;7996:17;;7670:418;8044:33;8052:10;8064:12;8044:7;:33::i;:::-;7466:628;;;;;;:::o;8616:540::-;8775:17;;:21;8771:379;;9003:10;8997:17;9059:15;9046:10;9042:2;9038:19;9031:44;8771:379;9126:12;9119:20;;-1:-1:-1;;;9119:20:13;;;;;;;;:::i;14:127:30:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:250;231:1;241:113;255:6;252:1;249:13;241:113;;;331:11;;;325:18;312:11;;;305:39;277:2;270:10;241:113;;;-1:-1:-1;;388:1:30;370:16;;363:27;146:250::o;401:1063::-;489:6;497;550:2;538:9;529:7;525:23;521:32;518:52;;;566:1;563;556:12;518:52;592:16;;-1:-1:-1;;;;;637:31:30;;627:42;;617:70;;683:1;680;673:12;617:70;755:2;740:18;;734:25;706:5;;-1:-1:-1;;;;;;808:14:30;;;805:34;;;835:1;832;825:12;805:34;873:6;862:9;858:22;848:32;;918:7;911:4;907:2;903:13;899:27;889:55;;940:1;937;930:12;889:55;969:2;963:9;991:2;987;984:10;981:36;;;997:18;;:::i;:::-;1072:2;1066:9;1040:2;1126:13;;-1:-1:-1;;1122:22:30;;;1146:2;1118:31;1114:40;1102:53;;;1170:18;;;1190:22;;;1167:46;1164:72;;;1216:18;;:::i;:::-;1256:10;1252:2;1245:22;1291:2;1283:6;1276:18;1331:7;1326:2;1321;1317;1313:11;1309:20;1306:33;1303:53;;;1352:1;1349;1342:12;1303:53;1365:68;1430:2;1425;1417:6;1413:15;1408:2;1404;1400:11;1365:68;:::i;:::-;1452:6;1442:16;;;;;;;401:1063;;;;;:::o;1883:287::-;2012:3;2050:6;2044:13;2066:66;2125:6;2120:3;2113:4;2105:6;2101:17;2066:66;:::i;:::-;2148:16;;;;;1883:287;-1:-1:-1;;1883:287:30:o;2533:396::-;2682:2;2671:9;2664:21;2645:4;2714:6;2708:13;2757:6;2752:2;2741:9;2737:18;2730:34;2773:79;2845:6;2840:2;2829:9;2825:18;2820:2;2812:6;2808:15;2773:79;:::i;:::-;2913:2;2892:15;-1:-1:-1;;2888:29:30;2873:45;;;;2920:2;2869:54;;2533:396;-1:-1:-1;;2533:396:30:o;:::-;567:723:7;;;;;;", + "deployedSourceMap": "567:723:7:-:0;;;;;;2898:11:9;:9;:11::i;:::-;567:723:7;;2675:11:9;2322:110;2397:28;2407:17;:15;:17::i;:::-;2397:9;:28::i;:::-;2322:110::o;6469:198:13:-;6552:12;6583:77;6604:6;6612:4;6583:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6576:84;6469:198;-1:-1:-1;;;6469:198:13:o;1175:320::-;-1:-1:-1;;;;;1465:19:13;;:23;;;1175:320::o;1614:190:15:-;1784:4;1614:190::o;1148:140:7:-;1215:12;1246:35;1030:66:8;1380:54;-1:-1:-1;;;;;1380:54:8;;1301:140;1246:35:7;1239:42;;1148:140;:::o;948:895:9:-;1286:14;1283:1;1280;1267:34;1500:1;1497;1481:14;1478:1;1462:14;1455:5;1442:60;1576:16;1573:1;1570;1555:38;1614:6;1681:66;;;;1796:16;1793:1;1786:27;1681:66;1716:16;1713:1;1706:27;6853:325:13;6994:12;7019;7033:23;7060:6;-1:-1:-1;;;;;7060:19:13;7080:4;7060:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7018:67;;;;7102:69;7129:6;7137:7;7146:10;7158:12;7102:26;:69::i;:::-;7095:76;6853:325;-1:-1:-1;;;;;;6853:325:13:o;7466:628::-;7646:12;7674:7;7670:418;;;7701:10;:17;7722:1;7701:22;7697:286;;7916:18;7927:6;7916:10;:18::i;:::-;7908:60;;;;-1:-1:-1;;;7908:60:13;;763:2:30;7908:60:13;;;745:21:30;802:2;782:18;;;775:30;841:31;821:18;;;814:59;890:18;;7908:60:13;;;;;;;;;-1:-1:-1;8003:10:13;7996:17;;7670:418;8044:33;8052:10;8064:12;8044:7;:33::i;:::-;7466:628;;;;;;:::o;8616:540::-;8775:17;;:21;8771:379;;9003:10;8997:17;9059:15;9046:10;9042:2;9038:19;9031:44;8771:379;9126:12;9119:20;;-1:-1:-1;;;9119:20:13;;;;;;;;:::i;14:250:30:-;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:30;238:16;;231:27;14:250::o;269:287::-;398:3;436:6;430:13;452:66;511:6;506:3;499:4;491:6;487:17;452:66;:::i;:::-;534:16;;;;;269:287;-1:-1:-1;;269:287:30:o;919:396::-;1068:2;1057:9;1050:21;1031:4;1100:6;1094:13;1143:6;1138:2;1127:9;1123:18;1116:34;1159:79;1231:6;1226:2;1215:9;1211:18;1206:2;1198:6;1194:15;1159:79;:::i;:::-;1299:2;1278:15;-1:-1:-1;;1274:29:30;1259:45;;;;1306:2;1255:54;;919:396;-1:-1:-1;;919:396:30:o", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (proxy/ERC1967/ERC1967Proxy.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../Proxy.sol\";\nimport \"./ERC1967Upgrade.sol\";\n\n/**\n * @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an\n * implementation address that can be changed. This address is stored in storage in the location specified by\n * https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the\n * implementation behind the proxy.\n */\ncontract ERC1967Proxy is Proxy, ERC1967Upgrade {\n /**\n * @dev Initializes the upgradeable proxy with an initial implementation specified by `_logic`.\n *\n * If `_data` is nonempty, it's used as data in a delegate call to `_logic`. This will typically be an encoded\n * function call, and allows initializing the storage of the proxy like a Solidity constructor.\n */\n constructor(address _logic, bytes memory _data) payable {\n _upgradeToAndCall(_logic, _data, false);\n }\n\n /**\n * @dev Returns the current implementation address.\n */\n function _implementation() internal view virtual override returns (address impl) {\n return ERC1967Upgrade._getImplementation();\n }\n}\n", + "sourcePath": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol", + "exportedSymbols": { + "Address": [ + 1853 + ], + "ERC1967Proxy": [ + 859 + ], + "ERC1967Upgrade": [ + 1177 + ], + "IBeacon": [ + 1239 + ], + "IERC1822Proxiable": [ + 822 + ], + "Proxy": [ + 1229 + ], + "StorageSlot": [ + 1935 + ] + }, + "id": 860, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 824, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "114:23:7" + }, + { + "absolutePath": "@openzeppelin/contracts/proxy/Proxy.sol", + "file": "../Proxy.sol", + "id": 825, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 860, + "sourceUnit": 1230, + "src": "139:22:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol", + "file": "./ERC1967Upgrade.sol", + "id": 826, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 860, + "sourceUnit": 1178, + "src": "162:30:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 828, + "name": "Proxy", + "nameLocations": [ + "592:5:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1229, + "src": "592:5:7" + }, + "id": 829, + "nodeType": "InheritanceSpecifier", + "src": "592:5:7" + }, + { + "baseName": { + "id": 830, + "name": "ERC1967Upgrade", + "nameLocations": [ + "599:14:7" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1177, + "src": "599:14:7" + }, + "id": 831, + "nodeType": "InheritanceSpecifier", + "src": "599:14:7" + } + ], + "canonicalName": "ERC1967Proxy", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 827, + "nodeType": "StructuredDocumentation", + "src": "194:372:7", + "text": " @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an\n implementation address that can be changed. This address is stored in storage in the location specified by\n https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the\n implementation behind the proxy." + }, + "fullyImplemented": true, + "id": 859, + "linearizedBaseContracts": [ + 859, + 1177, + 1229 + ], + "name": "ERC1967Proxy", + "nameLocation": "576:12:7", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 845, + "nodeType": "Block", + "src": "1014:56:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 840, + "name": "_logic", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 834, + "src": "1042:6:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 841, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 836, + "src": "1050:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "66616c7365", + "id": 842, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1057:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 839, + "name": "_upgradeToAndCall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 960, + "src": "1024:17:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$", + "typeString": "function (address,bytes memory,bool)" + } + }, + "id": 843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1024:39:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 844, + "nodeType": "ExpressionStatement", + "src": "1024:39:7" + } + ] + }, + "documentation": { + "id": 832, + "nodeType": "StructuredDocumentation", + "src": "620:333:7", + "text": " @dev Initializes the upgradeable proxy with an initial implementation specified by `_logic`.\n If `_data` is nonempty, it's used as data in a delegate call to `_logic`. This will typically be an encoded\n function call, and allows initializing the storage of the proxy like a Solidity constructor." + }, + "id": 846, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 837, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 834, + "mutability": "mutable", + "name": "_logic", + "nameLocation": "978:6:7", + "nodeType": "VariableDeclaration", + "scope": 846, + "src": "970:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 833, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "970:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 836, + "mutability": "mutable", + "name": "_data", + "nameLocation": "999:5:7", + "nodeType": "VariableDeclaration", + "scope": 846, + "src": "986:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 835, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "986:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "969:36:7" + }, + "returnParameters": { + "id": 838, + "nodeType": "ParameterList", + "parameters": [], + "src": "1014:0:7" + }, + "scope": 859, + "src": "958:112:7", + "stateMutability": "payable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 1194 + ], + "body": { + "id": 857, + "nodeType": "Block", + "src": "1229:59:7", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 853, + "name": "ERC1967Upgrade", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1177, + "src": "1246:14:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC1967Upgrade_$1177_$", + "typeString": "type(contract ERC1967Upgrade)" + } + }, + "id": 854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1261:18:7", + "memberName": "_getImplementation", + "nodeType": "MemberAccess", + "referencedDeclaration": 891, + "src": "1246:33:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1246:35:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 852, + "id": 856, + "nodeType": "Return", + "src": "1239:42:7" + } + ] + }, + "documentation": { + "id": 847, + "nodeType": "StructuredDocumentation", + "src": "1076:67:7", + "text": " @dev Returns the current implementation address." + }, + "id": 858, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_implementation", + "nameLocation": "1157:15:7", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 849, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1197:8:7" + }, + "parameters": { + "id": 848, + "nodeType": "ParameterList", + "parameters": [], + "src": "1172:2:7" + }, + "returnParameters": { + "id": 852, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 851, + "mutability": "mutable", + "name": "impl", + "nameLocation": "1223:4:7", + "nodeType": "VariableDeclaration", + "scope": 858, + "src": "1215:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 850, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1215:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1214:14:7" + }, + "scope": 859, + "src": "1148:140:7", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 860, + "src": "567:723:7", + "usedErrors": [] + } + ], + "src": "114:1177:7" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.600Z", + "devdoc": { + "details": "This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an implementation address that can be changed. This address is stored in storage in the location specified by https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the implementation behind the proxy.", + "events": { + "AdminChanged(address,address)": { + "details": "Emitted when the admin account has changed." + }, + "BeaconUpgraded(address)": { + "details": "Emitted when the beacon is upgraded." + }, + "Upgraded(address)": { + "details": "Emitted when the implementation is upgraded." + } + }, + "kind": "dev", + "methods": { + "constructor": { + "details": "Initializes the upgradeable proxy with an initial implementation specified by `_logic`. If `_data` is nonempty, it's used as data in a delegate call to `_logic`. This will typically be an encoded function call, and allows initializing the storage of the proxy like a Solidity constructor." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/ERC1967Upgrade.json b/build/contracts/ERC1967Upgrade.json new file mode 100644 index 0000000..d110e09 --- /dev/null +++ b/build/contracts/ERC1967Upgrade.json @@ -0,0 +1,4131 @@ +{ + "contractName": "ERC1967Upgrade", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"}],\"devdoc\":{\"custom:oz-upgrades-unsafe-allow\":\"delegatecall\",\"details\":\"This abstract contract provides getters and event emitting update functions for https://eips.ethereum.org/EIPS/eip-1967[EIP1967] slots. _Available since v4.1._\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is upgraded.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"_ADMIN_SLOT\":{\"details\":\"Storage slot with the admin of the contract. This is the keccak-256 hash of \\\"eip1967.proxy.admin\\\" subtracted by 1, and is validated in the constructor.\"},\"_BEACON_SLOT\":{\"details\":\"The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy. This is bytes32(uint256(keccak256('eip1967.proxy.beacon')) - 1)) and is validated in the constructor.\"},\"_IMPLEMENTATION_SLOT\":{\"details\":\"Storage slot with the address of the current implementation. This is the keccak-256 hash of \\\"eip1967.proxy.implementation\\\" subtracted by 1, and is validated in the constructor.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":\"ERC1967Upgrade\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0xabf3f59bc0e5423eae45e459dbe92e7052c6983628d39008590edc852a62f94a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89c2a0f70157c13845be5cb49b078a6374fee3a78fa950052a3af26190255da8\",\"dweb:/ipfs/QmUcvMEQH1oMM2pUyMuDiBUKdvvnTz1NRB8bmPHrVq8725\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "", + "deployedSourceMap": "", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (proxy/ERC1967/ERC1967Upgrade.sol)\n\npragma solidity ^0.8.2;\n\nimport \"../beacon/IBeacon.sol\";\nimport \"../../interfaces/draft-IERC1822.sol\";\nimport \"../../utils/Address.sol\";\nimport \"../../utils/StorageSlot.sol\";\n\n/**\n * @dev This abstract contract provides getters and event emitting update functions for\n * https://eips.ethereum.org/EIPS/eip-1967[EIP1967] slots.\n *\n * _Available since v4.1._\n *\n * @custom:oz-upgrades-unsafe-allow delegatecall\n */\nabstract contract ERC1967Upgrade {\n // This is the keccak-256 hash of \"eip1967.proxy.rollback\" subtracted by 1\n bytes32 private constant _ROLLBACK_SLOT = 0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143;\n\n /**\n * @dev Storage slot with the address of the current implementation.\n * This is the keccak-256 hash of \"eip1967.proxy.implementation\" subtracted by 1, and is\n * validated in the constructor.\n */\n bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n\n /**\n * @dev Emitted when the implementation is upgraded.\n */\n event Upgraded(address indexed implementation);\n\n /**\n * @dev Returns the current implementation address.\n */\n function _getImplementation() internal view returns (address) {\n return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\n }\n\n /**\n * @dev Stores a new address in the EIP1967 implementation slot.\n */\n function _setImplementation(address newImplementation) private {\n require(Address.isContract(newImplementation), \"ERC1967: new implementation is not a contract\");\n StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\n }\n\n /**\n * @dev Perform implementation upgrade\n *\n * Emits an {Upgraded} event.\n */\n function _upgradeTo(address newImplementation) internal {\n _setImplementation(newImplementation);\n emit Upgraded(newImplementation);\n }\n\n /**\n * @dev Perform implementation upgrade with additional setup call.\n *\n * Emits an {Upgraded} event.\n */\n function _upgradeToAndCall(\n address newImplementation,\n bytes memory data,\n bool forceCall\n ) internal {\n _upgradeTo(newImplementation);\n if (data.length > 0 || forceCall) {\n Address.functionDelegateCall(newImplementation, data);\n }\n }\n\n /**\n * @dev Perform implementation upgrade with security checks for UUPS proxies, and additional setup call.\n *\n * Emits an {Upgraded} event.\n */\n function _upgradeToAndCallUUPS(\n address newImplementation,\n bytes memory data,\n bool forceCall\n ) internal {\n // Upgrades from old implementations will perform a rollback test. This test requires the new\n // implementation to upgrade back to the old, non-ERC1822 compliant, implementation. Removing\n // this special case will break upgrade paths from old UUPS implementation to new ones.\n if (StorageSlot.getBooleanSlot(_ROLLBACK_SLOT).value) {\n _setImplementation(newImplementation);\n } else {\n try IERC1822Proxiable(newImplementation).proxiableUUID() returns (bytes32 slot) {\n require(slot == _IMPLEMENTATION_SLOT, \"ERC1967Upgrade: unsupported proxiableUUID\");\n } catch {\n revert(\"ERC1967Upgrade: new implementation is not UUPS\");\n }\n _upgradeToAndCall(newImplementation, data, forceCall);\n }\n }\n\n /**\n * @dev Storage slot with the admin of the contract.\n * This is the keccak-256 hash of \"eip1967.proxy.admin\" subtracted by 1, and is\n * validated in the constructor.\n */\n bytes32 internal constant _ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;\n\n /**\n * @dev Emitted when the admin account has changed.\n */\n event AdminChanged(address previousAdmin, address newAdmin);\n\n /**\n * @dev Returns the current admin.\n */\n function _getAdmin() internal view returns (address) {\n return StorageSlot.getAddressSlot(_ADMIN_SLOT).value;\n }\n\n /**\n * @dev Stores a new address in the EIP1967 admin slot.\n */\n function _setAdmin(address newAdmin) private {\n require(newAdmin != address(0), \"ERC1967: new admin is the zero address\");\n StorageSlot.getAddressSlot(_ADMIN_SLOT).value = newAdmin;\n }\n\n /**\n * @dev Changes the admin of the proxy.\n *\n * Emits an {AdminChanged} event.\n */\n function _changeAdmin(address newAdmin) internal {\n emit AdminChanged(_getAdmin(), newAdmin);\n _setAdmin(newAdmin);\n }\n\n /**\n * @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy.\n * This is bytes32(uint256(keccak256('eip1967.proxy.beacon')) - 1)) and is validated in the constructor.\n */\n bytes32 internal constant _BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50;\n\n /**\n * @dev Emitted when the beacon is upgraded.\n */\n event BeaconUpgraded(address indexed beacon);\n\n /**\n * @dev Returns the current beacon.\n */\n function _getBeacon() internal view returns (address) {\n return StorageSlot.getAddressSlot(_BEACON_SLOT).value;\n }\n\n /**\n * @dev Stores a new beacon in the EIP1967 beacon slot.\n */\n function _setBeacon(address newBeacon) private {\n require(Address.isContract(newBeacon), \"ERC1967: new beacon is not a contract\");\n require(\n Address.isContract(IBeacon(newBeacon).implementation()),\n \"ERC1967: beacon implementation is not a contract\"\n );\n StorageSlot.getAddressSlot(_BEACON_SLOT).value = newBeacon;\n }\n\n /**\n * @dev Perform beacon upgrade with additional setup call. Note: This upgrades the address of the beacon, it does\n * not upgrade the implementation contained in the beacon (see {UpgradeableBeacon-_setImplementation} for that).\n *\n * Emits a {BeaconUpgraded} event.\n */\n function _upgradeBeaconToAndCall(\n address newBeacon,\n bytes memory data,\n bool forceCall\n ) internal {\n _setBeacon(newBeacon);\n emit BeaconUpgraded(newBeacon);\n if (data.length > 0 || forceCall) {\n Address.functionDelegateCall(IBeacon(newBeacon).implementation(), data);\n }\n }\n}\n", + "sourcePath": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol", + "exportedSymbols": { + "Address": [ + 1853 + ], + "ERC1967Upgrade": [ + 1177 + ], + "IBeacon": [ + 1239 + ], + "IERC1822Proxiable": [ + 822 + ], + "StorageSlot": [ + 1935 + ] + }, + "id": 1178, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 861, + "literals": [ + "solidity", + "^", + "0.8", + ".2" + ], + "nodeType": "PragmaDirective", + "src": "116:23:8" + }, + { + "absolutePath": "@openzeppelin/contracts/proxy/beacon/IBeacon.sol", + "file": "../beacon/IBeacon.sol", + "id": 862, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1178, + "sourceUnit": 1240, + "src": "141:31:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/interfaces/draft-IERC1822.sol", + "file": "../../interfaces/draft-IERC1822.sol", + "id": 863, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1178, + "sourceUnit": 823, + "src": "173:45:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Address.sol", + "file": "../../utils/Address.sol", + "id": 864, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1178, + "sourceUnit": 1854, + "src": "219:33:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/StorageSlot.sol", + "file": "../../utils/StorageSlot.sol", + "id": 865, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1178, + "sourceUnit": 1936, + "src": "253:37:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [], + "canonicalName": "ERC1967Upgrade", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 866, + "nodeType": "StructuredDocumentation", + "src": "292:236:8", + "text": " @dev This abstract contract provides getters and event emitting update functions for\n https://eips.ethereum.org/EIPS/eip-1967[EIP1967] slots.\n _Available since v4.1._\n @custom:oz-upgrades-unsafe-allow delegatecall" + }, + "fullyImplemented": true, + "id": 1177, + "linearizedBaseContracts": [ + 1177 + ], + "name": "ERC1967Upgrade", + "nameLocation": "547:14:8", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 869, + "mutability": "constant", + "name": "_ROLLBACK_SLOT", + "nameLocation": "672:14:8", + "nodeType": "VariableDeclaration", + "scope": 1177, + "src": "647:108:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 867, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "647:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "hexValue": "307834393130666466613136666564333236306564306537313437663763633664613131613630323038623562393430366431326136333536313466666439313433", + "id": 868, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "689:66:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_33048860383849004559742813297059419343339852917517107368639918720169455489347_by_1", + "typeString": "int_const 3304...(69 digits omitted)...9347" + }, + "value": "0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143" + }, + "visibility": "private" + }, + { + "constant": true, + "documentation": { + "id": 870, + "nodeType": "StructuredDocumentation", + "src": "762:214:8", + "text": " @dev Storage slot with the address of the current implementation.\n This is the keccak-256 hash of \"eip1967.proxy.implementation\" subtracted by 1, and is\n validated in the constructor." + }, + "id": 873, + "mutability": "constant", + "name": "_IMPLEMENTATION_SLOT", + "nameLocation": "1007:20:8", + "nodeType": "VariableDeclaration", + "scope": 1177, + "src": "981:115:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 871, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "981:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "hexValue": "307833363038393461313362613161333231303636376338323834393264623938646361336532303736636333373335613932306133636135303564333832626263", + "id": 872, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1030:66:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_24440054405305269366569402256811496959409073762505157381672968839269610695612_by_1", + "typeString": "int_const 2444...(69 digits omitted)...5612" + }, + "value": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" + }, + "visibility": "internal" + }, + { + "anonymous": false, + "documentation": { + "id": 874, + "nodeType": "StructuredDocumentation", + "src": "1103:68:8", + "text": " @dev Emitted when the implementation is upgraded." + }, + "eventSelector": "bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "id": 878, + "name": "Upgraded", + "nameLocation": "1182:8:8", + "nodeType": "EventDefinition", + "parameters": { + "id": 877, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 876, + "indexed": true, + "mutability": "mutable", + "name": "implementation", + "nameLocation": "1207:14:8", + "nodeType": "VariableDeclaration", + "scope": 878, + "src": "1191:30:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 875, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1191:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1190:32:8" + }, + "src": "1176:47:8" + }, + { + "body": { + "id": 890, + "nodeType": "Block", + "src": "1363:78:8", + "statements": [ + { + "expression": { + "expression": { + "arguments": [ + { + "id": 886, + "name": "_IMPLEMENTATION_SLOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 873, + "src": "1407:20:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 884, + "name": "StorageSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1935, + "src": "1380:11:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_StorageSlot_$1935_$", + "typeString": "type(library StorageSlot)" + } + }, + "id": 885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1392:14:8", + "memberName": "getAddressSlot", + "nodeType": "MemberAccess", + "referencedDeclaration": 1901, + "src": "1380:26:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$1881_storage_ptr_$", + "typeString": "function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)" + } + }, + "id": 887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1380:48:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$1881_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot storage pointer" + } + }, + "id": 888, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1429:5:8", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1880, + "src": "1380:54:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 883, + "id": 889, + "nodeType": "Return", + "src": "1373:61:8" + } + ] + }, + "documentation": { + "id": 879, + "nodeType": "StructuredDocumentation", + "src": "1229:67:8", + "text": " @dev Returns the current implementation address." + }, + "id": 891, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_getImplementation", + "nameLocation": "1310:18:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 880, + "nodeType": "ParameterList", + "parameters": [], + "src": "1328:2:8" + }, + "returnParameters": { + "id": 883, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 882, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 891, + "src": "1354:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 881, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1354:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1353:9:8" + }, + "scope": 1177, + "src": "1301:140:8", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 914, + "nodeType": "Block", + "src": "1595:196:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 900, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 894, + "src": "1632:17:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 898, + "name": "Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1853, + "src": "1613:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Address_$1853_$", + "typeString": "type(library Address)" + } + }, + "id": 899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1621:10:8", + "memberName": "isContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 1541, + "src": "1613:18:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1613:37:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "455243313936373a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374", + "id": 902, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1652:47:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65", + "typeString": "literal_string \"ERC1967: new implementation is not a contract\"" + }, + "value": "ERC1967: new implementation is not a contract" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65", + "typeString": "literal_string \"ERC1967: new implementation is not a contract\"" + } + ], + "id": 897, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1605:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1605:95:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 904, + "nodeType": "ExpressionStatement", + "src": "1605:95:8" + }, + { + "expression": { + "id": 912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "arguments": [ + { + "id": 908, + "name": "_IMPLEMENTATION_SLOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 873, + "src": "1737:20:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 905, + "name": "StorageSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1935, + "src": "1710:11:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_StorageSlot_$1935_$", + "typeString": "type(library StorageSlot)" + } + }, + "id": 907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1722:14:8", + "memberName": "getAddressSlot", + "nodeType": "MemberAccess", + "referencedDeclaration": 1901, + "src": "1710:26:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$1881_storage_ptr_$", + "typeString": "function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)" + } + }, + "id": 909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1710:48:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$1881_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot storage pointer" + } + }, + "id": 910, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "1759:5:8", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1880, + "src": "1710:54:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 911, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 894, + "src": "1767:17:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1710:74:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 913, + "nodeType": "ExpressionStatement", + "src": "1710:74:8" + } + ] + }, + "documentation": { + "id": 892, + "nodeType": "StructuredDocumentation", + "src": "1447:80:8", + "text": " @dev Stores a new address in the EIP1967 implementation slot." + }, + "id": 915, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setImplementation", + "nameLocation": "1541:18:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 895, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 894, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "1568:17:8", + "nodeType": "VariableDeclaration", + "scope": 915, + "src": "1560:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 893, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1560:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1559:27:8" + }, + "returnParameters": { + "id": 896, + "nodeType": "ParameterList", + "parameters": [], + "src": "1595:0:8" + }, + "scope": 1177, + "src": "1532:259:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 929, + "nodeType": "Block", + "src": "1953:96:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 922, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 918, + "src": "1982:17:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 921, + "name": "_setImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 915, + "src": "1963:18:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1963:37:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 924, + "nodeType": "ExpressionStatement", + "src": "1963:37:8" + }, + { + "eventCall": { + "arguments": [ + { + "id": 926, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 918, + "src": "2024:17:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 925, + "name": "Upgraded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 878, + "src": "2015:8:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2015:27:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 928, + "nodeType": "EmitStatement", + "src": "2010:32:8" + } + ] + }, + "documentation": { + "id": 916, + "nodeType": "StructuredDocumentation", + "src": "1797:95:8", + "text": " @dev Perform implementation upgrade\n Emits an {Upgraded} event." + }, + "id": 930, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_upgradeTo", + "nameLocation": "1906:10:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 919, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 918, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "1925:17:8", + "nodeType": "VariableDeclaration", + "scope": 930, + "src": "1917:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 917, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1917:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1916:27:8" + }, + "returnParameters": { + "id": 920, + "nodeType": "ParameterList", + "parameters": [], + "src": "1953:0:8" + }, + "scope": 1177, + "src": "1897:152:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 959, + "nodeType": "Block", + "src": "2311:167:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 941, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 933, + "src": "2332:17:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 940, + "name": "_upgradeTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 930, + "src": "2321:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2321:29:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 943, + "nodeType": "ExpressionStatement", + "src": "2321:29:8" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 944, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 935, + "src": "2364:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2369:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2364:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2378:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2364:15:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "id": 948, + "name": "forceCall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 937, + "src": "2383:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2364:28:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 958, + "nodeType": "IfStatement", + "src": "2360:112:8", + "trueBody": { + "id": 957, + "nodeType": "Block", + "src": "2394:78:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 953, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 933, + "src": "2437:17:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 954, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 935, + "src": "2456:4:8", + "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": 950, + "name": "Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1853, + "src": "2408:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Address_$1853_$", + "typeString": "type(library Address)" + } + }, + "id": 952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2416:20:8", + "memberName": "functionDelegateCall", + "nodeType": "MemberAccess", + "referencedDeclaration": 1740, + "src": "2408:28:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory) returns (bytes memory)" + } + }, + "id": 955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2408:53:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 956, + "nodeType": "ExpressionStatement", + "src": "2408:53:8" + } + ] + } + } + ] + }, + "documentation": { + "id": 931, + "nodeType": "StructuredDocumentation", + "src": "2055:123:8", + "text": " @dev Perform implementation upgrade with additional setup call.\n Emits an {Upgraded} event." + }, + "id": 960, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_upgradeToAndCall", + "nameLocation": "2192:17:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 938, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 933, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "2227:17:8", + "nodeType": "VariableDeclaration", + "scope": 960, + "src": "2219:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 932, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2219:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 935, + "mutability": "mutable", + "name": "data", + "nameLocation": "2267:4:8", + "nodeType": "VariableDeclaration", + "scope": 960, + "src": "2254:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 934, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2254:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 937, + "mutability": "mutable", + "name": "forceCall", + "nameLocation": "2286:9:8", + "nodeType": "VariableDeclaration", + "scope": 960, + "src": "2281:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 936, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2281:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2209:92:8" + }, + "returnParameters": { + "id": 939, + "nodeType": "ParameterList", + "parameters": [], + "src": "2311:0:8" + }, + "scope": 1177, + "src": "2183:295:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1012, + "nodeType": "Block", + "src": "2782:820:8", + "statements": [ + { + "condition": { + "expression": { + "arguments": [ + { + "id": 972, + "name": "_ROLLBACK_SLOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 869, + "src": "3123:14:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 970, + "name": "StorageSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1935, + "src": "3096:11:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_StorageSlot_$1935_$", + "typeString": "type(library StorageSlot)" + } + }, + "id": 971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3108:14:8", + "memberName": "getBooleanSlot", + "nodeType": "MemberAccess", + "referencedDeclaration": 1912, + "src": "3096:26:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_BooleanSlot_$1884_storage_ptr_$", + "typeString": "function (bytes32) pure returns (struct StorageSlot.BooleanSlot storage pointer)" + } + }, + "id": 973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3096:42:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_BooleanSlot_$1884_storage_ptr", + "typeString": "struct StorageSlot.BooleanSlot storage pointer" + } + }, + "id": 974, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3139:5:8", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1883, + "src": "3096:48:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1010, + "nodeType": "Block", + "src": "3214:382:8", + "statements": [ + { + "clauses": [ + { + "block": { + "id": 995, + "nodeType": "Block", + "src": "3308:115:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 989, + "name": "slot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 986, + "src": "3334:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 990, + "name": "_IMPLEMENTATION_SLOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 873, + "src": "3342:20:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3334:28:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524331393637557067726164653a20756e737570706f727465642070726f786961626c6555554944", + "id": 992, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3364:43:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_76b6b6debfc5febf101145a79ecf0b0d2e89e397dfdab2bca99888370411152c", + "typeString": "literal_string \"ERC1967Upgrade: unsupported proxiableUUID\"" + }, + "value": "ERC1967Upgrade: unsupported proxiableUUID" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_76b6b6debfc5febf101145a79ecf0b0d2e89e397dfdab2bca99888370411152c", + "typeString": "literal_string \"ERC1967Upgrade: unsupported proxiableUUID\"" + } + ], + "id": 988, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3326:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3326:82:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 994, + "nodeType": "ExpressionStatement", + "src": "3326:82:8" + } + ] + }, + "errorName": "", + "id": 996, + "nodeType": "TryCatchClause", + "parameters": { + "id": 987, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 986, + "mutability": "mutable", + "name": "slot", + "nameLocation": "3302:4:8", + "nodeType": "VariableDeclaration", + "scope": 996, + "src": "3294:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 985, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3294:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3293:14:8" + }, + "src": "3285:138:8" + }, + { + "block": { + "id": 1001, + "nodeType": "Block", + "src": "3430:89:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "45524331393637557067726164653a206e657720696d706c656d656e746174696f6e206973206e6f742055555053", + "id": 998, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3455:48:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8e8e2fbcb586f700b5b14e2c4a650c8d83b9773c31c5fe8962070ea544e11f24", + "typeString": "literal_string \"ERC1967Upgrade: new implementation is not UUPS\"" + }, + "value": "ERC1967Upgrade: new implementation is not UUPS" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8e8e2fbcb586f700b5b14e2c4a650c8d83b9773c31c5fe8962070ea544e11f24", + "typeString": "literal_string \"ERC1967Upgrade: new implementation is not UUPS\"" + } + ], + "id": 997, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967277, + 4294967277 + ], + "referencedDeclaration": 4294967277, + "src": "3448:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3448:56:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1000, + "nodeType": "ExpressionStatement", + "src": "3448:56:8" + } + ] + }, + "errorName": "", + "id": 1002, + "nodeType": "TryCatchClause", + "src": "3424:95:8" + } + ], + "externalCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "arguments": [ + { + "id": 981, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 963, + "src": "3250:17:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 980, + "name": "IERC1822Proxiable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 822, + "src": "3232:17:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1822Proxiable_$822_$", + "typeString": "type(contract IERC1822Proxiable)" + } + }, + "id": 982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3232:36:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1822Proxiable_$822", + "typeString": "contract IERC1822Proxiable" + } + }, + "id": 983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3269:13:8", + "memberName": "proxiableUUID", + "nodeType": "MemberAccess", + "referencedDeclaration": 821, + "src": "3232:50:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + "id": 984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3232:52:8", + "tryCall": true, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1003, + "nodeType": "TryStatement", + "src": "3228:291:8" + }, + { + "expression": { + "arguments": [ + { + "id": 1005, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 963, + "src": "3550:17:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1006, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 965, + "src": "3569:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 1007, + "name": "forceCall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 967, + "src": "3575:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1004, + "name": "_upgradeToAndCall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 960, + "src": "3532:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$", + "typeString": "function (address,bytes memory,bool)" + } + }, + "id": 1008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3532:53:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1009, + "nodeType": "ExpressionStatement", + "src": "3532:53:8" + } + ] + }, + "id": 1011, + "nodeType": "IfStatement", + "src": "3092:504:8", + "trueBody": { + "id": 979, + "nodeType": "Block", + "src": "3146:62:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 976, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 963, + "src": "3179:17:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 975, + "name": "_setImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 915, + "src": "3160:18:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3160:37:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 978, + "nodeType": "ExpressionStatement", + "src": "3160:37:8" + } + ] + } + } + ] + }, + "documentation": { + "id": 961, + "nodeType": "StructuredDocumentation", + "src": "2484:161:8", + "text": " @dev Perform implementation upgrade with security checks for UUPS proxies, and additional setup call.\n Emits an {Upgraded} event." + }, + "id": 1013, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_upgradeToAndCallUUPS", + "nameLocation": "2659:21:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 968, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 963, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "2698:17:8", + "nodeType": "VariableDeclaration", + "scope": 1013, + "src": "2690:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 962, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2690:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 965, + "mutability": "mutable", + "name": "data", + "nameLocation": "2738:4:8", + "nodeType": "VariableDeclaration", + "scope": 1013, + "src": "2725:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 964, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2725:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 967, + "mutability": "mutable", + "name": "forceCall", + "nameLocation": "2757:9:8", + "nodeType": "VariableDeclaration", + "scope": 1013, + "src": "2752:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 966, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2752:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2680:92:8" + }, + "returnParameters": { + "id": 969, + "nodeType": "ParameterList", + "parameters": [], + "src": "2782:0:8" + }, + "scope": 1177, + "src": "2650:952:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "constant": true, + "documentation": { + "id": 1014, + "nodeType": "StructuredDocumentation", + "src": "3608:189:8", + "text": " @dev Storage slot with the admin of the contract.\n This is the keccak-256 hash of \"eip1967.proxy.admin\" subtracted by 1, and is\n validated in the constructor." + }, + "id": 1017, + "mutability": "constant", + "name": "_ADMIN_SLOT", + "nameLocation": "3828:11:8", + "nodeType": "VariableDeclaration", + "scope": 1177, + "src": "3802:106:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1015, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3802:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "hexValue": "307862353331323736383461353638623331373361653133623966386136303136653234336536336236653865653131373864366137313738353062356436313033", + "id": 1016, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3842:66:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_81955473079516046949633743016697847541294818689821282749996681496272635257091_by_1", + "typeString": "int_const 8195...(69 digits omitted)...7091" + }, + "value": "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" + }, + "visibility": "internal" + }, + { + "anonymous": false, + "documentation": { + "id": 1018, + "nodeType": "StructuredDocumentation", + "src": "3915:67:8", + "text": " @dev Emitted when the admin account has changed." + }, + "eventSelector": "7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f", + "id": 1024, + "name": "AdminChanged", + "nameLocation": "3993:12:8", + "nodeType": "EventDefinition", + "parameters": { + "id": 1023, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1020, + "indexed": false, + "mutability": "mutable", + "name": "previousAdmin", + "nameLocation": "4014:13:8", + "nodeType": "VariableDeclaration", + "scope": 1024, + "src": "4006:21:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1019, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4006:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1022, + "indexed": false, + "mutability": "mutable", + "name": "newAdmin", + "nameLocation": "4037:8:8", + "nodeType": "VariableDeclaration", + "scope": 1024, + "src": "4029:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1021, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4029:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4005:41:8" + }, + "src": "3987:60:8" + }, + { + "body": { + "id": 1036, + "nodeType": "Block", + "src": "4161:69:8", + "statements": [ + { + "expression": { + "expression": { + "arguments": [ + { + "id": 1032, + "name": "_ADMIN_SLOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1017, + "src": "4205:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 1030, + "name": "StorageSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1935, + "src": "4178:11:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_StorageSlot_$1935_$", + "typeString": "type(library StorageSlot)" + } + }, + "id": 1031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4190:14:8", + "memberName": "getAddressSlot", + "nodeType": "MemberAccess", + "referencedDeclaration": 1901, + "src": "4178:26:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$1881_storage_ptr_$", + "typeString": "function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)" + } + }, + "id": 1033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4178:39:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$1881_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot storage pointer" + } + }, + "id": 1034, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4218:5:8", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1880, + "src": "4178:45:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1029, + "id": 1035, + "nodeType": "Return", + "src": "4171:52:8" + } + ] + }, + "documentation": { + "id": 1025, + "nodeType": "StructuredDocumentation", + "src": "4053:50:8", + "text": " @dev Returns the current admin." + }, + "id": 1037, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_getAdmin", + "nameLocation": "4117:9:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1026, + "nodeType": "ParameterList", + "parameters": [], + "src": "4126:2:8" + }, + "returnParameters": { + "id": 1029, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1028, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1037, + "src": "4152:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1027, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4152:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4151:9:8" + }, + "scope": 1177, + "src": "4108:122:8", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1062, + "nodeType": "Block", + "src": "4357:156:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1044, + "name": "newAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1040, + "src": "4375:8:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4395:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1046, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4387:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1045, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4387:7:8", + "typeDescriptions": {} + } + }, + "id": 1048, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4387:10:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4375:22:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "455243313936373a206e65772061646d696e20697320746865207a65726f2061646472657373", + "id": 1050, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4399:40:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3820e16891102c1360a787e6e648431097d92537f969d458f5c94b56f8318be5", + "typeString": "literal_string \"ERC1967: new admin is the zero address\"" + }, + "value": "ERC1967: new admin is the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3820e16891102c1360a787e6e648431097d92537f969d458f5c94b56f8318be5", + "typeString": "literal_string \"ERC1967: new admin is the zero address\"" + } + ], + "id": 1043, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4367:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4367:73:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1052, + "nodeType": "ExpressionStatement", + "src": "4367:73:8" + }, + { + "expression": { + "id": 1060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "arguments": [ + { + "id": 1056, + "name": "_ADMIN_SLOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1017, + "src": "4477:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 1053, + "name": "StorageSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1935, + "src": "4450:11:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_StorageSlot_$1935_$", + "typeString": "type(library StorageSlot)" + } + }, + "id": 1055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4462:14:8", + "memberName": "getAddressSlot", + "nodeType": "MemberAccess", + "referencedDeclaration": 1901, + "src": "4450:26:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$1881_storage_ptr_$", + "typeString": "function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)" + } + }, + "id": 1057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4450:39:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$1881_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot storage pointer" + } + }, + "id": 1058, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "4490:5:8", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1880, + "src": "4450:45:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1059, + "name": "newAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1040, + "src": "4498:8:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4450:56:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1061, + "nodeType": "ExpressionStatement", + "src": "4450:56:8" + } + ] + }, + "documentation": { + "id": 1038, + "nodeType": "StructuredDocumentation", + "src": "4236:71:8", + "text": " @dev Stores a new address in the EIP1967 admin slot." + }, + "id": 1063, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setAdmin", + "nameLocation": "4321:9:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1041, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1040, + "mutability": "mutable", + "name": "newAdmin", + "nameLocation": "4339:8:8", + "nodeType": "VariableDeclaration", + "scope": 1063, + "src": "4331:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1039, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4331:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4330:18:8" + }, + "returnParameters": { + "id": 1042, + "nodeType": "ParameterList", + "parameters": [], + "src": "4357:0:8" + }, + "scope": 1177, + "src": "4312:201:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 1079, + "nodeType": "Block", + "src": "4673:86:8", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1070, + "name": "_getAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1037, + "src": "4701:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4701:11:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1072, + "name": "newAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1066, + "src": "4714:8:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1069, + "name": "AdminChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1024, + "src": "4688:12:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4688:35:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1074, + "nodeType": "EmitStatement", + "src": "4683:40:8" + }, + { + "expression": { + "arguments": [ + { + "id": 1076, + "name": "newAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1066, + "src": "4743:8:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1075, + "name": "_setAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1063, + "src": "4733:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 1077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4733:19:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1078, + "nodeType": "ExpressionStatement", + "src": "4733:19:8" + } + ] + }, + "documentation": { + "id": 1064, + "nodeType": "StructuredDocumentation", + "src": "4519:100:8", + "text": " @dev Changes the admin of the proxy.\n Emits an {AdminChanged} event." + }, + "id": 1080, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_changeAdmin", + "nameLocation": "4633:12:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1067, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1066, + "mutability": "mutable", + "name": "newAdmin", + "nameLocation": "4654:8:8", + "nodeType": "VariableDeclaration", + "scope": 1080, + "src": "4646:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1065, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4646:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4645:18:8" + }, + "returnParameters": { + "id": 1068, + "nodeType": "ParameterList", + "parameters": [], + "src": "4673:0:8" + }, + "scope": 1177, + "src": "4624:135:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "constant": true, + "documentation": { + "id": 1081, + "nodeType": "StructuredDocumentation", + "src": "4765:232:8", + "text": " @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy.\n This is bytes32(uint256(keccak256('eip1967.proxy.beacon')) - 1)) and is validated in the constructor." + }, + "id": 1084, + "mutability": "constant", + "name": "_BEACON_SLOT", + "nameLocation": "5028:12:8", + "nodeType": "VariableDeclaration", + "scope": 1177, + "src": "5002:107:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1082, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5002:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "hexValue": "307861336630616437346535343233616562666438306433656634333436353738333335613961373261656165653539666636636233353832623335313333643530", + "id": 1083, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5043:66:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_74152234768234802001998023604048924213078445070507226371336425913862612794704_by_1", + "typeString": "int_const 7415...(69 digits omitted)...4704" + }, + "value": "0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50" + }, + "visibility": "internal" + }, + { + "anonymous": false, + "documentation": { + "id": 1085, + "nodeType": "StructuredDocumentation", + "src": "5116:60:8", + "text": " @dev Emitted when the beacon is upgraded." + }, + "eventSelector": "1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e", + "id": 1089, + "name": "BeaconUpgraded", + "nameLocation": "5187:14:8", + "nodeType": "EventDefinition", + "parameters": { + "id": 1088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1087, + "indexed": true, + "mutability": "mutable", + "name": "beacon", + "nameLocation": "5218:6:8", + "nodeType": "VariableDeclaration", + "scope": 1089, + "src": "5202:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1086, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5202:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5201:24:8" + }, + "src": "5181:45:8" + }, + { + "body": { + "id": 1101, + "nodeType": "Block", + "src": "5342:70:8", + "statements": [ + { + "expression": { + "expression": { + "arguments": [ + { + "id": 1097, + "name": "_BEACON_SLOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1084, + "src": "5386:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 1095, + "name": "StorageSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1935, + "src": "5359:11:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_StorageSlot_$1935_$", + "typeString": "type(library StorageSlot)" + } + }, + "id": 1096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5371:14:8", + "memberName": "getAddressSlot", + "nodeType": "MemberAccess", + "referencedDeclaration": 1901, + "src": "5359:26:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$1881_storage_ptr_$", + "typeString": "function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)" + } + }, + "id": 1098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5359:40:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$1881_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot storage pointer" + } + }, + "id": 1099, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5400:5:8", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1880, + "src": "5359:46:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1094, + "id": 1100, + "nodeType": "Return", + "src": "5352:53:8" + } + ] + }, + "documentation": { + "id": 1090, + "nodeType": "StructuredDocumentation", + "src": "5232:51:8", + "text": " @dev Returns the current beacon." + }, + "id": 1102, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_getBeacon", + "nameLocation": "5297:10:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1091, + "nodeType": "ParameterList", + "parameters": [], + "src": "5307:2:8" + }, + "returnParameters": { + "id": 1094, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1093, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1102, + "src": "5333:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1092, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5333:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5332:9:8" + }, + "scope": 1177, + "src": "5288:124:8", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1137, + "nodeType": "Block", + "src": "5541:324:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 1111, + "name": "newBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1105, + "src": "5578:9:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 1109, + "name": "Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1853, + "src": "5559:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Address_$1853_$", + "typeString": "type(library Address)" + } + }, + "id": 1110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5567:10:8", + "memberName": "isContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 1541, + "src": "5559:18:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 1112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5559:29:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "455243313936373a206e657720626561636f6e206973206e6f74206120636f6e7472616374", + "id": 1113, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5590:39:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9589b7809634e4928033de18bb696e9af4ef71b703652af5245f2dbebf2f4470", + "typeString": "literal_string \"ERC1967: new beacon is not a contract\"" + }, + "value": "ERC1967: new beacon is not a contract" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_9589b7809634e4928033de18bb696e9af4ef71b703652af5245f2dbebf2f4470", + "typeString": "literal_string \"ERC1967: new beacon is not a contract\"" + } + ], + "id": 1108, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "5551:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5551:79:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1115, + "nodeType": "ExpressionStatement", + "src": "5551:79:8" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "arguments": [ + { + "id": 1120, + "name": "newBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1105, + "src": "5688:9:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1119, + "name": "IBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1239, + "src": "5680:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IBeacon_$1239_$", + "typeString": "type(contract IBeacon)" + } + }, + "id": 1121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5680:18:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IBeacon_$1239", + "typeString": "contract IBeacon" + } + }, + "id": 1122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5699:14:8", + "memberName": "implementation", + "nodeType": "MemberAccess", + "referencedDeclaration": 1238, + "src": "5680:33:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5680:35:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 1117, + "name": "Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1853, + "src": "5661:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Address_$1853_$", + "typeString": "type(library Address)" + } + }, + "id": 1118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5669:10:8", + "memberName": "isContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 1541, + "src": "5661:18:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 1124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5661:55:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "455243313936373a20626561636f6e20696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374", + "id": 1125, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5730:50:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f95fd1f5b5578816eb23f6ca0f2439b4b5e4094dc16e99c3b8e91603a83f93c8", + "typeString": "literal_string \"ERC1967: beacon implementation is not a contract\"" + }, + "value": "ERC1967: beacon implementation is not a contract" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f95fd1f5b5578816eb23f6ca0f2439b4b5e4094dc16e99c3b8e91603a83f93c8", + "typeString": "literal_string \"ERC1967: beacon implementation is not a contract\"" + } + ], + "id": 1116, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "5640:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5640:150:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1127, + "nodeType": "ExpressionStatement", + "src": "5640:150:8" + }, + { + "expression": { + "id": 1135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "arguments": [ + { + "id": 1131, + "name": "_BEACON_SLOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1084, + "src": "5827:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 1128, + "name": "StorageSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1935, + "src": "5800:11:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_StorageSlot_$1935_$", + "typeString": "type(library StorageSlot)" + } + }, + "id": 1130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5812:14:8", + "memberName": "getAddressSlot", + "nodeType": "MemberAccess", + "referencedDeclaration": 1901, + "src": "5800:26:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$1881_storage_ptr_$", + "typeString": "function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)" + } + }, + "id": 1132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5800:40:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$1881_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot storage pointer" + } + }, + "id": 1133, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "5841:5:8", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1880, + "src": "5800:46:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1134, + "name": "newBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1105, + "src": "5849:9:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5800:58:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1136, + "nodeType": "ExpressionStatement", + "src": "5800:58:8" + } + ] + }, + "documentation": { + "id": 1103, + "nodeType": "StructuredDocumentation", + "src": "5418:71:8", + "text": " @dev Stores a new beacon in the EIP1967 beacon slot." + }, + "id": 1138, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setBeacon", + "nameLocation": "5503:10:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1106, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1105, + "mutability": "mutable", + "name": "newBeacon", + "nameLocation": "5522:9:8", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "5514:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1104, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5514:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5513:19:8" + }, + "returnParameters": { + "id": 1107, + "nodeType": "ParameterList", + "parameters": [], + "src": "5541:0:8" + }, + "scope": 1177, + "src": "5494:371:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 1175, + "nodeType": "Block", + "src": "6294:217:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1149, + "name": "newBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1141, + "src": "6315:9:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1148, + "name": "_setBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1138, + "src": "6304:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 1150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6304:21:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1151, + "nodeType": "ExpressionStatement", + "src": "6304:21:8" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1153, + "name": "newBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1141, + "src": "6355:9:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1152, + "name": "BeaconUpgraded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1089, + "src": "6340:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 1154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6340:25:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1155, + "nodeType": "EmitStatement", + "src": "6335:30:8" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1156, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1143, + "src": "6379:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6384:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6379:11:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6393:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6379:15:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "id": 1160, + "name": "forceCall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1145, + "src": "6398:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6379:28:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1174, + "nodeType": "IfStatement", + "src": "6375:130:8", + "trueBody": { + "id": 1173, + "nodeType": "Block", + "src": "6409:96:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "arguments": [ + { + "id": 1166, + "name": "newBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1141, + "src": "6460:9:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1165, + "name": "IBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1239, + "src": "6452:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IBeacon_$1239_$", + "typeString": "type(contract IBeacon)" + } + }, + "id": 1167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6452:18:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IBeacon_$1239", + "typeString": "contract IBeacon" + } + }, + "id": 1168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6471:14:8", + "memberName": "implementation", + "nodeType": "MemberAccess", + "referencedDeclaration": 1238, + "src": "6452:33:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 1169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6452:35:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1170, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1143, + "src": "6489:4:8", + "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": 1162, + "name": "Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1853, + "src": "6423:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Address_$1853_$", + "typeString": "type(library Address)" + } + }, + "id": 1164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6431:20:8", + "memberName": "functionDelegateCall", + "nodeType": "MemberAccess", + "referencedDeclaration": 1740, + "src": "6423:28:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory) returns (bytes memory)" + } + }, + "id": 1171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6423:71:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1172, + "nodeType": "ExpressionStatement", + "src": "6423:71:8" + } + ] + } + } + ] + }, + "documentation": { + "id": 1139, + "nodeType": "StructuredDocumentation", + "src": "5871:292:8", + "text": " @dev Perform beacon upgrade with additional setup call. Note: This upgrades the address of the beacon, it does\n not upgrade the implementation contained in the beacon (see {UpgradeableBeacon-_setImplementation} for that).\n Emits a {BeaconUpgraded} event." + }, + "id": 1176, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_upgradeBeaconToAndCall", + "nameLocation": "6177:23:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1146, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1141, + "mutability": "mutable", + "name": "newBeacon", + "nameLocation": "6218:9:8", + "nodeType": "VariableDeclaration", + "scope": 1176, + "src": "6210:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1140, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6210:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1143, + "mutability": "mutable", + "name": "data", + "nameLocation": "6250:4:8", + "nodeType": "VariableDeclaration", + "scope": 1176, + "src": "6237:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1142, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6237:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1145, + "mutability": "mutable", + "name": "forceCall", + "nameLocation": "6269:9:8", + "nodeType": "VariableDeclaration", + "scope": 1176, + "src": "6264:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1144, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6264:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6200:84:8" + }, + "returnParameters": { + "id": 1147, + "nodeType": "ParameterList", + "parameters": [], + "src": "6294:0:8" + }, + "scope": 1177, + "src": "6168:343:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 1178, + "src": "529:5984:8", + "usedErrors": [] + } + ], + "src": "116:6398:8" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.601Z", + "devdoc": { + "custom:oz-upgrades-unsafe-allow": "delegatecall", + "details": "This abstract contract provides getters and event emitting update functions for https://eips.ethereum.org/EIPS/eip-1967[EIP1967] slots. _Available since v4.1._", + "events": { + "AdminChanged(address,address)": { + "details": "Emitted when the admin account has changed." + }, + "BeaconUpgraded(address)": { + "details": "Emitted when the beacon is upgraded." + }, + "Upgraded(address)": { + "details": "Emitted when the implementation is upgraded." + } + }, + "kind": "dev", + "methods": {}, + "stateVariables": { + "_ADMIN_SLOT": { + "details": "Storage slot with the admin of the contract. This is the keccak-256 hash of \"eip1967.proxy.admin\" subtracted by 1, and is validated in the constructor." + }, + "_BEACON_SLOT": { + "details": "The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy. This is bytes32(uint256(keccak256('eip1967.proxy.beacon')) - 1)) and is validated in the constructor." + }, + "_IMPLEMENTATION_SLOT": { + "details": "Storage slot with the address of the current implementation. This is the keccak-256 hash of \"eip1967.proxy.implementation\" subtracted by 1, and is validated in the constructor." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/IBeacon.json b/build/contracts/IBeacon.json new file mode 100644 index 0000000..bff7df2 --- /dev/null +++ b/build/contracts/IBeacon.json @@ -0,0 +1,163 @@ +{ + "contractName": "IBeacon", + "abi": [ + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is the interface that {BeaconProxy} expects of its beacon.\",\"kind\":\"dev\",\"methods\":{\"implementation()\":{\"details\":\"Must return an address that can be used as a delegate call target. {BeaconProxy} will check that this address is a contract.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":\"IBeacon\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "", + "deployedSourceMap": "", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (proxy/beacon/IBeacon.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev This is the interface that {BeaconProxy} expects of its beacon.\n */\ninterface IBeacon {\n /**\n * @dev Must return an address that can be used as a delegate call target.\n *\n * {BeaconProxy} will check that this address is a contract.\n */\n function implementation() external view returns (address);\n}\n", + "sourcePath": "@openzeppelin/contracts/proxy/beacon/IBeacon.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts/proxy/beacon/IBeacon.sol", + "exportedSymbols": { + "IBeacon": [ + 1239 + ] + }, + "id": 1240, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1231, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "93:23:10" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IBeacon", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1232, + "nodeType": "StructuredDocumentation", + "src": "118:79:10", + "text": " @dev This is the interface that {BeaconProxy} expects of its beacon." + }, + "fullyImplemented": false, + "id": 1239, + "linearizedBaseContracts": [ + 1239 + ], + "name": "IBeacon", + "nameLocation": "208:7:10", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 1233, + "nodeType": "StructuredDocumentation", + "src": "222:162:10", + "text": " @dev Must return an address that can be used as a delegate call target.\n {BeaconProxy} will check that this address is a contract." + }, + "functionSelector": "5c60da1b", + "id": 1238, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "implementation", + "nameLocation": "398:14:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1234, + "nodeType": "ParameterList", + "parameters": [], + "src": "412:2:10" + }, + "returnParameters": { + "id": 1237, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1236, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1238, + "src": "438:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1235, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "438:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "437:9:10" + }, + "scope": 1239, + "src": "389:58:10", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1240, + "src": "198:251:10", + "usedErrors": [] + } + ], + "src": "93:357:10" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.604Z", + "devdoc": { + "details": "This is the interface that {BeaconProxy} expects of its beacon.", + "kind": "dev", + "methods": { + "implementation()": { + "details": "Must return an address that can be used as a delegate call target. {BeaconProxy} will check that this address is a contract." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/IERC1822Proxiable.json b/build/contracts/IERC1822Proxiable.json new file mode 100644 index 0000000..1282369 --- /dev/null +++ b/build/contracts/IERC1822Proxiable.json @@ -0,0 +1,162 @@ +{ + "contractName": "IERC1822Proxiable", + "abi": [ + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified proxy whose upgrades are fully controlled by the current implementation.\",\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"Returns the storage slot that the proxiable contract assumes is being used to store the implementation address. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":\"IERC1822Proxiable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "", + "deployedSourceMap": "", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (interfaces/draft-IERC1822.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified\n * proxy whose upgrades are fully controlled by the current implementation.\n */\ninterface IERC1822Proxiable {\n /**\n * @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation\n * address.\n *\n * IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n * bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n * function revert if invoked through a proxy.\n */\n function proxiableUUID() external view returns (bytes32);\n}\n", + "sourcePath": "@openzeppelin/contracts/interfaces/draft-IERC1822.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts/interfaces/draft-IERC1822.sol", + "exportedSymbols": { + "IERC1822Proxiable": [ + 822 + ] + }, + "id": 823, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 814, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "113:23:6" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC1822Proxiable", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 815, + "nodeType": "StructuredDocumentation", + "src": "138:203:6", + "text": " @dev ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified\n proxy whose upgrades are fully controlled by the current implementation." + }, + "fullyImplemented": false, + "id": 822, + "linearizedBaseContracts": [ + 822 + ], + "name": "IERC1822Proxiable", + "nameLocation": "352:17:6", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 816, + "nodeType": "StructuredDocumentation", + "src": "376:438:6", + "text": " @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation\n address.\n IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n function revert if invoked through a proxy." + }, + "functionSelector": "52d1902d", + "id": 821, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "proxiableUUID", + "nameLocation": "828:13:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 817, + "nodeType": "ParameterList", + "parameters": [], + "src": "841:2:6" + }, + "returnParameters": { + "id": 820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 819, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 821, + "src": "867:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 818, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "867:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "866:9:6" + }, + "scope": 822, + "src": "819:57:6", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 823, + "src": "342:536:6", + "usedErrors": [] + } + ], + "src": "113:766:6" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.598Z", + "devdoc": { + "details": "ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified proxy whose upgrades are fully controlled by the current implementation.", + "kind": "dev", + "methods": { + "proxiableUUID()": { + "details": "Returns the storage slot that the proxiable contract assumes is being used to store the implementation address. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/Initializable.json b/build/contracts/Initializable.json new file mode 100644 index 0000000..6c01325 --- /dev/null +++ b/build/contracts/Initializable.json @@ -0,0 +1,2113 @@ +{ + "contractName": "Initializable", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"}],\"devdoc\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor constructor() { _disableInitializers(); } ``` ====\",\"details\":\"This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer function so it can only be called once. The {initializer} modifier provided by this contract will have this effect. The initialization functions use a version number. Once a version number is used, it is consumed and cannot be reused. This mechanism prevents re-execution of each \\\"step\\\" but allows the creation of new initialization steps in case an upgrade adds a module that needs to be initialized. For example: [.hljs-theme-light.nopadding] ``` contract MyToken is ERC20Upgradeable { function initialize() initializer public { __ERC20_init(\\\"MyToken\\\", \\\"MTK\\\"); } } contract MyTokenV2 is MyToken, ERC20PermitUpgradeable { function initializeV2() reinitializer(2) public { __ERC20Permit_init(\\\"MyToken\\\"); } } ``` TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}. CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure that all initializers are idempotent. This is not verified automatically as constructors are by Solidity. [CAUTION] ==== Avoid leaving a contract uninitialized. An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation contract, which may impact the proxy. To prevent the implementation contract from being used, you should invoke the {_disableInitializers} function in the constructor to automatically lock it when it is deployed: [.hljs-theme-light.nopadding] ```\",\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"_initialized\":{\"custom:oz-retyped-from\":\"bool\",\"details\":\"Indicates that the contract has been initialized.\"},\"_initializing\":{\"details\":\"Indicates that the contract is in the process of being initialized.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":\"Initializable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x037c334add4b033ad3493038c25be1682d78c00992e1acb0e2795caff3925271\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a313cf42389440e2706837c91370323b85971c06afd6d056d21e2bc86459618\",\"dweb:/ipfs/QmT8XUrUvQ9aZaPKrqgRU2JVGWnaxBcUYJA7Q7K5KcLBSZ\"]},\"@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x2edcb41c121abc510932e8d83ff8b82cf9cdde35e7c297622f5c29ef0af25183\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72460c66cd1c3b1c11b863e0d8df0a1c56f37743019e468dc312c754f43e3b06\",\"dweb:/ipfs/QmPExYKiNb9PUsgktQBupPaM33kzDHxaYoVeJdLhv8s879\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "", + "deployedSourceMap": "", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.1) (proxy/utils/Initializable.sol)\n\npragma solidity ^0.8.2;\n\nimport \"../../utils/AddressUpgradeable.sol\";\n\n/**\n * @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed\n * behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an\n * external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer\n * function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.\n *\n * The initialization functions use a version number. Once a version number is used, it is consumed and cannot be\n * reused. This mechanism prevents re-execution of each \"step\" but allows the creation of new initialization steps in\n * case an upgrade adds a module that needs to be initialized.\n *\n * For example:\n *\n * [.hljs-theme-light.nopadding]\n * ```\n * contract MyToken is ERC20Upgradeable {\n * function initialize() initializer public {\n * __ERC20_init(\"MyToken\", \"MTK\");\n * }\n * }\n * contract MyTokenV2 is MyToken, ERC20PermitUpgradeable {\n * function initializeV2() reinitializer(2) public {\n * __ERC20Permit_init(\"MyToken\");\n * }\n * }\n * ```\n *\n * TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as\n * possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}.\n *\n * CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure\n * that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.\n *\n * [CAUTION]\n * ====\n * Avoid leaving a contract uninitialized.\n *\n * An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation\n * contract, which may impact the proxy. To prevent the implementation contract from being used, you should invoke\n * the {_disableInitializers} function in the constructor to automatically lock it when it is deployed:\n *\n * [.hljs-theme-light.nopadding]\n * ```\n * /// @custom:oz-upgrades-unsafe-allow constructor\n * constructor() {\n * _disableInitializers();\n * }\n * ```\n * ====\n */\nabstract contract Initializable {\n /**\n * @dev Indicates that the contract has been initialized.\n * @custom:oz-retyped-from bool\n */\n uint8 private _initialized;\n\n /**\n * @dev Indicates that the contract is in the process of being initialized.\n */\n bool private _initializing;\n\n /**\n * @dev Triggered when the contract has been initialized or reinitialized.\n */\n event Initialized(uint8 version);\n\n /**\n * @dev A modifier that defines a protected initializer function that can be invoked at most once. In its scope,\n * `onlyInitializing` functions can be used to initialize parent contracts.\n *\n * Similar to `reinitializer(1)`, except that functions marked with `initializer` can be nested in the context of a\n * constructor.\n *\n * Emits an {Initialized} event.\n */\n modifier initializer() {\n bool isTopLevelCall = !_initializing;\n require(\n (isTopLevelCall && _initialized < 1) || (!AddressUpgradeable.isContract(address(this)) && _initialized == 1),\n \"Initializable: contract is already initialized\"\n );\n _initialized = 1;\n if (isTopLevelCall) {\n _initializing = true;\n }\n _;\n if (isTopLevelCall) {\n _initializing = false;\n emit Initialized(1);\n }\n }\n\n /**\n * @dev A modifier that defines a protected reinitializer function that can be invoked at most once, and only if the\n * contract hasn't been initialized to a greater version before. In its scope, `onlyInitializing` functions can be\n * used to initialize parent contracts.\n *\n * A reinitializer may be used after the original initialization step. This is essential to configure modules that\n * are added through upgrades and that require initialization.\n *\n * When `version` is 1, this modifier is similar to `initializer`, except that functions marked with `reinitializer`\n * cannot be nested. If one is invoked in the context of another, execution will revert.\n *\n * Note that versions can jump in increments greater than 1; this implies that if multiple reinitializers coexist in\n * a contract, executing them in the right order is up to the developer or operator.\n *\n * WARNING: setting the version to 255 will prevent any future reinitialization.\n *\n * Emits an {Initialized} event.\n */\n modifier reinitializer(uint8 version) {\n require(!_initializing && _initialized < version, \"Initializable: contract is already initialized\");\n _initialized = version;\n _initializing = true;\n _;\n _initializing = false;\n emit Initialized(version);\n }\n\n /**\n * @dev Modifier to protect an initialization function so that it can only be invoked by functions with the\n * {initializer} and {reinitializer} modifiers, directly or indirectly.\n */\n modifier onlyInitializing() {\n require(_initializing, \"Initializable: contract is not initializing\");\n _;\n }\n\n /**\n * @dev Locks the contract, preventing any future reinitialization. This cannot be part of an initializer call.\n * Calling this in the constructor of a contract will prevent that contract from being initialized or reinitialized\n * to any version. It is recommended to use this to lock implementation contracts that are designed to be called\n * through proxies.\n *\n * Emits an {Initialized} event the first time it is successfully executed.\n */\n function _disableInitializers() internal virtual {\n require(!_initializing, \"Initializable: contract is initializing\");\n if (_initialized < type(uint8).max) {\n _initialized = type(uint8).max;\n emit Initialized(type(uint8).max);\n }\n }\n\n /**\n * @dev Returns the highest version that has been initialized. See {reinitializer}.\n */\n function _getInitializedVersion() internal view returns (uint8) {\n return _initialized;\n }\n\n /**\n * @dev Returns `true` if the contract is currently initializing. See {onlyInitializing}.\n */\n function _isInitializing() internal view returns (bool) {\n return _initializing;\n }\n}\n", + "sourcePath": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "exportedSymbols": { + "AddressUpgradeable": [ + 657 + ], + "Initializable": [ + 300 + ] + }, + "id": 301, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 133, + "literals": [ + "solidity", + "^", + "0.8", + ".2" + ], + "nodeType": "PragmaDirective", + "src": "113:23:1" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol", + "file": "../../utils/AddressUpgradeable.sol", + "id": 134, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 301, + "sourceUnit": 658, + "src": "138:44:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [], + "canonicalName": "Initializable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 135, + "nodeType": "StructuredDocumentation", + "src": "184:2198:1", + "text": " @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed\n behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an\n external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer\n function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.\n The initialization functions use a version number. Once a version number is used, it is consumed and cannot be\n reused. This mechanism prevents re-execution of each \"step\" but allows the creation of new initialization steps in\n case an upgrade adds a module that needs to be initialized.\n For example:\n [.hljs-theme-light.nopadding]\n ```\n contract MyToken is ERC20Upgradeable {\n function initialize() initializer public {\n __ERC20_init(\"MyToken\", \"MTK\");\n }\n }\n contract MyTokenV2 is MyToken, ERC20PermitUpgradeable {\n function initializeV2() reinitializer(2) public {\n __ERC20Permit_init(\"MyToken\");\n }\n }\n ```\n TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as\n possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}.\n CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure\n that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.\n [CAUTION]\n ====\n Avoid leaving a contract uninitialized.\n An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation\n contract, which may impact the proxy. To prevent the implementation contract from being used, you should invoke\n the {_disableInitializers} function in the constructor to automatically lock it when it is deployed:\n [.hljs-theme-light.nopadding]\n ```\n /// @custom:oz-upgrades-unsafe-allow constructor\n constructor() {\n _disableInitializers();\n }\n ```\n ====" + }, + "fullyImplemented": true, + "id": 300, + "linearizedBaseContracts": [ + 300 + ], + "name": "Initializable", + "nameLocation": "2401:13:1", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "documentation": { + "id": 136, + "nodeType": "StructuredDocumentation", + "src": "2421:109:1", + "text": " @dev Indicates that the contract has been initialized.\n @custom:oz-retyped-from bool" + }, + "id": 138, + "mutability": "mutable", + "name": "_initialized", + "nameLocation": "2549:12:1", + "nodeType": "VariableDeclaration", + "scope": 300, + "src": "2535:26:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 137, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "2535:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "private" + }, + { + "constant": false, + "documentation": { + "id": 139, + "nodeType": "StructuredDocumentation", + "src": "2568:91:1", + "text": " @dev Indicates that the contract is in the process of being initialized." + }, + "id": 141, + "mutability": "mutable", + "name": "_initializing", + "nameLocation": "2677:13:1", + "nodeType": "VariableDeclaration", + "scope": 300, + "src": "2664:26:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 140, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2664:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "private" + }, + { + "anonymous": false, + "documentation": { + "id": 142, + "nodeType": "StructuredDocumentation", + "src": "2697:90:1", + "text": " @dev Triggered when the contract has been initialized or reinitialized." + }, + "eventSelector": "7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498", + "id": 146, + "name": "Initialized", + "nameLocation": "2798:11:1", + "nodeType": "EventDefinition", + "parameters": { + "id": 145, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 144, + "indexed": false, + "mutability": "mutable", + "name": "version", + "nameLocation": "2816:7:1", + "nodeType": "VariableDeclaration", + "scope": 146, + "src": "2810:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 143, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "2810:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "2809:15:1" + }, + "src": "2792:33:1" + }, + { + "body": { + "id": 201, + "nodeType": "Block", + "src": "3258:483:1", + "statements": [ + { + "assignments": [ + 150 + ], + "declarations": [ + { + "constant": false, + "id": 150, + "mutability": "mutable", + "name": "isTopLevelCall", + "nameLocation": "3273:14:1", + "nodeType": "VariableDeclaration", + "scope": 201, + "src": "3268:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 149, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3268:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 153, + "initialValue": { + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "3290:14:1", + "subExpression": { + "id": 151, + "name": "_initializing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "3291:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3268:36:1" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 155, + "name": "isTopLevelCall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 150, + "src": "3336:14:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 156, + "name": "_initialized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "3354:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "31", + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3369:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3354:16:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3336:34:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 160, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3335:36:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "3376:45:1", + "subExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 165, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "3415:4:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Initializable_$300", + "typeString": "contract Initializable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Initializable_$300", + "typeString": "contract Initializable" + } + ], + "id": 164, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3407:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 163, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3407:7:1", + "typeDescriptions": {} + } + }, + "id": 166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3407:13:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 161, + "name": "AddressUpgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 657, + "src": "3377:18:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_AddressUpgradeable_$657_$", + "typeString": "type(library AddressUpgradeable)" + } + }, + "id": 162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3396:10:1", + "memberName": "isContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 391, + "src": "3377:29:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3377:44:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 169, + "name": "_initialized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "3425:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "31", + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3441:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3425:17:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3376:66:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 173, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3375:68:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3335:108:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564", + "id": 175, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3457:48:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759", + "typeString": "literal_string \"Initializable: contract is already initialized\"" + }, + "value": "Initializable: contract is already initialized" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759", + "typeString": "literal_string \"Initializable: contract is already initialized\"" + } + ], + "id": 154, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3314:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3314:201:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 177, + "nodeType": "ExpressionStatement", + "src": "3314:201:1" + }, + { + "expression": { + "id": 180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 178, + "name": "_initialized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "3525:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "31", + "id": 179, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3540:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3525:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 181, + "nodeType": "ExpressionStatement", + "src": "3525:16:1" + }, + { + "condition": { + "id": 182, + "name": "isTopLevelCall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 150, + "src": "3555:14:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 188, + "nodeType": "IfStatement", + "src": "3551:65:1", + "trueBody": { + "id": 187, + "nodeType": "Block", + "src": "3571:45:1", + "statements": [ + { + "expression": { + "id": 185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 183, + "name": "_initializing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "3585:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3601:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "3585:20:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 186, + "nodeType": "ExpressionStatement", + "src": "3585:20:1" + } + ] + } + }, + { + "id": 189, + "nodeType": "PlaceholderStatement", + "src": "3625:1:1" + }, + { + "condition": { + "id": 190, + "name": "isTopLevelCall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 150, + "src": "3640:14:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 200, + "nodeType": "IfStatement", + "src": "3636:99:1", + "trueBody": { + "id": 199, + "nodeType": "Block", + "src": "3656:79:1", + "statements": [ + { + "expression": { + "id": 193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 191, + "name": "_initializing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "3670:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3686:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3670:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 194, + "nodeType": "ExpressionStatement", + "src": "3670:21:1" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "31", + "id": 196, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3722:1:1", + "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": 195, + "name": "Initialized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 146, + "src": "3710:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint8_$returns$__$", + "typeString": "function (uint8)" + } + }, + "id": 197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3710:14:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 198, + "nodeType": "EmitStatement", + "src": "3705:19:1" + } + ] + } + } + ] + }, + "documentation": { + "id": 147, + "nodeType": "StructuredDocumentation", + "src": "2831:399:1", + "text": " @dev A modifier that defines a protected initializer function that can be invoked at most once. In its scope,\n `onlyInitializing` functions can be used to initialize parent contracts.\n Similar to `reinitializer(1)`, except that functions marked with `initializer` can be nested in the context of a\n constructor.\n Emits an {Initialized} event." + }, + "id": 202, + "name": "initializer", + "nameLocation": "3244:11:1", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 148, + "nodeType": "ParameterList", + "parameters": [], + "src": "3255:2:1" + }, + "src": "3235:506:1", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 234, + "nodeType": "Block", + "src": "4852:255:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "4870:14:1", + "subExpression": { + "id": 208, + "name": "_initializing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "4871:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 210, + "name": "_initialized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "4888:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 211, + "name": "version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 205, + "src": "4903:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "4888:22:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4870:40:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564", + "id": 214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4912:48:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759", + "typeString": "literal_string \"Initializable: contract is already initialized\"" + }, + "value": "Initializable: contract is already initialized" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759", + "typeString": "literal_string \"Initializable: contract is already initialized\"" + } + ], + "id": 207, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4862:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4862:99:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 216, + "nodeType": "ExpressionStatement", + "src": "4862:99:1" + }, + { + "expression": { + "id": 219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 217, + "name": "_initialized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "4971:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 218, + "name": "version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 205, + "src": "4986:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "4971:22:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 220, + "nodeType": "ExpressionStatement", + "src": "4971:22:1" + }, + { + "expression": { + "id": 223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 221, + "name": "_initializing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "5003:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5019:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5003:20:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 224, + "nodeType": "ExpressionStatement", + "src": "5003:20:1" + }, + { + "id": 225, + "nodeType": "PlaceholderStatement", + "src": "5033:1:1" + }, + { + "expression": { + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 226, + "name": "_initializing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "5044:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 227, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5060:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "5044:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 229, + "nodeType": "ExpressionStatement", + "src": "5044:21:1" + }, + { + "eventCall": { + "arguments": [ + { + "id": 231, + "name": "version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 205, + "src": "5092:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 230, + "name": "Initialized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 146, + "src": "5080:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint8_$returns$__$", + "typeString": "function (uint8)" + } + }, + "id": 232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5080:20:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 233, + "nodeType": "EmitStatement", + "src": "5075:25:1" + } + ] + }, + "documentation": { + "id": 203, + "nodeType": "StructuredDocumentation", + "src": "3747:1062:1", + "text": " @dev A modifier that defines a protected reinitializer function that can be invoked at most once, and only if the\n contract hasn't been initialized to a greater version before. In its scope, `onlyInitializing` functions can be\n used to initialize parent contracts.\n A reinitializer may be used after the original initialization step. This is essential to configure modules that\n are added through upgrades and that require initialization.\n When `version` is 1, this modifier is similar to `initializer`, except that functions marked with `reinitializer`\n cannot be nested. If one is invoked in the context of another, execution will revert.\n Note that versions can jump in increments greater than 1; this implies that if multiple reinitializers coexist in\n a contract, executing them in the right order is up to the developer or operator.\n WARNING: setting the version to 255 will prevent any future reinitialization.\n Emits an {Initialized} event." + }, + "id": 235, + "name": "reinitializer", + "nameLocation": "4823:13:1", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 205, + "mutability": "mutable", + "name": "version", + "nameLocation": "4843:7:1", + "nodeType": "VariableDeclaration", + "scope": 235, + "src": "4837:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 204, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "4837:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "4836:15:1" + }, + "src": "4814:293:1", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 244, + "nodeType": "Block", + "src": "5345:97:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 239, + "name": "_initializing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "5363:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e697469616c697a61626c653a20636f6e7472616374206973206e6f7420696e697469616c697a696e67", + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5378:45:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d688db918bb9dd50354922faa108595679886fe9ff08046ad1ffe30aaea55f8b", + "typeString": "literal_string \"Initializable: contract is not initializing\"" + }, + "value": "Initializable: contract is not initializing" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d688db918bb9dd50354922faa108595679886fe9ff08046ad1ffe30aaea55f8b", + "typeString": "literal_string \"Initializable: contract is not initializing\"" + } + ], + "id": 238, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "5355:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5355:69:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 242, + "nodeType": "ExpressionStatement", + "src": "5355:69:1" + }, + { + "id": 243, + "nodeType": "PlaceholderStatement", + "src": "5434:1:1" + } + ] + }, + "documentation": { + "id": 236, + "nodeType": "StructuredDocumentation", + "src": "5113:199:1", + "text": " @dev Modifier to protect an initialization function so that it can only be invoked by functions with the\n {initializer} and {reinitializer} modifiers, directly or indirectly." + }, + "id": 245, + "name": "onlyInitializing", + "nameLocation": "5326:16:1", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 237, + "nodeType": "ParameterList", + "parameters": [], + "src": "5342:2:1" + }, + "src": "5317:125:1", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 280, + "nodeType": "Block", + "src": "5977:230:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "5995:14:1", + "subExpression": { + "id": 250, + "name": "_initializing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "5996:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e697469616c697a61626c653a20636f6e747261637420697320696e697469616c697a696e67", + "id": 252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6011:41:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a53f5879e7518078ff19b2e3d6b41e757a87364ec6872787feb45bfc41131d1a", + "typeString": "literal_string \"Initializable: contract is initializing\"" + }, + "value": "Initializable: contract is initializing" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a53f5879e7518078ff19b2e3d6b41e757a87364ec6872787feb45bfc41131d1a", + "typeString": "literal_string \"Initializable: contract is initializing\"" + } + ], + "id": 249, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "5987:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5987:66:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 254, + "nodeType": "ExpressionStatement", + "src": "5987:66:1" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 255, + "name": "_initialized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "6067:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6087:5:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 257, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "6087:5:1", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + } + ], + "id": 256, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967269, + "src": "6082:4:1", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 259, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6082:11:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint8", + "typeString": "type(uint8)" + } + }, + "id": 260, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6094:3:1", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "6082:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "6067:30:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 279, + "nodeType": "IfStatement", + "src": "6063:138:1", + "trueBody": { + "id": 278, + "nodeType": "Block", + "src": "6099:102:1", + "statements": [ + { + "expression": { + "id": 268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 262, + "name": "_initialized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "6113:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "arguments": [ + { + "id": 265, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6133:5:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 264, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "6133:5:1", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + } + ], + "id": 263, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967269, + "src": "6128:4:1", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 266, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6128:11:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint8", + "typeString": "type(uint8)" + } + }, + "id": 267, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6140:3:1", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "6128:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "6113:30:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 269, + "nodeType": "ExpressionStatement", + "src": "6113:30:1" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "arguments": [ + { + "id": 273, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6179:5:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 272, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "6179:5:1", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + } + ], + "id": 271, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967269, + "src": "6174:4:1", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 274, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6174:11:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint8", + "typeString": "type(uint8)" + } + }, + "id": 275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6186:3:1", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "6174:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 270, + "name": "Initialized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 146, + "src": "6162:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint8_$returns$__$", + "typeString": "function (uint8)" + } + }, + "id": 276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6162:28:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 277, + "nodeType": "EmitStatement", + "src": "6157:33:1" + } + ] + } + } + ] + }, + "documentation": { + "id": 246, + "nodeType": "StructuredDocumentation", + "src": "5448:475:1", + "text": " @dev Locks the contract, preventing any future reinitialization. This cannot be part of an initializer call.\n Calling this in the constructor of a contract will prevent that contract from being initialized or reinitialized\n to any version. It is recommended to use this to lock implementation contracts that are designed to be called\n through proxies.\n Emits an {Initialized} event the first time it is successfully executed." + }, + "id": 281, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_disableInitializers", + "nameLocation": "5937:20:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 247, + "nodeType": "ParameterList", + "parameters": [], + "src": "5957:2:1" + }, + "returnParameters": { + "id": 248, + "nodeType": "ParameterList", + "parameters": [], + "src": "5977:0:1" + }, + "scope": 300, + "src": "5928:279:1", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 289, + "nodeType": "Block", + "src": "6381:36:1", + "statements": [ + { + "expression": { + "id": 287, + "name": "_initialized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "6398:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "functionReturnParameters": 286, + "id": 288, + "nodeType": "Return", + "src": "6391:19:1" + } + ] + }, + "documentation": { + "id": 282, + "nodeType": "StructuredDocumentation", + "src": "6213:99:1", + "text": " @dev Returns the highest version that has been initialized. See {reinitializer}." + }, + "id": 290, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_getInitializedVersion", + "nameLocation": "6326:22:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 283, + "nodeType": "ParameterList", + "parameters": [], + "src": "6348:2:1" + }, + "returnParameters": { + "id": 286, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 285, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 290, + "src": "6374:5:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 284, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "6374:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "6373:7:1" + }, + "scope": 300, + "src": "6317:100:1", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 298, + "nodeType": "Block", + "src": "6589:37:1", + "statements": [ + { + "expression": { + "id": 296, + "name": "_initializing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "6606:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 295, + "id": 297, + "nodeType": "Return", + "src": "6599:20:1" + } + ] + }, + "documentation": { + "id": 291, + "nodeType": "StructuredDocumentation", + "src": "6423:105:1", + "text": " @dev Returns `true` if the contract is currently initializing. See {onlyInitializing}." + }, + "id": 299, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_isInitializing", + "nameLocation": "6542:15:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 292, + "nodeType": "ParameterList", + "parameters": [], + "src": "6557:2:1" + }, + "returnParameters": { + "id": 295, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 294, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 299, + "src": "6583:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 293, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6583:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6582:6:1" + }, + "scope": 300, + "src": "6533:93:1", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 301, + "src": "2383:4245:1", + "usedErrors": [] + } + ], + "src": "113:6516:1" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.589Z", + "devdoc": { + "custom:oz-upgrades-unsafe-allow": "constructor constructor() { _disableInitializers(); } ``` ====", + "details": "This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer function so it can only be called once. The {initializer} modifier provided by this contract will have this effect. The initialization functions use a version number. Once a version number is used, it is consumed and cannot be reused. This mechanism prevents re-execution of each \"step\" but allows the creation of new initialization steps in case an upgrade adds a module that needs to be initialized. For example: [.hljs-theme-light.nopadding] ``` contract MyToken is ERC20Upgradeable { function initialize() initializer public { __ERC20_init(\"MyToken\", \"MTK\"); } } contract MyTokenV2 is MyToken, ERC20PermitUpgradeable { function initializeV2() reinitializer(2) public { __ERC20Permit_init(\"MyToken\"); } } ``` TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}. CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure that all initializers are idempotent. This is not verified automatically as constructors are by Solidity. [CAUTION] ==== Avoid leaving a contract uninitialized. An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation contract, which may impact the proxy. To prevent the implementation contract from being used, you should invoke the {_disableInitializers} function in the constructor to automatically lock it when it is deployed: [.hljs-theme-light.nopadding] ```", + "events": { + "Initialized(uint8)": { + "details": "Triggered when the contract has been initialized or reinitialized." + } + }, + "kind": "dev", + "methods": {}, + "stateVariables": { + "_initialized": { + "custom:oz-retyped-from": "bool", + "details": "Indicates that the contract has been initialized." + }, + "_initializing": { + "details": "Indicates that the contract is in the process of being initialized." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/LiquidityBridgeContract.json b/build/contracts/LiquidityBridgeContract.json new file mode 100644 index 0000000..0101c25 --- /dev/null +++ b/build/contracts/LiquidityBridgeContract.json @@ -0,0 +1,87948 @@ +{ + "contractName": "LiquidityBridgeContract", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "dest", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "BalanceDecrease", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "dest", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "BalanceIncrease", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "int256", + "name": "errorCode", + "type": "int256" + } + ], + "name": "BridgeCapExceeded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "dest", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "gasLimit", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bool", + "name": "success", + "type": "bool" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + } + ], + "name": "CallForUser", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "CollateralIncrease", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "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": "bytes32", + "name": "quoteHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "int256", + "name": "transferredAmount", + "type": "int256" + } + ], + "name": "PegInRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "quotehash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "processed", + "type": "uint256" + } + ], + "name": "PegOut", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "name": "PegOutDeposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + } + ], + "name": "PegOutRefunded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "userAddress", + "type": "address" + } + ], + "name": "PegOutUserRefunded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "PegoutCollateralIncrease", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "PegoutWithdrawCollateral", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "liquidityProvider", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "penalty", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + } + ], + "name": "Penalized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "dest", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "success", + "type": "bool" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + } + ], + "name": "Refund", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Register", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + } + ], + "name": "Resigned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "WithdrawCollateral", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "BRIDGE_GENERIC_ERROR", + "outputs": [ + { + "internalType": "int16", + "name": "", + "type": "int16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "BRIDGE_REFUNDED_LP_ERROR_CODE", + "outputs": [ + { + "internalType": "int16", + "name": "", + "type": "int16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "BRIDGE_REFUNDED_USER_ERROR_CODE", + "outputs": [ + { + "internalType": "int16", + "name": "", + "type": "int16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "BRIDGE_UNPROCESSABLE_TX_ALREADY_PROCESSED_ERROR_CODE", + "outputs": [ + { + "internalType": "int16", + "name": "", + "type": "int16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "BRIDGE_UNPROCESSABLE_TX_INVALID_SENDER_ERROR_CODE", + "outputs": [ + { + "internalType": "int16", + "name": "", + "type": "int16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "BRIDGE_UNPROCESSABLE_TX_NOT_CONTRACT_ERROR_CODE", + "outputs": [ + { + "internalType": "int16", + "name": "", + "type": "int16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "BRIDGE_UNPROCESSABLE_TX_UTXO_AMOUNT_SENT_BELOW_MINIMUM_ERROR", + "outputs": [ + { + "internalType": "int16", + "name": "", + "type": "int16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "BRIDGE_UNPROCESSABLE_TX_VALIDATIONS_ERROR", + "outputs": [ + { + "internalType": "int16", + "name": "", + "type": "int16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "BRIDGE_UNPROCESSABLE_TX_VALUE_ZERO_ERROR", + "outputs": [ + { + "internalType": "int16", + "name": "", + "type": "int16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "CALL_DONE_CODE", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_CALL_GAS_COST", + "outputs": [ + { + "internalType": "uint16", + "name": "", + "type": "uint16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_REFUND_GAS_LIMIT", + "outputs": [ + { + "internalType": "uint16", + "name": "", + "type": "uint16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_UINT", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PAY_TO_ADDRESS_OUTPUT", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PROCESSED_QUOTE_CODE", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "QUOTE_HASH_OUTPUT", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "UNPROCESSED_QUOTE_CODE", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "bridge", + "outputs": [ + { + "internalType": "contract Bridge", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "providerId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "_bridgeAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_minimumCollateral", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minimumPegIn", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "_rewardPercentage", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_resignDelayBlocks", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "_dustThreshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_btcBlockTime", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "_mainnet", + "type": "bool" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_providerId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "status", + "type": "bool" + } + ], + "name": "setProviderStatus", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getProviderIds", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getBridgeAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMinCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMinPegIn", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getRewardPercentage", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getResignDelayBlocks", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getDustThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + } + ], + "name": "getRegisteredPegOutQuote", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "lbcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "lpRskAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "btcRefundAddress", + "type": "bytes" + }, + { + "internalType": "address", + "name": "rskRefundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "lpBtcAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penaltyFee", + "type": "uint256" + }, + { + "internalType": "int64", + "name": "nonce", + "type": "int64" + }, + { + "internalType": "bytes", + "name": "deposityAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "agreementTimestamp", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "depositDateLimit", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "depositConfirmations", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "transferConfirmations", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "transferTime", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "expireDate", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "expireBlock", + "type": "uint32" + } + ], + "internalType": "struct Quotes.PegOutQuote", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + } + ], + "name": "isPegOutQuoteCompleted", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "isOperational", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "isOperationalForPegout", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_apiBaseUrl", + "type": "string" + }, + { + "internalType": "bool", + "name": "_status", + "type": "bool" + }, + { + "internalType": "string", + "name": "_providerType", + "type": "string" + } + ], + "name": "register", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "providerIds", + "type": "uint256[]" + } + ], + "name": "getProviders", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "provider", + "type": "address" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "apiBaseUrl", + "type": "string" + }, + { + "internalType": "bool", + "name": "status", + "type": "bool" + }, + { + "internalType": "string", + "name": "providerType", + "type": "string" + } + ], + "internalType": "struct LiquidityBridgeContract.LiquidityProvider[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "addCollateral", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "addPegoutCollateral", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "deposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawPegoutCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "resign", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "getCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "getPegoutCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "getBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes20", + "name": "fedBtcAddress", + "type": "bytes20" + }, + { + "internalType": "address", + "name": "lbcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidityProviderRskAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "btcRefundAddress", + "type": "bytes" + }, + { + "internalType": "address payable", + "name": "rskRefundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "liquidityProviderBtcAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penaltyFee", + "type": "uint256" + }, + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint32", + "name": "gasLimit", + "type": "uint32" + }, + { + "internalType": "int64", + "name": "nonce", + "type": "int64" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "agreementTimestamp", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "timeForDeposit", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "callTime", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "depositConfirmations", + "type": "uint16" + }, + { + "internalType": "bool", + "name": "callOnRegister", + "type": "bool" + } + ], + "internalType": "struct Quotes.PeginQuote", + "name": "quote", + "type": "tuple" + } + ], + "name": "callForUser", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes20", + "name": "fedBtcAddress", + "type": "bytes20" + }, + { + "internalType": "address", + "name": "lbcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidityProviderRskAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "btcRefundAddress", + "type": "bytes" + }, + { + "internalType": "address payable", + "name": "rskRefundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "liquidityProviderBtcAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penaltyFee", + "type": "uint256" + }, + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint32", + "name": "gasLimit", + "type": "uint32" + }, + { + "internalType": "int64", + "name": "nonce", + "type": "int64" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "agreementTimestamp", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "timeForDeposit", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "callTime", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "depositConfirmations", + "type": "uint16" + }, + { + "internalType": "bool", + "name": "callOnRegister", + "type": "bool" + } + ], + "internalType": "struct Quotes.PeginQuote", + "name": "quote", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "btcRawTransaction", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "partialMerkleTree", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "height", + "type": "uint256" + } + ], + "name": "registerPegIn", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "lbcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "lpRskAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "btcRefundAddress", + "type": "bytes" + }, + { + "internalType": "address", + "name": "rskRefundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "lpBtcAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penaltyFee", + "type": "uint256" + }, + { + "internalType": "int64", + "name": "nonce", + "type": "int64" + }, + { + "internalType": "bytes", + "name": "deposityAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "agreementTimestamp", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "depositDateLimit", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "depositConfirmations", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "transferConfirmations", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "transferTime", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "expireDate", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "expireBlock", + "type": "uint32" + } + ], + "internalType": "struct Quotes.PegOutQuote", + "name": "quote", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "depositPegout", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + } + ], + "name": "refundUserPegOut", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "btcTx", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "btcBlockHeaderHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "partialMerkleTree", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "merkleBranchHashes", + "type": "bytes32[]" + } + ], + "name": "refundPegOut", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes20", + "name": "fedBtcAddress", + "type": "bytes20" + }, + { + "internalType": "address", + "name": "lbcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidityProviderRskAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "btcRefundAddress", + "type": "bytes" + }, + { + "internalType": "address payable", + "name": "rskRefundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "liquidityProviderBtcAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penaltyFee", + "type": "uint256" + }, + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint32", + "name": "gasLimit", + "type": "uint32" + }, + { + "internalType": "int64", + "name": "nonce", + "type": "int64" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "agreementTimestamp", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "timeForDeposit", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "callTime", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "depositConfirmations", + "type": "uint16" + }, + { + "internalType": "bool", + "name": "callOnRegister", + "type": "bool" + } + ], + "internalType": "struct Quotes.PeginQuote", + "name": "quote", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "depositAddress", + "type": "bytes" + } + ], + "name": "validatePeginDepositAddress", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes20", + "name": "fedBtcAddress", + "type": "bytes20" + }, + { + "internalType": "address", + "name": "lbcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidityProviderRskAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "btcRefundAddress", + "type": "bytes" + }, + { + "internalType": "address payable", + "name": "rskRefundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "liquidityProviderBtcAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penaltyFee", + "type": "uint256" + }, + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint32", + "name": "gasLimit", + "type": "uint32" + }, + { + "internalType": "int64", + "name": "nonce", + "type": "int64" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "agreementTimestamp", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "timeForDeposit", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "callTime", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "depositConfirmations", + "type": "uint16" + }, + { + "internalType": "bool", + "name": "callOnRegister", + "type": "bool" + } + ], + "internalType": "struct Quotes.PeginQuote", + "name": "quote", + "type": "tuple" + } + ], + "name": "hashQuote", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "lbcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "lpRskAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "btcRefundAddress", + "type": "bytes" + }, + { + "internalType": "address", + "name": "rskRefundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "lpBtcAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penaltyFee", + "type": "uint256" + }, + { + "internalType": "int64", + "name": "nonce", + "type": "int64" + }, + { + "internalType": "bytes", + "name": "deposityAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "agreementTimestamp", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "depositDateLimit", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "depositConfirmations", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "transferConfirmations", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "transferTime", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "expireDate", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "expireBlock", + "type": "uint32" + } + ], + "internalType": "struct Quotes.PegOutQuote", + "name": "quote", + "type": "tuple" + } + ], + "name": "hashPegoutQuote", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "header", + "type": "bytes" + } + ], + "name": "getBtcBlockTimestamp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"dest\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BalanceDecrease\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"dest\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BalanceIncrease\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"errorCode\",\"type\":\"int256\"}],\"name\":\"BridgeCapExceeded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"dest\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"}],\"name\":\"CallForUser\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"CollateralIncrease\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"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\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"transferredAmount\",\"type\":\"int256\"}],\"name\":\"PegInRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"quotehash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"processed\",\"type\":\"uint256\"}],\"name\":\"PegOut\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"PegOutDeposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"}],\"name\":\"PegOutRefunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"userAddress\",\"type\":\"address\"}],\"name\":\"PegOutUserRefunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PegoutCollateralIncrease\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PegoutWithdrawCollateral\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"liquidityProvider\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"penalty\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"}],\"name\":\"Penalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"dest\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"}],\"name\":\"Refund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Register\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"Resigned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"WithdrawCollateral\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BRIDGE_GENERIC_ERROR\",\"outputs\":[{\"internalType\":\"int16\",\"name\":\"\",\"type\":\"int16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BRIDGE_REFUNDED_LP_ERROR_CODE\",\"outputs\":[{\"internalType\":\"int16\",\"name\":\"\",\"type\":\"int16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BRIDGE_REFUNDED_USER_ERROR_CODE\",\"outputs\":[{\"internalType\":\"int16\",\"name\":\"\",\"type\":\"int16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BRIDGE_UNPROCESSABLE_TX_ALREADY_PROCESSED_ERROR_CODE\",\"outputs\":[{\"internalType\":\"int16\",\"name\":\"\",\"type\":\"int16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BRIDGE_UNPROCESSABLE_TX_INVALID_SENDER_ERROR_CODE\",\"outputs\":[{\"internalType\":\"int16\",\"name\":\"\",\"type\":\"int16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BRIDGE_UNPROCESSABLE_TX_NOT_CONTRACT_ERROR_CODE\",\"outputs\":[{\"internalType\":\"int16\",\"name\":\"\",\"type\":\"int16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BRIDGE_UNPROCESSABLE_TX_UTXO_AMOUNT_SENT_BELOW_MINIMUM_ERROR\",\"outputs\":[{\"internalType\":\"int16\",\"name\":\"\",\"type\":\"int16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BRIDGE_UNPROCESSABLE_TX_VALIDATIONS_ERROR\",\"outputs\":[{\"internalType\":\"int16\",\"name\":\"\",\"type\":\"int16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BRIDGE_UNPROCESSABLE_TX_VALUE_ZERO_ERROR\",\"outputs\":[{\"internalType\":\"int16\",\"name\":\"\",\"type\":\"int16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CALL_DONE_CODE\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_CALL_GAS_COST\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_REFUND_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_UINT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAY_TO_ADDRESS_OUTPUT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PROCESSED_QUOTE_CODE\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"QUOTE_HASH_OUTPUT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNPROCESSED_QUOTE_CODE\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"addCollateral\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"addPegoutCollateral\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"bridge\",\"outputs\":[{\"internalType\":\"contract Bridge\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes20\",\"name\":\"fedBtcAddress\",\"type\":\"bytes20\"},{\"internalType\":\"address\",\"name\":\"lbcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"liquidityProviderRskAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"btcRefundAddress\",\"type\":\"bytes\"},{\"internalType\":\"address payable\",\"name\":\"rskRefundAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"liquidityProviderBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"penaltyFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"int64\",\"name\":\"nonce\",\"type\":\"int64\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"agreementTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"timeForDeposit\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"callTime\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"depositConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"callOnRegister\",\"type\":\"bool\"}],\"internalType\":\"struct Quotes.PeginQuote\",\"name\":\"quote\",\"type\":\"tuple\"}],\"name\":\"callForUser\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"lbcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"lpRskAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"btcRefundAddress\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"rskRefundAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"lpBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"penaltyFee\",\"type\":\"uint256\"},{\"internalType\":\"int64\",\"name\":\"nonce\",\"type\":\"int64\"},{\"internalType\":\"bytes\",\"name\":\"deposityAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"agreementTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"depositDateLimit\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"depositConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"transferConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"transferTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"expireDate\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"expireBlock\",\"type\":\"uint32\"}],\"internalType\":\"struct Quotes.PegOutQuote\",\"name\":\"quote\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"depositPegout\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBridgeAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"header\",\"type\":\"bytes\"}],\"name\":\"getBtcBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getCollateral\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDustThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinCollateral\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinPegIn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getPegoutCollateral\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProviderIds\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"providerIds\",\"type\":\"uint256[]\"}],\"name\":\"getProviders\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"provider\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"apiBaseUrl\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"providerType\",\"type\":\"string\"}],\"internalType\":\"struct LiquidityBridgeContract.LiquidityProvider[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"}],\"name\":\"getRegisteredPegOutQuote\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"lbcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"lpRskAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"btcRefundAddress\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"rskRefundAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"lpBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"penaltyFee\",\"type\":\"uint256\"},{\"internalType\":\"int64\",\"name\":\"nonce\",\"type\":\"int64\"},{\"internalType\":\"bytes\",\"name\":\"deposityAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"agreementTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"depositDateLimit\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"depositConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"transferConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"transferTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"expireDate\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"expireBlock\",\"type\":\"uint32\"}],\"internalType\":\"struct Quotes.PegOutQuote\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getResignDelayBlocks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"lbcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"lpRskAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"btcRefundAddress\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"rskRefundAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"lpBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"penaltyFee\",\"type\":\"uint256\"},{\"internalType\":\"int64\",\"name\":\"nonce\",\"type\":\"int64\"},{\"internalType\":\"bytes\",\"name\":\"deposityAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"agreementTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"depositDateLimit\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"depositConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"transferConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"transferTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"expireDate\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"expireBlock\",\"type\":\"uint32\"}],\"internalType\":\"struct Quotes.PegOutQuote\",\"name\":\"quote\",\"type\":\"tuple\"}],\"name\":\"hashPegoutQuote\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes20\",\"name\":\"fedBtcAddress\",\"type\":\"bytes20\"},{\"internalType\":\"address\",\"name\":\"lbcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"liquidityProviderRskAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"btcRefundAddress\",\"type\":\"bytes\"},{\"internalType\":\"address payable\",\"name\":\"rskRefundAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"liquidityProviderBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"penaltyFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"int64\",\"name\":\"nonce\",\"type\":\"int64\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"agreementTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"timeForDeposit\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"callTime\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"depositConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"callOnRegister\",\"type\":\"bool\"}],\"internalType\":\"struct Quotes.PeginQuote\",\"name\":\"quote\",\"type\":\"tuple\"}],\"name\":\"hashQuote\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_bridgeAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_minimumCollateral\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_minimumPegIn\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_rewardPercentage\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_resignDelayBlocks\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"_dustThreshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_btcBlockTime\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_mainnet\",\"type\":\"bool\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"isOperational\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"isOperationalForPegout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"}],\"name\":\"isPegOutQuoteCompleted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"providerId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"btcTx\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"btcBlockHeaderHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"partialMerkleTree\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"merkleBranchHashes\",\"type\":\"bytes32[]\"}],\"name\":\"refundPegOut\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"}],\"name\":\"refundUserPegOut\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_apiBaseUrl\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_status\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"_providerType\",\"type\":\"string\"}],\"name\":\"register\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes20\",\"name\":\"fedBtcAddress\",\"type\":\"bytes20\"},{\"internalType\":\"address\",\"name\":\"lbcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"liquidityProviderRskAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"btcRefundAddress\",\"type\":\"bytes\"},{\"internalType\":\"address payable\",\"name\":\"rskRefundAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"liquidityProviderBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"penaltyFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"int64\",\"name\":\"nonce\",\"type\":\"int64\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"agreementTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"timeForDeposit\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"callTime\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"depositConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"callOnRegister\",\"type\":\"bool\"}],\"internalType\":\"struct Quotes.PeginQuote\",\"name\":\"quote\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"btcRawTransaction\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"partialMerkleTree\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"}],\"name\":\"registerPegIn\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resign\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_providerId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setProviderStatus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes20\",\"name\":\"fedBtcAddress\",\"type\":\"bytes20\"},{\"internalType\":\"address\",\"name\":\"lbcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"liquidityProviderRskAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"btcRefundAddress\",\"type\":\"bytes\"},{\"internalType\":\"address payable\",\"name\":\"rskRefundAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"liquidityProviderBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"penaltyFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"int64\",\"name\":\"nonce\",\"type\":\"int64\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"agreementTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"timeForDeposit\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"callTime\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"depositConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"callOnRegister\",\"type\":\"bool\"}],\"internalType\":\"struct Quotes.PeginQuote\",\"name\":\"quote\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"depositAddress\",\"type\":\"bytes\"}],\"name\":\"validatePeginDepositAddress\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawCollateral\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawPegoutCollateral\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"addCollateral()\":{\"details\":\"Increases the amount of collateral of the sender\"},\"callForUser((bytes20,address,address,bytes,address,bytes,uint256,uint256,address,bytes,uint32,int64,uint256,uint32,uint32,uint32,uint16,bool))\":{\"details\":\"Performs a call on behalf of a user\",\"params\":{\"quote\":\"The quote that identifies the service\"},\"returns\":{\"_0\":\"Boolean indicating whether the call was successful\"}},\"deposit()\":{\"details\":\"Increases the balance of the sender\"},\"getBalance(address)\":{\"details\":\"Returns the amount of funds of a liquidity provider\",\"params\":{\"addr\":\"The address of the liquidity provider\"},\"returns\":{\"_0\":\"The balance of the liquidity provider\"}},\"getBtcBlockTimestamp(bytes)\":{\"details\":\"Gets the timestamp of a Bitcoin block header\",\"params\":{\"header\":\"The block header\"},\"returns\":{\"_0\":\"The timestamp of the block header\"}},\"getCollateral(address)\":{\"details\":\"Returns the amount of collateral of a liquidity provider\",\"params\":{\"addr\":\"The address of the liquidity provider\"},\"returns\":{\"_0\":\"The amount of locked collateral\"}},\"hashQuote((bytes20,address,address,bytes,address,bytes,uint256,uint256,address,bytes,uint32,int64,uint256,uint32,uint32,uint32,uint16,bool))\":{\"details\":\"Calculates hash of a quote. Note: besides calculation this function also validates the quote.\",\"params\":{\"quote\":\"The quote of the service\"},\"returns\":{\"_0\":\"The hash of a quote\"}},\"initialize(address,uint256,uint256,uint32,uint32,uint256,uint256,bool)\":{\"params\":{\"_bridgeAddress\":\"The address of the bridge contract\",\"_dustThreshold\":\"Amount that is considered dust\",\"_minimumCollateral\":\"The minimum required collateral for liquidity providers\",\"_minimumPegIn\":\"The minimum peg-in amount\",\"_resignDelayBlocks\":\"The number of block confirmations that a liquidity // provider needs to wait before it can withdraw its collateral\",\"_rewardPercentage\":\"The percentage of the penalty fee that an honest party // receives when calling registerPegIn in case of a liquidity provider misbehaving\"}},\"isOperational(address)\":{\"details\":\"Checks whether a liquidity provider can deliver a pegin service\",\"returns\":{\"_0\":\"Whether the liquidity provider is registered and has enough locked collateral\"}},\"isOperationalForPegout(address)\":{\"details\":\"Checks whether a liquidity provider can deliver a pegout service\",\"returns\":{\"_0\":\"Whether the liquidity provider is registered and has enough locked collateral\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"register(string,string,bool,string)\":{\"details\":\"Registers msg.sender as a liquidity provider with msg.value as collateral\"},\"registerPegIn((bytes20,address,address,bytes,address,bytes,uint256,uint256,address,bytes,uint32,int64,uint256,uint32,uint32,uint32,uint16,bool),bytes,bytes,bytes,uint256)\":{\"details\":\"Registers a peg-in transaction with the bridge and pays to the involved parties\",\"params\":{\"btcRawTransaction\":\"The peg-in transaction\",\"height\":\"The block that contains the peg-in transaction\",\"partialMerkleTree\":\"The merkle tree path that proves transaction inclusion\",\"quote\":\"The quote of the service\",\"signature\":\"The signature of the quote\"},\"returns\":{\"_0\":\"The total peg-in amount received from the bridge contract or an error code\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"resign()\":{\"details\":\"Used to resign as a liquidity provider\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"withdraw(uint256)\":{\"details\":\"Used to withdraw funds\",\"params\":{\"amount\":\"The amount to withdraw\"}},\"withdrawCollateral()\":{\"details\":\"Used to withdraw the locked collateral\"}},\"title\":\"Contract that assists with the Flyover protocol\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/LiquidityBridgeContract.sol\":\"LiquidityBridgeContract\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x247c62047745915c0af6b955470a72d1696ebad4352d7d3011aef1a2463cd888\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7fc8396619de513c96b6e00301b88dd790e83542aab918425633a5f7297a15a\",\"dweb:/ipfs/QmXbP4kiZyp7guuS7xe8KaybnwkRPGrBc2Kbi3vhcTfpxb\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x037c334add4b033ad3493038c25be1682d78c00992e1acb0e2795caff3925271\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a313cf42389440e2706837c91370323b85971c06afd6d056d21e2bc86459618\",\"dweb:/ipfs/QmT8XUrUvQ9aZaPKrqgRU2JVGWnaxBcUYJA7Q7K5KcLBSZ\"]},\"@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2b3005a0064cfc558bdf64b2bae94b565f4574a536aadd61c13838d4f2157790\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://622c3eb87563e71585c9f538d1a196fe2d154dcc5b8f335e8770a8acc95e1f3a\",\"dweb:/ipfs/QmSnDqJJLzv3mirjGB1vrk5X7hegFdS7BKpscpxyqj7sWu\"]},\"@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x2edcb41c121abc510932e8d83ff8b82cf9cdde35e7c297622f5c29ef0af25183\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72460c66cd1c3b1c11b863e0d8df0a1c56f37743019e468dc312c754f43e3b06\",\"dweb:/ipfs/QmPExYKiNb9PUsgktQBupPaM33kzDHxaYoVeJdLhv8s879\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"@rsksmart/btc-transaction-solidity-helper/contracts/BtcUtils.sol\":{\"keccak256\":\"0x74f37be19bedfd0d29802bad535d081f97689171ea0317d65803c9a66af49c1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://44325d49566d08e72d7ed85a98382d0dcd66bde2e4046df2dd63df43a5196cc5\",\"dweb:/ipfs/QmUQvPkSpciVbFueE2GEwnMap5qUxHgf2DnQAnqhCx6a2R\"]},\"project:/contracts/Bridge.sol\":{\"keccak256\":\"0xae192fa4fc0d6d395fd0c3912bc3affe86ddd4869f04501fbae0afe234d1becd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://309436cba07567a3ee76e71d6a751023b436a17f7d83e291ef731318287756e6\",\"dweb:/ipfs/QmZTjw3hbY4ofptJmQwnLRGrBTQcv6yPgbY4WvMAwgkzGS\"]},\"project:/contracts/LiquidityBridgeContract.sol\":{\"keccak256\":\"0xffd1e9632f97e8d0a1daac7a5db03b7f5c345e80e08ecc2d2a113d36969fef7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ff6c407622ceab5e821eb0ae0e1984812e5e517180c56f57f2891840d79a3\",\"dweb:/ipfs/QmS9sYi998BahXLHLW74qrf45icdLGmxXuNm7Y2SN9VZnF\"]},\"project:/contracts/Quotes.sol\":{\"keccak256\":\"0x28948b37d73f110d9cfc6cc3505fa7f2309b2d8d588d90c4069df45b4acbe399\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2a824971a2421b56127e048a6b8a2d4ef4945b13e5f40cb266a19462c954e7f\",\"dweb:/ipfs/QmWm8YpQUwvqu4erUbsUZ1xz4PoVtJQiAX1Kh5Gezi32c1\"]},\"project:/contracts/SignatureValidator.sol\":{\"keccak256\":\"0x9d72920dd5ff2891c8dd3b3a814c1b108e82fcc6dfd849c96842e88c01d25b2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8df1167e9def35ced4a620e3fa1e6d148bc7c1fb995378bf12dabef250b3be65\",\"dweb:/ipfs/QmZJJchWvzUeMb68VPHFGnMXBx7aMhK5GqJy8ECDx2rf58\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50615eee80620000216000396000f3fe60806040526004361061027f5760003560e01c806304ade855146102d35780630a7bf57a146102ff5780630a9cb4a7146103145780631b032188146103335780632e1a7d4d1461035357806333f07ad31461037357806335510a7d14610388578063417055181461039d578063418663a2146103b05780634198687e146103da5780634533ac1c146103e2578063457385f2146104025780634d0ec9711461043257806354015ee01461045257806359c153be14610485578063668dbd831461049a57806369023235146104c757806369652fcf146104e75780636e2e8c70146104fc578063715018a61461051c57806372cbf4e8146105315780637b78837f146105515780638490a8df146105645780638d5979391461057a5780638da5cb5b146105915780638f91797d146105b35780639b56d6c9146105d35780639cd6557f146106095780639d79b59b1461061e5780639e81699914610647578063a0cd70fc1461064f578063a0d250371461066f578063a4a5ba501461068f578063a93bb247146106a4578063ac29d744146106bb578063ae76ce86146106ce578063ae93b67b146106e5578063bd519eff146106fc578063bd5798c314610732578063be6de4eb14610754578063c525cdd814610769578063c721316314610780578063cfb92f0a1461079b578063d0e30db0146107b2578063d6c70de8146107ba578063e1de16c6146107da578063e30e6ea3146107f0578063e5b5019a14610806578063e78cea921461081c578063e830b6901461083c578063e8fcce7114610851578063e90d2ddb14610867578063f2fde38b14610894578063f8b2cb4f146108b4578063fa88dcde146108ea578063fb32c508146108ff57600080fd5b366102ce576097546001600160a01b031633146102cc5760405162461bcd60e51b81526020600482015260066024820152654c424330303760d01b60448201526064015b60405180910390fd5b005b600080fd5b3480156102df57600080fd5b506102e8600181565b60405160ff90911681526020015b60405180910390f35b34801561030b57600080fd5b506102e8600281565b34801561032057600080fd5b5060a2545b6040519081526020016102f6565b34801561033f57600080fd5b5061032561034e366004614ae9565b61091d565b34801561035f57600080fd5b506102cc61036e366004614b1d565b61092e565b34801561037f57600080fd5b5060a154610325565b34801561039457600080fd5b506102cc610a26565b6103256103ab366004614b36565b610b54565b3480156103bc57600080fd5b506103c76101301981565b60405160019190910b81526020016102f6565b6102cc610eef565b3480156103ee57600080fd5b506102cc6103fd366004614bd2565b610f74565b34801561040e57600080fd5b5061042261041d366004614c53565b6111b3565b60405190151581526020016102f6565b34801561043e57600080fd5b5061042261044d366004614c53565b6111e9565b34801561045e57600080fd5b5061042261046d366004614b1d565b600090815260a7602052604090206001015460ff1690565b34801561049157600080fd5b506102cc61121f565b3480156104a657600080fd5b506104ba6104b5366004614c93565b61134d565b6040516102f69190614d80565b3480156104d357600080fd5b506103256104e2366004614fbd565b6116ce565b3480156104f357600080fd5b506102cc6116d9565b34801561050857600080fd5b50610325610517366004614ff1565b611784565b34801561052857600080fd5b506102cc611f6b565b34801561053d57600080fd5b506102cc61054c3660046150a5565b611f7f565b6102cc61055f3660046150d5565b612019565b34801561057057600080fd5b5061032560a25481565b34801561058657600080fd5b506103c761012c1981565b34801561059d57600080fd5b506105a661249f565b6040516102f69190615138565b3480156105bf57600080fd5b506102cc6105ce366004614b1d565b6124ae565b3480156105df57600080fd5b506103256105ee366004614c53565b6001600160a01b031660009081526099602052604090205490565b34801561061557600080fd5b506102e8600081565b34801561062a57600080fd5b506106346188b881565b60405161ffff90911681526020016102f6565b6102cc6127af565b34801561065b57600080fd5b5061032561066a36600461514c565b61282a565b34801561067b57600080fd5b5061042261068a366004615180565b61287d565b34801561069b57600080fd5b50610325600181565b3480156106b057600080fd5b506103c761012d1981565b6104226106c9366004614ae9565b6129e9565b3480156106da57600080fd5b506103c761012b1981565b3480156106f157600080fd5b506103c76103831981565b34801561070857600080fd5b50610325610717366004614c53565b6001600160a01b03166000908152609a602052604090205490565b34801561073e57600080fd5b5060a054600160201b900463ffffffff16610325565b34801561076057600080fd5b50610325600081565b34801561077557600080fd5b506103c761012e1981565b34801561078c57600080fd5b5060a05463ffffffff16610325565b3480156107a757600080fd5b506103c761012f1981565b6102cc612cfb565b3480156107c657600080fd5b506102cc6107d53660046151b6565b612d2a565b3480156107e657600080fd5b506106346108fc81565b3480156107fc57600080fd5b506103c760c71981565b34801561081257600080fd5b5061032560001981565b34801561082857600080fd5b506097546105a6906001600160a01b031681565b34801561084857600080fd5b50609e54610325565b34801561085d57600080fd5b506103c760631981565b34801561087357600080fd5b50610887610882366004614b1d565b6136f6565b6040516102f6919061528c565b3480156108a057600080fd5b506102cc6108af366004614c53565b613a21565b3480156108c057600080fd5b506103256108cf366004614c53565b6001600160a01b031660009081526098602052604090205490565b3480156108f657600080fd5b50609f54610325565b34801561090b57600080fd5b506097546001600160a01b03166105a6565b600061092882613a97565b92915050565b3360009081526098602052604090205481111561095d5760405162461bcd60e51b81526004016102c39061540b565b336000908152609860205260408120805483929061097c908490615441565b9091555050604051600090339083908381818185875af1925050503d80600081146109c3576040519150601f19603f3d011682016040523d82523d6000602084013e6109c8565b606091505b50509050806109e95760405162461bcd60e51b81526004016102c390615454565b7f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b653383604051610a1a929190615474565b60405180910390a15050565b336000908152609d6020526040902054610a525760405162461bcd60e51b81526004016102c39061548d565b60a054336000908152609d6020526040902054600160201b90910463ffffffff1690610a7e9043615441565b1015610a9c5760405162461bcd60e51b81526004016102c3906154ad565b336000818152609a60209081526040808320805490849055609d9092528083208390555190929083908381818185875af1925050503d8060008114610afd576040519150601f19603f3d011682016040523d82523d6000602084013e610b02565b606091505b5050905080610b235760405162461bcd60e51b81526004016102c390615454565b7ffc72299650b405e7b0480ca8fb0fb3948fb10a77ac02f797cc9de1f4aaa55db73383604051610a1a929190615474565b6000323314610b8e5760405162461bcd60e51b81526020600482015260066024820152654c424330303360d01b60448201526064016102c3565b610b99858584613cff565b33600090815260996020526040902054158015610bc35750336000908152609a6020526040902054155b610bf85760405162461bcd60e51b815260206004820152600660248201526504c42433037360d41b60448201526064016102c3565b336000908152609d602052604090205415610c3e5760405162461bcd60e51b81526020600482015260066024820152654c424330303960d01b60448201526064016102c3565b604051602001610c4d906154cd565b6040516020818303038152906040528051906020012082604051602001610c7491906154de565b6040516020818303038152906040528051906020012003610cc857609e54341015610cb15760405162461bcd60e51b81526004016102c3906154fa565b336000908152609960205260409020349055610dcd565b604051602001610cd79061551a565b6040516020818303038152906040528051906020012082604051602001610cfe91906154de565b6040516020818303038152906040528051906020012003610d5257609e54341015610d3b5760405162461bcd60e51b81526004016102c3906154fa565b336000908152609a60205260409020349055610dcd565b609e54610d6090600261552c565b341015610d7f5760405162461bcd60e51b81526004016102c3906154fa565b6000610d8c600234615559565b9050610d9960023461556d565b15610dae57610da9816001615581565b610db0565b805b33600090815260996020908152604080832093909355609a905220555b60a28054906000610ddd83615594565b90915550506040805160c08101825260a2548082523360208084019182528385018a8152606085018a9052881515608086015260a085018890526000938452609b909152939091208251815590516001820180546001600160a01b0319166001600160a01b0390921691909117905591519091906002820190610e609082615635565b5060608201516003820190610e759082615635565b50608082015160048201805460ff191691151591909117905560a08201516005820190610ea29082615635565b505060a254604080519182523460208301523392507fa9d44d6e13bb3fee938c3f66d1103e91f8dc6b12d4405a55eea558e8f275aa6e910160405180910390a25060a2545b949350505050565b610ef833613ea6565b610f145760405162461bcd60e51b81526004016102c3906156f4565b336000908152609a602052604081208054349290610f33908490615581565b90915550506040517f873d5a2949567203ad4f0cceef41c2813c87b9a397ee777d87a8acdaec2c6fa990610f6a9033903490615474565b60405180910390a1565b600054610100900460ff1615808015610f945750600054600160ff909116105b80610fae5750303b158015610fae575060005460ff166001145b6110115760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016102c3565b6000805460ff191660011790558015611034576000805461ff0019166101001790555b60648663ffffffff1611156110745760405162461bcd60e51b8152602060048201526006602482015265131090cc0c0d60d21b60448201526064016102c3565b666a94d74f4300008810156110b45760405162461bcd60e51b8152602060048201526006602482015265262121981b9960d11b60448201526064016102c3565b603c8563ffffffff1610156110f45760405162461bcd60e51b81526020600482015260066024820152654c424330373360d01b60448201526064016102c3565b6110fc613ee5565b609780546001600160a01b038b166001600160a01b0319909116179055609e889055609f87905560a0805463ffffffff878116600160201b026001600160401b03199092169089161717905560a184905560a383905560a4805483151560ff1990911617905580156111a8576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050565b60006111be82613f59565b80156109285750609e546001600160a01b038316600090815260996020526040902054101592915050565b60006111f482613ea6565b80156109285750609e546001600160a01b0383166000908152609a6020526040902054101592915050565b336000908152609d602052604090205461124b5760405162461bcd60e51b81526004016102c39061548d565b60a054336000908152609d6020526040902054600160201b90910463ffffffff16906112779043615441565b10156112955760405162461bcd60e51b81526004016102c3906154ad565b336000818152609960209081526040808320805490849055609d9092528083208390555190929083908381818185875af1925050503d80600081146112f6576040519150601f19603f3d011682016040523d82523d6000602084013e6112fb565b606091505b505090508061131c5760405162461bcd60e51b81526004016102c390615454565b7fa8e76b822fc682be77f3b1c822ea81f6bda5aed92ba82e6873bfd889f328d1d23383604051610a1a929190615474565b6060600082516001600160401b0381111561136a5761136a6147a4565b6040519080825280602002602001820160405280156113df57816020015b6113cc6040518060c001604052806000815260200160006001600160a01b031681526020016060815260200160608152602001600015158152602001606081525090565b8152602001906001900390816113885790505b5090506000805b84518110156116c557600085828151811061140357611403615714565b6020908102919091018101516000818152609b909252604090912060010154909150611437906001600160a01b0316613f59565b8061146157506000818152609b6020526040902060010154611461906001600160a01b0316613ea6565b801561147e57506000818152609b602052604090206004015460ff165b156116b2576000818152609b6020908152604091829020825160c0810184528154815260018201546001600160a01b03169281019290925260028101805492939192918401916114cd906155ad565b80601f01602080910402602001604051908101604052809291908181526020018280546114f9906155ad565b80156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b5050505050815260200160038201805461155f906155ad565b80601f016020809104026020016040519081016040528092919081815260200182805461158b906155ad565b80156115d85780601f106115ad576101008083540402835291602001916115d8565b820191906000526020600020905b8154815290600101906020018083116115bb57829003601f168201915b5050509183525050600482015460ff1615156020820152600582018054604090920191611604906155ad565b80601f0160208091040260200160405190810160405280929190818152602001828054611630906155ad565b801561167d5780601f106116525761010080835404028352916020019161167d565b820191906000526020600020905b81548152906001019060200180831161166057829003601f168201915b50505050508152505084848151811061169857611698615714565b602002602001018190525082806116ae90615594565b9350505b50806116bd81615594565b9150506113e6565b50909392505050565b600061092882613f98565b6116e233613f59565b6116fe5760405162461bcd60e51b81526004016102c3906156f4565b336000908152609d6020526040902054156117445760405162461bcd60e51b81526020600482015260066024820152654c424330323360d01b60448201526064016102c3565b336000818152609d602052604090819020439055517fa6674aa33cd1b7435474751667707bf05fde99e537d67043ec5f907782577d8691610f6a91615138565b600061178e614014565b600061179987613a97565b600081815260a56020526040902054909150600160ff90911611156117d05760405162461bcd60e51b81526004016102c39061572a565b60408088015190516301a86b5560e41b815273__SignatureValidator____________________91631a86b5509161180f919085908b9060040161574a565b602060405180830381865af415801561182c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118509190615771565b61186c5760405162461bcd60e51b81526004016102c39061578e565b637fffffff83106118a85760405162461bcd60e51b815260206004820152600660248201526504c42433033360d41b60448201526064016102c3565b60006118b7888787878661406d565b905061012f81016118f35760405162461bcd60e51b81526020600482015260066024820152654c424330333160d01b60448201526064016102c3565b61012e810161192d5760405162461bcd60e51b815260206004820152600660248201526526212198199960d11b60448201526064016102c3565b61013081016119675760405162461bcd60e51b81526020600482015260066024820152654c424330333360d01b60448201526064016102c3565b61013181016119a15760405162461bcd60e51b8152602060048201526006602482015265131090cc0ccd60d21b60448201526064016102c3565b61038481016119db5760405162461bcd60e51b81526020600482015260066024820152654c424330333560d01b60448201526064016102c3565b60008113806119eb575060c71981145b806119f7575060631981145b611a2c5760405162461bcd60e51b815260206004820152600660248201526526212198199b60d11b60448201526064016102c3565b6000828152609c6020526040902054611a4f908990839063ffffffff168761413f565b15611b205760e08801516040808a01516001600160a01b031660009081526099602052908120549091611a81916143a0565b905080609960008b604001516001600160a01b03166001600160a01b031681526020019081526020016000206000828254611abc9190615441565b90915550506040808a01519051600080516020615e7983398151915291611ae691849087906157ae565b60405180910390a160a054600090606490611b079063ffffffff168461552c565b611b119190615559565b9050611b1d33826143b8565b50505b60c719811480611b31575060631981145b15611ba557600082815260a560209081526040808320805460ff19166002179055609c825291829020805464ffffffffff1916905581518481529081018390527ffb209329d5ab5b7bcb2e92f45f4534814b6e68fa5ad1f171dabc1d17d26f0ebe910160405180910390a19150611f589050565b60405162e7a37960e21b8152819073__Quotes________________________________9063039e8de490611bdf908c908590600401615923565b60006040518083038186803b158015611bf757600080fd5b505af4158015611c0b573d6000803e3d6000fd5b5050506000848152609c602052604090205463ffffffff16159050611d4c576000838152609c6020526040812054600160201b900460ff1615611c6d57611c66828b60c001518c6101800151611c619190615581565b6143a0565b9050611c7e565b611c7b828b60c001516143a0565b90505b611c8c8a60400151826143b8565b6000611c988284615441565b905060a154811115611d455760808b01516040516000916001600160a01b0316906108fc90849084818181858888f193505050503d8060008114611cf8576040519150601f19603f3d011682016040523d82523d6000602084013e611cfd565b606091505b50509050600080516020615e598339815191528c60800151838389604051611d289493929190615945565b60405180910390a180611d4357611d438c60400151836143b8565b505b5050611ef1565b61022089015181908015611d6557508961018001518110155b15611e575760008a61010001516001600160a01b03168b610140015163ffffffff168c61018001518d6101200151604051611da091906154de565b600060405180830381858888f193505050503d8060008114611dde576040519150601f19603f3d011682016040523d82523d6000602084013e611de3565b606091505b505090508a61010001516001600160a01b0316336001600160a01b0316600080516020615e998339815191528d61014001518e61018001518f6101200151868b604051611e3495949392919061596d565b60405180910390a38015611e55576101808b0151611e529083615441565b91505b505b60a154811115611eef5760808a01516040516000916001600160a01b0316906108fc90849084818181858888f193505050503d8060008114611eb5576040519150601f19603f3d011682016040523d82523d6000602084013e611eba565b606091505b50509050600080516020615e598339815191528b60800151838388604051611ee59493929190615945565b60405180910390a1505b505b600083815260a560209081526040808320805460ff19166002179055609c825291829020805464ffffffffff19169055905183815284917f0629ae9d1dc61501b0ca90670a9a9b88daaf7504b54537b53e1219de794c63d2910160405180910390a2509150505b611f626001606555565b95945050505050565b611f73614417565b611f7d6000614476565b565b81611f8861249f565b6001600160a01b0316336001600160a01b03161480611fc057506000818152609b60205260409020600101546001600160a01b031633145b611ff55760405162461bcd60e51b81526020600482015260066024820152654c424330303560d01b60448201526064016102c3565b506000918252609b6020526040909120600401805460ff1916911515919091179055565b6120268260200151613ea6565b61205b5760405162461bcd60e51b81526020600482015260066024820152654c424330333760d01b60448201526064016102c3565b348260a001518361012001516120719190615581565b11156120a85760405162461bcd60e51b81526020600482015260066024820152654c424330363360d01b60448201526064016102c3565b81610160015163ffffffff164211156120ec5760405162461bcd60e51b81526020600482015260066024820152654c424330363560d01b60448201526064016102c3565b816101e0015163ffffffff164211156121305760405162461bcd60e51b8152602060048201526006602482015265262121981a1b60d11b60448201526064016102c3565b81610200015163ffffffff164311156121745760405162461bcd60e51b81526020600482015260066024820152654c424330343760d01b60448201526064016102c3565b600061217f836116ce565b60208401516040516301a86b5560e41b815291925073__SignatureValidator____________________91631a86b550916121c0918590879060040161574a565b602060405180830381865af41580156121dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122019190615771565b61221d5760405162461bcd60e51b81526004016102c39061578e565b600081815260a66020908152604080832060a79092529091206001015460ff161561225a5760405162461bcd60e51b81526004016102c3906159a6565b80546001600160a01b0316156122825760405162461bcd60e51b81526004016102c39061572a565b600082815260a66020908152604091829020865181546001600160a01b03199081166001600160a01b03928316178355928801516001830180549094169116179091559085015185919060028201906122db9082615635565b5060608201516003820180546001600160a01b0319166001600160a01b03909216919091179055608082015160048201906123169082615635565b5060a0820151600582015560c0820151600682015560e08201516007820180546001600160401b0319166001600160401b0390921691909117905561010082015160088201906123669082615635565b506101208201516009820155610140820151600a90910180546101608401516101808501516101a08601516101c08701516101e08801516102009098015163ffffffff9788166001600160401b031990961695909517600160201b948816949094029390931763ffffffff60401b1916600160401b61ffff9384160261ffff60501b191617600160501b929091169190910217600160601b600160a01b031916600160601b9185169190910263ffffffff60801b191617600160801b948416949094029390931763ffffffff60a01b1916600160a01b9290931691909102919091179055600082815260a760209081526040918290204290819055825134815291820152339184917fb1bc7bfc0dab19777eb03aa0a5643378fc9f186c8fc5a36620d21136fbea570f910160405180910390a350505050565b6033546001600160a01b031690565b6124b6614014565b600081815260a66020526040902080546001600160a01b03166124eb5760405162461bcd60e51b81526004016102c3906159c6565b600a810154600160801b900463ffffffff164211801561251b5750600a810154600160a01b900463ffffffff1643115b6125505760405162461bcd60e51b81526020600482015260066024820152654c424330343160d01b60448201526064016102c3565b6000816005015482600901546125669190615581565b6003830154600684015460018501546001600160a01b039081166000908152609a602052604081205494955092169261259f91906143a0565b60018501546001600160a01b03166000908152609a60205260408120805492935083929091906125d0908490615441565b90915550506001840154604051600080516020615e7983398151915291612606916001600160a01b0390911690849089906157ae565b60405180910390a16003840154604080518581526001600160a01b03909216602083015286917f9ccbeffc442024e2a6ade18ff0978af9a4c4d6562ae38adb51ccf8256cf42b41910160405180910390a2600085815260a66020526040812080546001600160a01b0319908116825560018201805490911690559061268e6002830182614756565b6003820180546001600160a01b03191690556126ae600483016000614756565b600060058301819055600683018190556007830180546001600160401b03191690556126de906008840190614756565b50600060098201819055600a90910180546001600160c01b031916905585815260a760205260408082206001908101805460ff19169091179055516001600160a01b0384169085908381818185875af1925050503d806000811461275e576040519150601f19603f3d011682016040523d82523d6000602084013e612763565b606091505b505090508061279d5760405162461bcd60e51b8152602060048201526006602482015265131090cc0d0d60d21b60448201526064016102c3565b50505050506127ac6001606555565b50565b6127b833613f59565b6127d45760405162461bcd60e51b81526004016102c3906156f4565b33600090815260996020526040812080543492906127f3908490615581565b90915550506040517f456e0f4ea86ac283092c750200e8c877f6ad8901ae575f90e02081acd455af8490610f6a9033903490615474565b600081516050146128665760405162461bcd60e51b81526020600482015260066024820152654c424330363160d01b60448201526064016102c3565b6128718260446144c8565b63ffffffff1692915050565b6000806128898461091d565b8460600151856020015160601b8660a001516040516020016128ae94939291906159e6565b604051602081830303815290604052805190602001209050600081609760009054906101000a90046001600160a01b03166001600160a01b0316631d73d5dd6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561291c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526129449190810190615a78565b604051602001612955929190615aac565b60408051601f198184030181529082905260a454639b02794b60e01b835290925073__BtcUtils______________________________91639b02794b916129a8918891869160ff90911690600401615ae6565b602060405180830381865af41580156129c5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f629190615771565b60006129f433613f59565b612a105760405162461bcd60e51b81526004016102c3906156f4565b612a18614014565b81604001516001600160a01b0316336001600160a01b031614612a665760405162461bcd60e51b8152602060048201526006602482015265131090cc0c8d60d21b60448201526064016102c3565b6101808201516040808401516001600160a01b0316600090815260986020522054612a92903490615581565b1015612ab05760405162461bcd60e51b81526004016102c39061540b565b6000612abb83613a97565b600081815260a5602052604090205490915060ff1615612b065760405162461bcd60e51b81526020600482015260066024820152654c424330323560d01b60448201526064016102c3565b612b148360400151346143b8565b610140830151612b27906188b890615b1e565b63ffffffff165a1015612b655760405162461bcd60e51b815260206004820152600660248201526526212198191b60d11b60448201526064016102c3565b60008361010001516001600160a01b031684610140015163ffffffff16856101800151866101200151604051612b9b91906154de565b600060405180830381858888f193505050503d8060008114612bd9576040519150601f19603f3d011682016040523d82523d6000602084013e612bde565b606091505b509091505063ffffffff421115612c205760405162461bcd60e51b81526020600482015260066024820152654c424330323760d01b60448201526064016102c3565b6000828152609c60205260409020805463ffffffff19164263ffffffff161790558015612c7b576000828152609c602052604090819020805460ff60201b1916600160201b179055840151610180850151612c7b91906145b2565b8361010001516001600160a01b0316336001600160a01b0316600080516020615e998339815191528661014001518761018001518861012001518688604051612cc895949392919061596d565b60405180910390a3600091825260a56020526040909120805460ff191660011790559050612cf66001606555565b919050565b612d0433613f59565b612d205760405162461bcd60e51b81526004016102c3906156f4565b611f7d33346143b8565b612d32614014565b612d3b33613ea6565b612d575760405162461bcd60e51b81526004016102c3906156f4565b600085815260a7602052604090206001015460ff1615612d895760405162461bcd60e51b81526004016102c3906159a6565b600085815260a66020526040902080546001600160a01b0316612dbe5760405162461bcd60e51b81526004016102c3906159c6565b60405162f5b49160e01b815260009073__BtcUtils______________________________9062f5b49190612df6908990600401615b42565b600060405180830381865af4158015612e13573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612e3b9190810190615b55565b9050600073__BtcUtils______________________________632d56f32383600181518110612e6c57612e6c615714565b6020026020010151602001516040518263ffffffff1660e01b8152600401612e949190615b42565b600060405180830381865af4158015612eb1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612ed99190810190615a78565b806020019051810190612eec9190615c68565b9050808814612f265760405162461bcd60e51b81526020600482015260066024820152654c424330363960d01b60448201526064016102c3565b60018301546001600160a01b03163314612f6b5760405162461bcd60e51b815260206004820152600660248201526509884866068760d31b60448201526064016102c3565b600a83015460975460405163fea8ba6360e01b8152600160501b90920461ffff16916001600160a01b0390911690635b6445879073__BtcUtils______________________________9063fea8ba6390612fc9908d90600401615b42565b602060405180830381865af4158015612fe6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061300a9190615c68565b8989896040518563ffffffff1660e01b815260040161302c9493929190615c81565b602060405180830381865afa158015613049573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061306d9190615c68565b12156130a45760405162461bcd60e51b81526020600482015260066024820152654c424330343960d01b60448201526064016102c3565b816000815181106130b7576130b7615714565b6020026020010151600001516402540be4006130d39190615cdd565b6001600160401b0316836009015411156131185760405162461bcd60e51b81526020600482015260066024820152654c424330363760d01b60448201526064016102c3565b600073__BtcUtils______________________________634c03fe598460008151811061314757613147615714565b602090810291909101810151015160a4546040516001600160e01b031960e085901b16815261317d929160ff1690600401615d08565b600060405180830381865af415801561319a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526131c29190810190615a78565b90508080519060200120846008016040516131dd9190615d2c565b60405180910390201461321b5760405162461bcd60e51b81526020600482015260066024820152650988486606c760d31b60448201526064016102c3565b604080516102208101825285546001600160a01b03908116825260018701541660208201526002860180546134b693889290840191613259906155ad565b80601f0160208091040260200160405190810160405280929190818152602001828054613285906155ad565b80156132d25780601f106132a7576101008083540402835291602001916132d2565b820191906000526020600020905b8154815290600101906020018083116132b557829003601f168201915b505050918352505060038201546001600160a01b03166020820152600482018054604090920191613302906155ad565b80601f016020809104026020016040519081016040528092919081815260200182805461332e906155ad565b801561337b5780601f106133505761010080835404028352916020019161337b565b820191906000526020600020905b81548152906001019060200180831161335e57829003601f168201915b50505091835250506005820154602082015260068201546040820152600780830154900b60608201526008820180546080909201916133b9906155ad565b80601f01602080910402602001604051908101604052809291908181526020018280546133e5906155ad565b80156134325780601f1061340757610100808354040283529160200191613432565b820191906000526020600020905b81548152906001019060200180831161341557829003601f168201915b505050918352505060098201546020820152600a9091015463ffffffff8082166040840152600160201b82048116606084015261ffff600160401b830481166080850152600160501b83041660a0840152600160601b8204811660c0840152600160801b8204811660e0840152600160a01b90910416610100909101528389614611565b1561355957600684015460018501546001600160a01b03166000908152609a602052604081205490916134e8916143a0565b60018601546001600160a01b03166000908152609a6020526040812080549293508392909190613519908490615441565b90915550506001850154604051600080516020615e798339815191529161354f916001600160a01b0390911690849087906157ae565b60405180910390a1505b6001840154600585015460098601546000926001600160a01b03169161357e91615581565b604051600081818185875af1925050503d80600081146135ba576040519150601f19603f3d011682016040523d82523d6000602084013e6135bf565b606091505b50509050806135f95760405162461bcd60e51b815260206004820152600660248201526504c42433035360d41b60448201526064016102c3565b600083815260a66020526040812080546001600160a01b031990811682556001820180549091169055906136306002830182614756565b6003820180546001600160a01b0319169055613650600483016000614756565b600060058301819055600683018190556007830180546001600160401b0319169055613680906008840190614756565b50600060098201819055600a90910180546001600160c01b031916905583815260a760205260408082206001908101805460ff191690911790555184917fb781856ec73fd0dc39351043d1634ea22cd3277b0866ab93e7ec1801766bb38491a250505050506136ef6001606555565b5050505050565b6040805161022080820183526000808352602080840182905260608486018190528085018390526080850181905260a0850183905260c0850183905260e0850183905261010085015261012084018290526101408401829052610160840182905261018084018290526101a084018290526101c084018290526101e08401829052610200840182905285825260a68152908490208451928301855280546001600160a01b039081168452600182015416918301919091526002810180549394929391928401916137c5906155ad565b80601f01602080910402602001604051908101604052809291908181526020018280546137f1906155ad565b801561383e5780601f106138135761010080835404028352916020019161383e565b820191906000526020600020905b81548152906001019060200180831161382157829003601f168201915b505050918352505060038201546001600160a01b0316602082015260048201805460409092019161386e906155ad565b80601f016020809104026020016040519081016040528092919081815260200182805461389a906155ad565b80156138e75780601f106138bc576101008083540402835291602001916138e7565b820191906000526020600020905b8154815290600101906020018083116138ca57829003601f168201915b50505091835250506005820154602082015260068201546040820152600780830154900b6060820152600882018054608090920191613925906155ad565b80601f0160208091040260200160405190810160405280929190818152602001828054613951906155ad565b801561399e5780601f106139735761010080835404028352916020019161399e565b820191906000526020600020905b81548152906001019060200180831161398157829003601f168201915b505050918352505060098201546020820152600a9091015463ffffffff8082166040840152600160201b82048116606084015261ffff600160401b830481166080850152600160501b83041660a0840152600160601b8204811660c0840152600160801b8204811660e0840152600160a01b909104166101009091015292915050565b613a29614417565b6001600160a01b038116613a8e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102c3565b6127ac81614476565b600081602001516001600160a01b0316306001600160a01b031614613ae75760405162461bcd60e51b81526020600482015260066024820152654c424330353160d01b60448201526064016102c3565b6101008201516097546001600160a01b03918216911603613b335760405162461bcd60e51b8152602060048201526006602482015265262121981a9960d11b60448201526064016102c3565b81606001515160151480613b4c57508160600151516021145b613b815760405162461bcd60e51b81526020600482015260066024820152654c424330353360d01b60448201526064016102c3565b8160a0015151601514613bbf5760405162461bcd60e51b8152602060048201526006602482015265131090cc0d4d60d21b60448201526064016102c3565b609f548260c00151836101800151613bd79190615581565b1015613c0e5760405162461bcd60e51b81526020600482015260066024820152654c424330353560d01b60448201526064016102c3565b816101c0015163ffffffff16826101a0015163ffffffff16613c309190615da2565b6001600160401b031663ffffffff1015613c755760405162461bcd60e51b81526020600482015260066024820152654c424330373160d01b60448201526064016102c3565b604051630fdeb30b60e21b815273__Quotes________________________________90633f7acc2c90613cac908590600401615dc2565b600060405180830381865af4158015613cc9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613cf19190810190615a78565b805190602001209050919050565b6000835111613d395760405162461bcd60e51b815260206004820152600660248201526504c42433031360d41b60448201526064016102c3565b6000825111613d735760405162461bcd60e51b81526020600482015260066024820152654c424330313760d01b60448201526064016102c3565b604051602001613d82906154cd565b6040516020818303038152906040528051906020012081604051602001613da991906154de565b604051602081830303815290604052805190602001201480613e145750604051602001613dd59061551a565b6040516020818303038152906040528051906020012081604051602001613dfc91906154de565b60405160208183030381529060405280519060200120145b80613e6c5750604051630c4dee8d60e31b60208201526024016040516020818303038152906040528051906020012081604051602001613e5491906154de565b60405160208183030381529060405280519060200120145b613ea15760405162461bcd60e51b815260206004820152600660248201526509884866062760d31b60448201526064016102c3565b505050565b6001600160a01b0381166000908152609a6020526040812054158015906109285750506001600160a01b03166000908152609d60205260409020541590565b600054610100900460ff16613f505760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016102c3565b611f7d33614476565b6001600160a01b038116600090815260996020526040812054158015906109285750506001600160a01b03166000908152609d60205260409020541590565b80516000906001600160a01b03163014613fdd5760405162461bcd60e51b8152602060048201526006602482015265262121981a9b60d11b60448201526064016102c3565b60405163fb19b88b60e01b815273__Quotes________________________________9063fb19b88b90613cac90859060040161528c565b6002606554036140665760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102c3565b6002606555565b609754606086015160a08701516000848152609c602052604081205490936001600160a01b031692636adc013392899288928a92899230919063ffffffff16158015906140cf575060008b8152609c6020526040902054600160201b900460ff165b6040518963ffffffff1660e01b81526004016140f2989796959493929190615dd5565b6020604051808303816000875af1158015614111573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141359190615c68565b9695505050505050565b6000808413801561416357508460c001518561018001516141609190615581565b84105b1561417057506000610ee7565b60975460405163bd0c1fff60e01b8152600481018490526000916001600160a01b03169063bd0c1fff90602401600060405180830381865afa1580156141ba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526141e29190810190615a78565b9050600081511161422c5760405162461bcd60e51b8152602060048201526014602482015273125b9d985b1a5908189b1bd8dac81a195a59da1d60621b60448201526064016102c3565b60006142378261282a565b90506000876101c00151886101a001516142519190615b1e565b63ffffffff1690508082111561426d5760009350505050610ee7565b856000036142815760019350505050610ee7565b6097546102008901516000916001600160a01b03169063bd0c1fff906001906142ae9061ffff168a615581565b6142b89190615441565b6040518263ffffffff1660e01b81526004016142d691815260200190565b600060405180830381865afa1580156142f3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261431b9190810190615a78565b905060008151116143575760405162461bcd60e51b81526020600482015260066024820152650988486606a760d31b60448201526064016102c3565b60006143628261282a565b9050896101e0015163ffffffff168161437b9190615581565b88111561439057600195505050505050610ee7565b5060009998505050505050505050565b60008183106143af57816143b1565b825b9392505050565b6001600160a01b038216600090815260986020526040812080548392906143e0908490615581565b90915550506040517f42cfb81a915ac5a674852db250bf722637bee705a267633b68cab3a2dde06f5390610a1a9084908490615474565b3361442061249f565b6001600160a01b031614611f7d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102c3565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006144d5826004615581565b8351101561450e5760405162461bcd60e51b8152602060048201526006602482015265262121981b1960d11b60448201526064016102c3565b60188361451c846003615581565b8151811061452c5761452c615714565b016020015160f81c901b601084614544856002615581565b8151811061455457614554615714565b016020015160f81c901b60088561456c866001615581565b8151811061457c5761457c615714565b0160200151865160f89190911c90911b9086908690811061459f5761459f615714565b016020015160f81c171717905092915050565b6001600160a01b038216600090815260986020526040812080548392906145da908490615441565b90915550506040517f8e51a4493a6f66c76e13fd9e3b754eafbfe21343c04508deb61be8ccc006458790610a1a9084908490615474565b6097546040516339cf1b2560e11b81526004810183905260009182916001600160a01b039091169063739e364a90602401600060405180830381865afa15801561465f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526146879190810190615a78565b905060008151116146c35760405162461bcd60e51b81526020600482015260066024820152654c424330353960d01b60448201526064016102c3565b60006146ce8261282a565b60a3546101c0880151600088815260a7602052604090205492935090916146fb9163ffffffff1690615581565b6147059190615581565b811115614717576001925050506143b1565b856101e0015163ffffffff1642118061473a575085610200015163ffffffff1643115b1561474a576001925050506143b1565b50600095945050505050565b508054614762906155ad565b6000825580601f10614772575050565b601f0160209004906000526020600020908101906127ac91905b808211156147a0576000815560010161478c565b5090565b634e487b7160e01b600052604160045260246000fd5b60405161024081016001600160401b03811182821017156147dd576147dd6147a4565b60405290565b60405161022081016001600160401b03811182821017156147dd576147dd6147a4565b604051608081016001600160401b03811182821017156147dd576147dd6147a4565b604051601f8201601f191681016001600160401b0381118282101715614850576148506147a4565b604052919050565b80356001600160601b031981168114612cf657600080fd5b6001600160a01b03811681146127ac57600080fd5b8035612cf681614870565b60006001600160401b038211156148a9576148a96147a4565b50601f01601f191660200190565b600082601f8301126148c857600080fd5b81356148db6148d682614890565b614828565b8181528460208386010111156148f057600080fd5b816020850160208301376000918101602001919091529392505050565b803563ffffffff81168114612cf657600080fd5b8035600781900b8114612cf657600080fd5b803561ffff81168114612cf657600080fd5b80151581146127ac57600080fd5b8035612cf681614945565b6000610240828403121561497157600080fd5b6149796147ba565b905061498482614858565b815261499260208301614885565b60208201526149a360408301614885565b604082015260608201356001600160401b03808211156149c257600080fd5b6149ce858386016148b7565b60608401526149df60808501614885565b608084015260a08401359150808211156149f857600080fd5b614a04858386016148b7565b60a084015260c084013560c084015260e084013560e08401526101009150614a2d828501614885565b8284015261012091508184013581811115614a4757600080fd5b614a53868287016148b7565b83850152505050610140614a6881840161490d565b90820152610160614a7a838201614921565b9082015261018082810135908201526101a0614a9781840161490d565b908201526101c0614aa983820161490d565b908201526101e0614abb83820161490d565b90820152610200614acd838201614933565b90820152610220614adf838201614953565b9082015292915050565b600060208284031215614afb57600080fd5b81356001600160401b03811115614b1157600080fd5b610ee78482850161495e565b600060208284031215614b2f57600080fd5b5035919050565b60008060008060808587031215614b4c57600080fd5b84356001600160401b0380821115614b6357600080fd5b614b6f888389016148b7565b95506020870135915080821115614b8557600080fd5b614b91888389016148b7565b945060408701359150614ba382614945565b90925060608601359080821115614bb957600080fd5b50614bc6878288016148b7565b91505092959194509250565b600080600080600080600080610100898b031215614bef57600080fd5b8835614bfa81614870565b97506020890135965060408901359550614c1660608a0161490d565b9450614c2460808a0161490d565b935060a0890135925060c0890135915060e0890135614c4281614945565b809150509295985092959890939650565b600060208284031215614c6557600080fd5b81356143b181614870565b60006001600160401b03821115614c8957614c896147a4565b5060051b60200190565b60006020808385031215614ca657600080fd5b82356001600160401b03811115614cbc57600080fd5b8301601f81018513614ccd57600080fd5b8035614cdb6148d682614c70565b81815260059190911b82018301908381019087831115614cfa57600080fd5b928401925b82841015614d1857833582529284019290840190614cff565b979650505050505050565b6001600160a01b03169052565b60005b83811015614d4b578181015183820152602001614d33565b50506000910152565b60008151808452614d6c816020860160208601614d30565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015614e4157888303603f19018552815180518452878101516001600160a01b0316888501528681015160c088860181905290614de882870182614d54565b91505060608083015186830382880152614e028382614d54565b925050506080808301511515818701525060a08083015192508582038187015250614e2d8183614d54565b968901969450505090860190600101614da7565b509098975050505050505050565b60006102208284031215614e6257600080fd5b614e6a6147e3565b9050614e7582614885565b8152614e8360208301614885565b602082015260408201356001600160401b0380821115614ea257600080fd5b614eae858386016148b7565b6040840152614ebf60608501614885565b60608401526080840135915080821115614ed857600080fd5b614ee4858386016148b7565b608084015260a084013560a084015260c084013560c0840152614f0960e08501614921565b60e084015261010091508184013581811115614f2457600080fd5b614f30868287016148b7565b83850152505050610120808301358183015250610140614f5181840161490d565b90820152610160614f6383820161490d565b90820152610180614f75838201614933565b908201526101a0614f87838201614933565b908201526101c0614f9983820161490d565b908201526101e0614fab83820161490d565b90820152610200614adf83820161490d565b600060208284031215614fcf57600080fd5b81356001600160401b03811115614fe557600080fd5b610ee784828501614e4f565b600080600080600060a0868803121561500957600080fd5b85356001600160401b038082111561502057600080fd5b61502c89838a0161495e565b9650602088013591508082111561504257600080fd5b61504e89838a016148b7565b9550604088013591508082111561506457600080fd5b61507089838a016148b7565b9450606088013591508082111561508657600080fd5b50615093888289016148b7565b95989497509295608001359392505050565b600080604083850312156150b857600080fd5b8235915060208301356150ca81614945565b809150509250929050565b600080604083850312156150e857600080fd5b82356001600160401b03808211156150ff57600080fd5b61510b86838701614e4f565b9350602085013591508082111561512157600080fd5b5061512e858286016148b7565b9150509250929050565b6001600160a01b0391909116815260200190565b60006020828403121561515e57600080fd5b81356001600160401b0381111561517457600080fd5b610ee7848285016148b7565b6000806040838503121561519357600080fd5b82356001600160401b03808211156151aa57600080fd5b61510b8683870161495e565b600080600080600060a086880312156151ce57600080fd5b853594506020808701356001600160401b03808211156151ed57600080fd5b6151f98a838b016148b7565b96506040890135955060608901359450608089013591508082111561521d57600080fd5b508701601f8101891361522f57600080fd5b803561523d6148d682614c70565b81815260059190911b8201830190838101908b83111561525c57600080fd5b928401925b8284101561527a57833582529284019290840190615261565b80955050505050509295509295909350565b6020815261529e602082018351614d23565b600060208301516152b26040840182614d23565b5060408301516102208060608501526152cf610240850183614d54565b915060608501516152e36080860182614d23565b506080850151601f19808685030160a08701526153008483614d54565b935060a087015160c087015260c087015160e087015260e0870151915061010061532e8188018460070b9052565b8088015192505061012081878603018188015261534b8584614d54565b9088015161014088810191909152880151909450915061016090506153778187018363ffffffff169052565b86015190506101806153908682018363ffffffff169052565b86015190506101a06153a78682018361ffff169052565b86015190506101c06153be8682018361ffff169052565b86015190506101e06153d78682018363ffffffff169052565b86015190506102006153f08682018363ffffffff169052565b86015163ffffffff81168387015290505b5090949350505050565b6020808252600690820152654c424330313960d01b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156109285761092861542b565b60208082526006908201526504c42433032360d41b604082015260600190565b6001600160a01b03929092168252602082015260400190565b6020808252600690820152654c424330323160d01b604082015260600190565b60208082526006908201526526212198191960d11b604082015260600190565b643832b3b4b760d91b815260050190565b600082516154f0818460208701614d30565b9190910192915050565b60208082526006908201526509884866060760d31b604082015260600190565b651c1959dbdd5d60d21b815260060190565b80820281158282048414176109285761092861542b565b634e487b7160e01b600052601260045260246000fd5b60008261556857615568615543565b500490565b60008261557c5761557c615543565b500690565b808201808211156109285761092861542b565b6000600182016155a6576155a661542b565b5060010190565b600181811c908216806155c157607f821691505b6020821081036155e157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115613ea157600081815260208120601f850160051c8101602086101561560e5750805b601f850160051c820191505b8181101561562d5782815560010161561a565b505050505050565b81516001600160401b0381111561564e5761564e6147a4565b6156628161565c84546155ad565b846155e7565b602080601f831160018114615697576000841561567f5750858301515b600019600386901b1c1916600185901b17855561562d565b600085815260208120601f198616915b828110156156c6578886015182559484019460019091019084016156a7565b50858210156156e45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020808252600690820152654c424330303160d01b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60208082526006908201526509884866064760d31b604082015260600190565b60018060a01b0384168152826020820152606060408201526000611f626060830184614d54565b60006020828403121561578357600080fd5b81516143b181614945565b6020808252600690820152654c424330323960d01b604082015260600190565b6001600160a01b039390931683526020830191909152604082015260600190565b80516001600160601b0319168252600061024060208301516157f46020860182614d23565b5060408301516158076040860182614d23565b50606083015181606086015261581f82860182614d54565b91505060808301516158346080860182614d23565b5060a083015184820360a086015261584c8282614d54565b91505060c083015160c085015260e083015160e08501526101008084015161587682870182614d23565b505061012080840151858303828701526158908382614d54565b92505050610140808401516158ac8287018263ffffffff169052565b5050610160808401516158c38287018260070b9052565b505061018083810151908501526101a08084015163ffffffff908116918601919091526101c0808501518216908601526101e080850151909116908501526102008084015161ffff16908501526102208084015180151582870152615401565b60408152600061593660408301856157cf565b90508260208301529392505050565b6001600160a01b03949094168452602084019290925215156040830152606082015260800190565b63ffffffff8616815284602082015260a06040820152600061599260a0830186614d54565b931515606083015250608001529392505050565b602080825260069082015265131090cc0d8d60d21b604082015260600190565b602080825260069082015265262121981a1960d11b604082015260600190565b848152600084516159fe816020850160208901614d30565b808301905060018060601b0319851660208201528351615a25816034840160208801614d30565b016034019695505050505050565b600082601f830112615a4457600080fd5b8151615a526148d682614890565b818152846020838601011115615a6757600080fd5b610ee7826020830160208701614d30565b600060208284031215615a8a57600080fd5b81516001600160401b03811115615aa057600080fd5b610ee784828501615a33565b600160fd1b8152826001820152607560f81b602182015260008251615ad8816022850160208701614d30565b919091016022019392505050565b606081526000615af96060830186614d54565b8281036020840152615b0b8186614d54565b9150508215156040830152949350505050565b63ffffffff818116838216019080821115615b3b57615b3b61542b565b5092915050565b6020815260006143b16020830184614d54565b60006020808385031215615b6857600080fd5b82516001600160401b0380821115615b7f57600080fd5b818501915085601f830112615b9357600080fd5b8151615ba16148d682614c70565b81815260059190911b83018401908481019088831115615bc057600080fd5b8585015b83811015615c5b57805185811115615bdc5760008081fd5b86016080818c03601f1901811315615bf45760008081fd5b615bfc614806565b898301518881168114615c0f5760008081fd5b815260408381015189811115615c255760008081fd5b615c338f8d83880101615a33565b838d015250606084810151918301919091529190920151908201528352918601918601615bc4565b5098975050505050505050565b600060208284031215615c7a57600080fd5b5051919050565b600060808201868352602086818501528560408501526080606085015281855180845260a086019150828701935060005b81811015615cce57845183529383019391830191600101615cb2565b50909998505050505050505050565b6001600160401b03818116838216028082169190828114615d0057615d0061542b565b505092915050565b604081526000615d1b6040830185614d54565b905082151560208301529392505050565b6000808354615d3a816155ad565b60018281168015615d525760018114615d6757615d96565b60ff1984168752821515830287019450615d96565b8760005260208060002060005b85811015615d8d5781548a820152908401908201615d74565b50505082870194505b50929695505050505050565b6001600160401b03818116838216019080821115615b3b57615b3b61542b565b6020815260006143b160208301846157cf565b6000610100808352615de98184018c614d54565b90508960208401528281036040840152615e03818a614d54565b90508760608401528281036080840152615e1d8188614d54565b6001600160a01b03871660a085015283810360c08501529050615e408186614d54565b91505082151560e0830152999850505050505050505056fe3052ea2f7e0d74fdc1c1e1f858ff1ae3d91ab1609717c3efedb95db603b255f69685484093cc596fdaeab51abf645b1753dbb7d869bfd2eb21e2c646e47a36f4bfc7404e6fe464f0646fe2c6ab942b92d56be722bb39f8c6bc4830d2d32fb80da2646970667358221220969fa1da7c08ec40ca2e96e89ee8f6ecb05774f1d303151621fa54c7b48286af64736f6c63430008120033", + "deployedBytecode": "0x60806040526004361061027f5760003560e01c806304ade855146102d35780630a7bf57a146102ff5780630a9cb4a7146103145780631b032188146103335780632e1a7d4d1461035357806333f07ad31461037357806335510a7d14610388578063417055181461039d578063418663a2146103b05780634198687e146103da5780634533ac1c146103e2578063457385f2146104025780634d0ec9711461043257806354015ee01461045257806359c153be14610485578063668dbd831461049a57806369023235146104c757806369652fcf146104e75780636e2e8c70146104fc578063715018a61461051c57806372cbf4e8146105315780637b78837f146105515780638490a8df146105645780638d5979391461057a5780638da5cb5b146105915780638f91797d146105b35780639b56d6c9146105d35780639cd6557f146106095780639d79b59b1461061e5780639e81699914610647578063a0cd70fc1461064f578063a0d250371461066f578063a4a5ba501461068f578063a93bb247146106a4578063ac29d744146106bb578063ae76ce86146106ce578063ae93b67b146106e5578063bd519eff146106fc578063bd5798c314610732578063be6de4eb14610754578063c525cdd814610769578063c721316314610780578063cfb92f0a1461079b578063d0e30db0146107b2578063d6c70de8146107ba578063e1de16c6146107da578063e30e6ea3146107f0578063e5b5019a14610806578063e78cea921461081c578063e830b6901461083c578063e8fcce7114610851578063e90d2ddb14610867578063f2fde38b14610894578063f8b2cb4f146108b4578063fa88dcde146108ea578063fb32c508146108ff57600080fd5b366102ce576097546001600160a01b031633146102cc5760405162461bcd60e51b81526020600482015260066024820152654c424330303760d01b60448201526064015b60405180910390fd5b005b600080fd5b3480156102df57600080fd5b506102e8600181565b60405160ff90911681526020015b60405180910390f35b34801561030b57600080fd5b506102e8600281565b34801561032057600080fd5b5060a2545b6040519081526020016102f6565b34801561033f57600080fd5b5061032561034e366004614ae9565b61091d565b34801561035f57600080fd5b506102cc61036e366004614b1d565b61092e565b34801561037f57600080fd5b5060a154610325565b34801561039457600080fd5b506102cc610a26565b6103256103ab366004614b36565b610b54565b3480156103bc57600080fd5b506103c76101301981565b60405160019190910b81526020016102f6565b6102cc610eef565b3480156103ee57600080fd5b506102cc6103fd366004614bd2565b610f74565b34801561040e57600080fd5b5061042261041d366004614c53565b6111b3565b60405190151581526020016102f6565b34801561043e57600080fd5b5061042261044d366004614c53565b6111e9565b34801561045e57600080fd5b5061042261046d366004614b1d565b600090815260a7602052604090206001015460ff1690565b34801561049157600080fd5b506102cc61121f565b3480156104a657600080fd5b506104ba6104b5366004614c93565b61134d565b6040516102f69190614d80565b3480156104d357600080fd5b506103256104e2366004614fbd565b6116ce565b3480156104f357600080fd5b506102cc6116d9565b34801561050857600080fd5b50610325610517366004614ff1565b611784565b34801561052857600080fd5b506102cc611f6b565b34801561053d57600080fd5b506102cc61054c3660046150a5565b611f7f565b6102cc61055f3660046150d5565b612019565b34801561057057600080fd5b5061032560a25481565b34801561058657600080fd5b506103c761012c1981565b34801561059d57600080fd5b506105a661249f565b6040516102f69190615138565b3480156105bf57600080fd5b506102cc6105ce366004614b1d565b6124ae565b3480156105df57600080fd5b506103256105ee366004614c53565b6001600160a01b031660009081526099602052604090205490565b34801561061557600080fd5b506102e8600081565b34801561062a57600080fd5b506106346188b881565b60405161ffff90911681526020016102f6565b6102cc6127af565b34801561065b57600080fd5b5061032561066a36600461514c565b61282a565b34801561067b57600080fd5b5061042261068a366004615180565b61287d565b34801561069b57600080fd5b50610325600181565b3480156106b057600080fd5b506103c761012d1981565b6104226106c9366004614ae9565b6129e9565b3480156106da57600080fd5b506103c761012b1981565b3480156106f157600080fd5b506103c76103831981565b34801561070857600080fd5b50610325610717366004614c53565b6001600160a01b03166000908152609a602052604090205490565b34801561073e57600080fd5b5060a054600160201b900463ffffffff16610325565b34801561076057600080fd5b50610325600081565b34801561077557600080fd5b506103c761012e1981565b34801561078c57600080fd5b5060a05463ffffffff16610325565b3480156107a757600080fd5b506103c761012f1981565b6102cc612cfb565b3480156107c657600080fd5b506102cc6107d53660046151b6565b612d2a565b3480156107e657600080fd5b506106346108fc81565b3480156107fc57600080fd5b506103c760c71981565b34801561081257600080fd5b5061032560001981565b34801561082857600080fd5b506097546105a6906001600160a01b031681565b34801561084857600080fd5b50609e54610325565b34801561085d57600080fd5b506103c760631981565b34801561087357600080fd5b50610887610882366004614b1d565b6136f6565b6040516102f6919061528c565b3480156108a057600080fd5b506102cc6108af366004614c53565b613a21565b3480156108c057600080fd5b506103256108cf366004614c53565b6001600160a01b031660009081526098602052604090205490565b3480156108f657600080fd5b50609f54610325565b34801561090b57600080fd5b506097546001600160a01b03166105a6565b600061092882613a97565b92915050565b3360009081526098602052604090205481111561095d5760405162461bcd60e51b81526004016102c39061540b565b336000908152609860205260408120805483929061097c908490615441565b9091555050604051600090339083908381818185875af1925050503d80600081146109c3576040519150601f19603f3d011682016040523d82523d6000602084013e6109c8565b606091505b50509050806109e95760405162461bcd60e51b81526004016102c390615454565b7f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b653383604051610a1a929190615474565b60405180910390a15050565b336000908152609d6020526040902054610a525760405162461bcd60e51b81526004016102c39061548d565b60a054336000908152609d6020526040902054600160201b90910463ffffffff1690610a7e9043615441565b1015610a9c5760405162461bcd60e51b81526004016102c3906154ad565b336000818152609a60209081526040808320805490849055609d9092528083208390555190929083908381818185875af1925050503d8060008114610afd576040519150601f19603f3d011682016040523d82523d6000602084013e610b02565b606091505b5050905080610b235760405162461bcd60e51b81526004016102c390615454565b7ffc72299650b405e7b0480ca8fb0fb3948fb10a77ac02f797cc9de1f4aaa55db73383604051610a1a929190615474565b6000323314610b8e5760405162461bcd60e51b81526020600482015260066024820152654c424330303360d01b60448201526064016102c3565b610b99858584613cff565b33600090815260996020526040902054158015610bc35750336000908152609a6020526040902054155b610bf85760405162461bcd60e51b815260206004820152600660248201526504c42433037360d41b60448201526064016102c3565b336000908152609d602052604090205415610c3e5760405162461bcd60e51b81526020600482015260066024820152654c424330303960d01b60448201526064016102c3565b604051602001610c4d906154cd565b6040516020818303038152906040528051906020012082604051602001610c7491906154de565b6040516020818303038152906040528051906020012003610cc857609e54341015610cb15760405162461bcd60e51b81526004016102c3906154fa565b336000908152609960205260409020349055610dcd565b604051602001610cd79061551a565b6040516020818303038152906040528051906020012082604051602001610cfe91906154de565b6040516020818303038152906040528051906020012003610d5257609e54341015610d3b5760405162461bcd60e51b81526004016102c3906154fa565b336000908152609a60205260409020349055610dcd565b609e54610d6090600261552c565b341015610d7f5760405162461bcd60e51b81526004016102c3906154fa565b6000610d8c600234615559565b9050610d9960023461556d565b15610dae57610da9816001615581565b610db0565b805b33600090815260996020908152604080832093909355609a905220555b60a28054906000610ddd83615594565b90915550506040805160c08101825260a2548082523360208084019182528385018a8152606085018a9052881515608086015260a085018890526000938452609b909152939091208251815590516001820180546001600160a01b0319166001600160a01b0390921691909117905591519091906002820190610e609082615635565b5060608201516003820190610e759082615635565b50608082015160048201805460ff191691151591909117905560a08201516005820190610ea29082615635565b505060a254604080519182523460208301523392507fa9d44d6e13bb3fee938c3f66d1103e91f8dc6b12d4405a55eea558e8f275aa6e910160405180910390a25060a2545b949350505050565b610ef833613ea6565b610f145760405162461bcd60e51b81526004016102c3906156f4565b336000908152609a602052604081208054349290610f33908490615581565b90915550506040517f873d5a2949567203ad4f0cceef41c2813c87b9a397ee777d87a8acdaec2c6fa990610f6a9033903490615474565b60405180910390a1565b600054610100900460ff1615808015610f945750600054600160ff909116105b80610fae5750303b158015610fae575060005460ff166001145b6110115760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016102c3565b6000805460ff191660011790558015611034576000805461ff0019166101001790555b60648663ffffffff1611156110745760405162461bcd60e51b8152602060048201526006602482015265131090cc0c0d60d21b60448201526064016102c3565b666a94d74f4300008810156110b45760405162461bcd60e51b8152602060048201526006602482015265262121981b9960d11b60448201526064016102c3565b603c8563ffffffff1610156110f45760405162461bcd60e51b81526020600482015260066024820152654c424330373360d01b60448201526064016102c3565b6110fc613ee5565b609780546001600160a01b038b166001600160a01b0319909116179055609e889055609f87905560a0805463ffffffff878116600160201b026001600160401b03199092169089161717905560a184905560a383905560a4805483151560ff1990911617905580156111a8576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050565b60006111be82613f59565b80156109285750609e546001600160a01b038316600090815260996020526040902054101592915050565b60006111f482613ea6565b80156109285750609e546001600160a01b0383166000908152609a6020526040902054101592915050565b336000908152609d602052604090205461124b5760405162461bcd60e51b81526004016102c39061548d565b60a054336000908152609d6020526040902054600160201b90910463ffffffff16906112779043615441565b10156112955760405162461bcd60e51b81526004016102c3906154ad565b336000818152609960209081526040808320805490849055609d9092528083208390555190929083908381818185875af1925050503d80600081146112f6576040519150601f19603f3d011682016040523d82523d6000602084013e6112fb565b606091505b505090508061131c5760405162461bcd60e51b81526004016102c390615454565b7fa8e76b822fc682be77f3b1c822ea81f6bda5aed92ba82e6873bfd889f328d1d23383604051610a1a929190615474565b6060600082516001600160401b0381111561136a5761136a6147a4565b6040519080825280602002602001820160405280156113df57816020015b6113cc6040518060c001604052806000815260200160006001600160a01b031681526020016060815260200160608152602001600015158152602001606081525090565b8152602001906001900390816113885790505b5090506000805b84518110156116c557600085828151811061140357611403615714565b6020908102919091018101516000818152609b909252604090912060010154909150611437906001600160a01b0316613f59565b8061146157506000818152609b6020526040902060010154611461906001600160a01b0316613ea6565b801561147e57506000818152609b602052604090206004015460ff165b156116b2576000818152609b6020908152604091829020825160c0810184528154815260018201546001600160a01b03169281019290925260028101805492939192918401916114cd906155ad565b80601f01602080910402602001604051908101604052809291908181526020018280546114f9906155ad565b80156115465780601f1061151b57610100808354040283529160200191611546565b820191906000526020600020905b81548152906001019060200180831161152957829003601f168201915b5050505050815260200160038201805461155f906155ad565b80601f016020809104026020016040519081016040528092919081815260200182805461158b906155ad565b80156115d85780601f106115ad576101008083540402835291602001916115d8565b820191906000526020600020905b8154815290600101906020018083116115bb57829003601f168201915b5050509183525050600482015460ff1615156020820152600582018054604090920191611604906155ad565b80601f0160208091040260200160405190810160405280929190818152602001828054611630906155ad565b801561167d5780601f106116525761010080835404028352916020019161167d565b820191906000526020600020905b81548152906001019060200180831161166057829003601f168201915b50505050508152505084848151811061169857611698615714565b602002602001018190525082806116ae90615594565b9350505b50806116bd81615594565b9150506113e6565b50909392505050565b600061092882613f98565b6116e233613f59565b6116fe5760405162461bcd60e51b81526004016102c3906156f4565b336000908152609d6020526040902054156117445760405162461bcd60e51b81526020600482015260066024820152654c424330323360d01b60448201526064016102c3565b336000818152609d602052604090819020439055517fa6674aa33cd1b7435474751667707bf05fde99e537d67043ec5f907782577d8691610f6a91615138565b600061178e614014565b600061179987613a97565b600081815260a56020526040902054909150600160ff90911611156117d05760405162461bcd60e51b81526004016102c39061572a565b60408088015190516301a86b5560e41b815273__SignatureValidator____________________91631a86b5509161180f919085908b9060040161574a565b602060405180830381865af415801561182c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118509190615771565b61186c5760405162461bcd60e51b81526004016102c39061578e565b637fffffff83106118a85760405162461bcd60e51b815260206004820152600660248201526504c42433033360d41b60448201526064016102c3565b60006118b7888787878661406d565b905061012f81016118f35760405162461bcd60e51b81526020600482015260066024820152654c424330333160d01b60448201526064016102c3565b61012e810161192d5760405162461bcd60e51b815260206004820152600660248201526526212198199960d11b60448201526064016102c3565b61013081016119675760405162461bcd60e51b81526020600482015260066024820152654c424330333360d01b60448201526064016102c3565b61013181016119a15760405162461bcd60e51b8152602060048201526006602482015265131090cc0ccd60d21b60448201526064016102c3565b61038481016119db5760405162461bcd60e51b81526020600482015260066024820152654c424330333560d01b60448201526064016102c3565b60008113806119eb575060c71981145b806119f7575060631981145b611a2c5760405162461bcd60e51b815260206004820152600660248201526526212198199b60d11b60448201526064016102c3565b6000828152609c6020526040902054611a4f908990839063ffffffff168761413f565b15611b205760e08801516040808a01516001600160a01b031660009081526099602052908120549091611a81916143a0565b905080609960008b604001516001600160a01b03166001600160a01b031681526020019081526020016000206000828254611abc9190615441565b90915550506040808a01519051600080516020615e7983398151915291611ae691849087906157ae565b60405180910390a160a054600090606490611b079063ffffffff168461552c565b611b119190615559565b9050611b1d33826143b8565b50505b60c719811480611b31575060631981145b15611ba557600082815260a560209081526040808320805460ff19166002179055609c825291829020805464ffffffffff1916905581518481529081018390527ffb209329d5ab5b7bcb2e92f45f4534814b6e68fa5ad1f171dabc1d17d26f0ebe910160405180910390a19150611f589050565b60405162e7a37960e21b8152819073__Quotes________________________________9063039e8de490611bdf908c908590600401615923565b60006040518083038186803b158015611bf757600080fd5b505af4158015611c0b573d6000803e3d6000fd5b5050506000848152609c602052604090205463ffffffff16159050611d4c576000838152609c6020526040812054600160201b900460ff1615611c6d57611c66828b60c001518c6101800151611c619190615581565b6143a0565b9050611c7e565b611c7b828b60c001516143a0565b90505b611c8c8a60400151826143b8565b6000611c988284615441565b905060a154811115611d455760808b01516040516000916001600160a01b0316906108fc90849084818181858888f193505050503d8060008114611cf8576040519150601f19603f3d011682016040523d82523d6000602084013e611cfd565b606091505b50509050600080516020615e598339815191528c60800151838389604051611d289493929190615945565b60405180910390a180611d4357611d438c60400151836143b8565b505b5050611ef1565b61022089015181908015611d6557508961018001518110155b15611e575760008a61010001516001600160a01b03168b610140015163ffffffff168c61018001518d6101200151604051611da091906154de565b600060405180830381858888f193505050503d8060008114611dde576040519150601f19603f3d011682016040523d82523d6000602084013e611de3565b606091505b505090508a61010001516001600160a01b0316336001600160a01b0316600080516020615e998339815191528d61014001518e61018001518f6101200151868b604051611e3495949392919061596d565b60405180910390a38015611e55576101808b0151611e529083615441565b91505b505b60a154811115611eef5760808a01516040516000916001600160a01b0316906108fc90849084818181858888f193505050503d8060008114611eb5576040519150601f19603f3d011682016040523d82523d6000602084013e611eba565b606091505b50509050600080516020615e598339815191528b60800151838388604051611ee59493929190615945565b60405180910390a1505b505b600083815260a560209081526040808320805460ff19166002179055609c825291829020805464ffffffffff19169055905183815284917f0629ae9d1dc61501b0ca90670a9a9b88daaf7504b54537b53e1219de794c63d2910160405180910390a2509150505b611f626001606555565b95945050505050565b611f73614417565b611f7d6000614476565b565b81611f8861249f565b6001600160a01b0316336001600160a01b03161480611fc057506000818152609b60205260409020600101546001600160a01b031633145b611ff55760405162461bcd60e51b81526020600482015260066024820152654c424330303560d01b60448201526064016102c3565b506000918252609b6020526040909120600401805460ff1916911515919091179055565b6120268260200151613ea6565b61205b5760405162461bcd60e51b81526020600482015260066024820152654c424330333760d01b60448201526064016102c3565b348260a001518361012001516120719190615581565b11156120a85760405162461bcd60e51b81526020600482015260066024820152654c424330363360d01b60448201526064016102c3565b81610160015163ffffffff164211156120ec5760405162461bcd60e51b81526020600482015260066024820152654c424330363560d01b60448201526064016102c3565b816101e0015163ffffffff164211156121305760405162461bcd60e51b8152602060048201526006602482015265262121981a1b60d11b60448201526064016102c3565b81610200015163ffffffff164311156121745760405162461bcd60e51b81526020600482015260066024820152654c424330343760d01b60448201526064016102c3565b600061217f836116ce565b60208401516040516301a86b5560e41b815291925073__SignatureValidator____________________91631a86b550916121c0918590879060040161574a565b602060405180830381865af41580156121dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122019190615771565b61221d5760405162461bcd60e51b81526004016102c39061578e565b600081815260a66020908152604080832060a79092529091206001015460ff161561225a5760405162461bcd60e51b81526004016102c3906159a6565b80546001600160a01b0316156122825760405162461bcd60e51b81526004016102c39061572a565b600082815260a66020908152604091829020865181546001600160a01b03199081166001600160a01b03928316178355928801516001830180549094169116179091559085015185919060028201906122db9082615635565b5060608201516003820180546001600160a01b0319166001600160a01b03909216919091179055608082015160048201906123169082615635565b5060a0820151600582015560c0820151600682015560e08201516007820180546001600160401b0319166001600160401b0390921691909117905561010082015160088201906123669082615635565b506101208201516009820155610140820151600a90910180546101608401516101808501516101a08601516101c08701516101e08801516102009098015163ffffffff9788166001600160401b031990961695909517600160201b948816949094029390931763ffffffff60401b1916600160401b61ffff9384160261ffff60501b191617600160501b929091169190910217600160601b600160a01b031916600160601b9185169190910263ffffffff60801b191617600160801b948416949094029390931763ffffffff60a01b1916600160a01b9290931691909102919091179055600082815260a760209081526040918290204290819055825134815291820152339184917fb1bc7bfc0dab19777eb03aa0a5643378fc9f186c8fc5a36620d21136fbea570f910160405180910390a350505050565b6033546001600160a01b031690565b6124b6614014565b600081815260a66020526040902080546001600160a01b03166124eb5760405162461bcd60e51b81526004016102c3906159c6565b600a810154600160801b900463ffffffff164211801561251b5750600a810154600160a01b900463ffffffff1643115b6125505760405162461bcd60e51b81526020600482015260066024820152654c424330343160d01b60448201526064016102c3565b6000816005015482600901546125669190615581565b6003830154600684015460018501546001600160a01b039081166000908152609a602052604081205494955092169261259f91906143a0565b60018501546001600160a01b03166000908152609a60205260408120805492935083929091906125d0908490615441565b90915550506001840154604051600080516020615e7983398151915291612606916001600160a01b0390911690849089906157ae565b60405180910390a16003840154604080518581526001600160a01b03909216602083015286917f9ccbeffc442024e2a6ade18ff0978af9a4c4d6562ae38adb51ccf8256cf42b41910160405180910390a2600085815260a66020526040812080546001600160a01b0319908116825560018201805490911690559061268e6002830182614756565b6003820180546001600160a01b03191690556126ae600483016000614756565b600060058301819055600683018190556007830180546001600160401b03191690556126de906008840190614756565b50600060098201819055600a90910180546001600160c01b031916905585815260a760205260408082206001908101805460ff19169091179055516001600160a01b0384169085908381818185875af1925050503d806000811461275e576040519150601f19603f3d011682016040523d82523d6000602084013e612763565b606091505b505090508061279d5760405162461bcd60e51b8152602060048201526006602482015265131090cc0d0d60d21b60448201526064016102c3565b50505050506127ac6001606555565b50565b6127b833613f59565b6127d45760405162461bcd60e51b81526004016102c3906156f4565b33600090815260996020526040812080543492906127f3908490615581565b90915550506040517f456e0f4ea86ac283092c750200e8c877f6ad8901ae575f90e02081acd455af8490610f6a9033903490615474565b600081516050146128665760405162461bcd60e51b81526020600482015260066024820152654c424330363160d01b60448201526064016102c3565b6128718260446144c8565b63ffffffff1692915050565b6000806128898461091d565b8460600151856020015160601b8660a001516040516020016128ae94939291906159e6565b604051602081830303815290604052805190602001209050600081609760009054906101000a90046001600160a01b03166001600160a01b0316631d73d5dd6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561291c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526129449190810190615a78565b604051602001612955929190615aac565b60408051601f198184030181529082905260a454639b02794b60e01b835290925073__BtcUtils______________________________91639b02794b916129a8918891869160ff90911690600401615ae6565b602060405180830381865af41580156129c5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f629190615771565b60006129f433613f59565b612a105760405162461bcd60e51b81526004016102c3906156f4565b612a18614014565b81604001516001600160a01b0316336001600160a01b031614612a665760405162461bcd60e51b8152602060048201526006602482015265131090cc0c8d60d21b60448201526064016102c3565b6101808201516040808401516001600160a01b0316600090815260986020522054612a92903490615581565b1015612ab05760405162461bcd60e51b81526004016102c39061540b565b6000612abb83613a97565b600081815260a5602052604090205490915060ff1615612b065760405162461bcd60e51b81526020600482015260066024820152654c424330323560d01b60448201526064016102c3565b612b148360400151346143b8565b610140830151612b27906188b890615b1e565b63ffffffff165a1015612b655760405162461bcd60e51b815260206004820152600660248201526526212198191b60d11b60448201526064016102c3565b60008361010001516001600160a01b031684610140015163ffffffff16856101800151866101200151604051612b9b91906154de565b600060405180830381858888f193505050503d8060008114612bd9576040519150601f19603f3d011682016040523d82523d6000602084013e612bde565b606091505b509091505063ffffffff421115612c205760405162461bcd60e51b81526020600482015260066024820152654c424330323760d01b60448201526064016102c3565b6000828152609c60205260409020805463ffffffff19164263ffffffff161790558015612c7b576000828152609c602052604090819020805460ff60201b1916600160201b179055840151610180850151612c7b91906145b2565b8361010001516001600160a01b0316336001600160a01b0316600080516020615e998339815191528661014001518761018001518861012001518688604051612cc895949392919061596d565b60405180910390a3600091825260a56020526040909120805460ff191660011790559050612cf66001606555565b919050565b612d0433613f59565b612d205760405162461bcd60e51b81526004016102c3906156f4565b611f7d33346143b8565b612d32614014565b612d3b33613ea6565b612d575760405162461bcd60e51b81526004016102c3906156f4565b600085815260a7602052604090206001015460ff1615612d895760405162461bcd60e51b81526004016102c3906159a6565b600085815260a66020526040902080546001600160a01b0316612dbe5760405162461bcd60e51b81526004016102c3906159c6565b60405162f5b49160e01b815260009073__BtcUtils______________________________9062f5b49190612df6908990600401615b42565b600060405180830381865af4158015612e13573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612e3b9190810190615b55565b9050600073__BtcUtils______________________________632d56f32383600181518110612e6c57612e6c615714565b6020026020010151602001516040518263ffffffff1660e01b8152600401612e949190615b42565b600060405180830381865af4158015612eb1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612ed99190810190615a78565b806020019051810190612eec9190615c68565b9050808814612f265760405162461bcd60e51b81526020600482015260066024820152654c424330363960d01b60448201526064016102c3565b60018301546001600160a01b03163314612f6b5760405162461bcd60e51b815260206004820152600660248201526509884866068760d31b60448201526064016102c3565b600a83015460975460405163fea8ba6360e01b8152600160501b90920461ffff16916001600160a01b0390911690635b6445879073__BtcUtils______________________________9063fea8ba6390612fc9908d90600401615b42565b602060405180830381865af4158015612fe6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061300a9190615c68565b8989896040518563ffffffff1660e01b815260040161302c9493929190615c81565b602060405180830381865afa158015613049573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061306d9190615c68565b12156130a45760405162461bcd60e51b81526020600482015260066024820152654c424330343960d01b60448201526064016102c3565b816000815181106130b7576130b7615714565b6020026020010151600001516402540be4006130d39190615cdd565b6001600160401b0316836009015411156131185760405162461bcd60e51b81526020600482015260066024820152654c424330363760d01b60448201526064016102c3565b600073__BtcUtils______________________________634c03fe598460008151811061314757613147615714565b602090810291909101810151015160a4546040516001600160e01b031960e085901b16815261317d929160ff1690600401615d08565b600060405180830381865af415801561319a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526131c29190810190615a78565b90508080519060200120846008016040516131dd9190615d2c565b60405180910390201461321b5760405162461bcd60e51b81526020600482015260066024820152650988486606c760d31b60448201526064016102c3565b604080516102208101825285546001600160a01b03908116825260018701541660208201526002860180546134b693889290840191613259906155ad565b80601f0160208091040260200160405190810160405280929190818152602001828054613285906155ad565b80156132d25780601f106132a7576101008083540402835291602001916132d2565b820191906000526020600020905b8154815290600101906020018083116132b557829003601f168201915b505050918352505060038201546001600160a01b03166020820152600482018054604090920191613302906155ad565b80601f016020809104026020016040519081016040528092919081815260200182805461332e906155ad565b801561337b5780601f106133505761010080835404028352916020019161337b565b820191906000526020600020905b81548152906001019060200180831161335e57829003601f168201915b50505091835250506005820154602082015260068201546040820152600780830154900b60608201526008820180546080909201916133b9906155ad565b80601f01602080910402602001604051908101604052809291908181526020018280546133e5906155ad565b80156134325780601f1061340757610100808354040283529160200191613432565b820191906000526020600020905b81548152906001019060200180831161341557829003601f168201915b505050918352505060098201546020820152600a9091015463ffffffff8082166040840152600160201b82048116606084015261ffff600160401b830481166080850152600160501b83041660a0840152600160601b8204811660c0840152600160801b8204811660e0840152600160a01b90910416610100909101528389614611565b1561355957600684015460018501546001600160a01b03166000908152609a602052604081205490916134e8916143a0565b60018601546001600160a01b03166000908152609a6020526040812080549293508392909190613519908490615441565b90915550506001850154604051600080516020615e798339815191529161354f916001600160a01b0390911690849087906157ae565b60405180910390a1505b6001840154600585015460098601546000926001600160a01b03169161357e91615581565b604051600081818185875af1925050503d80600081146135ba576040519150601f19603f3d011682016040523d82523d6000602084013e6135bf565b606091505b50509050806135f95760405162461bcd60e51b815260206004820152600660248201526504c42433035360d41b60448201526064016102c3565b600083815260a66020526040812080546001600160a01b031990811682556001820180549091169055906136306002830182614756565b6003820180546001600160a01b0319169055613650600483016000614756565b600060058301819055600683018190556007830180546001600160401b0319169055613680906008840190614756565b50600060098201819055600a90910180546001600160c01b031916905583815260a760205260408082206001908101805460ff191690911790555184917fb781856ec73fd0dc39351043d1634ea22cd3277b0866ab93e7ec1801766bb38491a250505050506136ef6001606555565b5050505050565b6040805161022080820183526000808352602080840182905260608486018190528085018390526080850181905260a0850183905260c0850183905260e0850183905261010085015261012084018290526101408401829052610160840182905261018084018290526101a084018290526101c084018290526101e08401829052610200840182905285825260a68152908490208451928301855280546001600160a01b039081168452600182015416918301919091526002810180549394929391928401916137c5906155ad565b80601f01602080910402602001604051908101604052809291908181526020018280546137f1906155ad565b801561383e5780601f106138135761010080835404028352916020019161383e565b820191906000526020600020905b81548152906001019060200180831161382157829003601f168201915b505050918352505060038201546001600160a01b0316602082015260048201805460409092019161386e906155ad565b80601f016020809104026020016040519081016040528092919081815260200182805461389a906155ad565b80156138e75780601f106138bc576101008083540402835291602001916138e7565b820191906000526020600020905b8154815290600101906020018083116138ca57829003601f168201915b50505091835250506005820154602082015260068201546040820152600780830154900b6060820152600882018054608090920191613925906155ad565b80601f0160208091040260200160405190810160405280929190818152602001828054613951906155ad565b801561399e5780601f106139735761010080835404028352916020019161399e565b820191906000526020600020905b81548152906001019060200180831161398157829003601f168201915b505050918352505060098201546020820152600a9091015463ffffffff8082166040840152600160201b82048116606084015261ffff600160401b830481166080850152600160501b83041660a0840152600160601b8204811660c0840152600160801b8204811660e0840152600160a01b909104166101009091015292915050565b613a29614417565b6001600160a01b038116613a8e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102c3565b6127ac81614476565b600081602001516001600160a01b0316306001600160a01b031614613ae75760405162461bcd60e51b81526020600482015260066024820152654c424330353160d01b60448201526064016102c3565b6101008201516097546001600160a01b03918216911603613b335760405162461bcd60e51b8152602060048201526006602482015265262121981a9960d11b60448201526064016102c3565b81606001515160151480613b4c57508160600151516021145b613b815760405162461bcd60e51b81526020600482015260066024820152654c424330353360d01b60448201526064016102c3565b8160a0015151601514613bbf5760405162461bcd60e51b8152602060048201526006602482015265131090cc0d4d60d21b60448201526064016102c3565b609f548260c00151836101800151613bd79190615581565b1015613c0e5760405162461bcd60e51b81526020600482015260066024820152654c424330353560d01b60448201526064016102c3565b816101c0015163ffffffff16826101a0015163ffffffff16613c309190615da2565b6001600160401b031663ffffffff1015613c755760405162461bcd60e51b81526020600482015260066024820152654c424330373160d01b60448201526064016102c3565b604051630fdeb30b60e21b815273__Quotes________________________________90633f7acc2c90613cac908590600401615dc2565b600060405180830381865af4158015613cc9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613cf19190810190615a78565b805190602001209050919050565b6000835111613d395760405162461bcd60e51b815260206004820152600660248201526504c42433031360d41b60448201526064016102c3565b6000825111613d735760405162461bcd60e51b81526020600482015260066024820152654c424330313760d01b60448201526064016102c3565b604051602001613d82906154cd565b6040516020818303038152906040528051906020012081604051602001613da991906154de565b604051602081830303815290604052805190602001201480613e145750604051602001613dd59061551a565b6040516020818303038152906040528051906020012081604051602001613dfc91906154de565b60405160208183030381529060405280519060200120145b80613e6c5750604051630c4dee8d60e31b60208201526024016040516020818303038152906040528051906020012081604051602001613e5491906154de565b60405160208183030381529060405280519060200120145b613ea15760405162461bcd60e51b815260206004820152600660248201526509884866062760d31b60448201526064016102c3565b505050565b6001600160a01b0381166000908152609a6020526040812054158015906109285750506001600160a01b03166000908152609d60205260409020541590565b600054610100900460ff16613f505760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016102c3565b611f7d33614476565b6001600160a01b038116600090815260996020526040812054158015906109285750506001600160a01b03166000908152609d60205260409020541590565b80516000906001600160a01b03163014613fdd5760405162461bcd60e51b8152602060048201526006602482015265262121981a9b60d11b60448201526064016102c3565b60405163fb19b88b60e01b815273__Quotes________________________________9063fb19b88b90613cac90859060040161528c565b6002606554036140665760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102c3565b6002606555565b609754606086015160a08701516000848152609c602052604081205490936001600160a01b031692636adc013392899288928a92899230919063ffffffff16158015906140cf575060008b8152609c6020526040902054600160201b900460ff165b6040518963ffffffff1660e01b81526004016140f2989796959493929190615dd5565b6020604051808303816000875af1158015614111573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141359190615c68565b9695505050505050565b6000808413801561416357508460c001518561018001516141609190615581565b84105b1561417057506000610ee7565b60975460405163bd0c1fff60e01b8152600481018490526000916001600160a01b03169063bd0c1fff90602401600060405180830381865afa1580156141ba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526141e29190810190615a78565b9050600081511161422c5760405162461bcd60e51b8152602060048201526014602482015273125b9d985b1a5908189b1bd8dac81a195a59da1d60621b60448201526064016102c3565b60006142378261282a565b90506000876101c00151886101a001516142519190615b1e565b63ffffffff1690508082111561426d5760009350505050610ee7565b856000036142815760019350505050610ee7565b6097546102008901516000916001600160a01b03169063bd0c1fff906001906142ae9061ffff168a615581565b6142b89190615441565b6040518263ffffffff1660e01b81526004016142d691815260200190565b600060405180830381865afa1580156142f3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261431b9190810190615a78565b905060008151116143575760405162461bcd60e51b81526020600482015260066024820152650988486606a760d31b60448201526064016102c3565b60006143628261282a565b9050896101e0015163ffffffff168161437b9190615581565b88111561439057600195505050505050610ee7565b5060009998505050505050505050565b60008183106143af57816143b1565b825b9392505050565b6001600160a01b038216600090815260986020526040812080548392906143e0908490615581565b90915550506040517f42cfb81a915ac5a674852db250bf722637bee705a267633b68cab3a2dde06f5390610a1a9084908490615474565b3361442061249f565b6001600160a01b031614611f7d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102c3565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006144d5826004615581565b8351101561450e5760405162461bcd60e51b8152602060048201526006602482015265262121981b1960d11b60448201526064016102c3565b60188361451c846003615581565b8151811061452c5761452c615714565b016020015160f81c901b601084614544856002615581565b8151811061455457614554615714565b016020015160f81c901b60088561456c866001615581565b8151811061457c5761457c615714565b0160200151865160f89190911c90911b9086908690811061459f5761459f615714565b016020015160f81c171717905092915050565b6001600160a01b038216600090815260986020526040812080548392906145da908490615441565b90915550506040517f8e51a4493a6f66c76e13fd9e3b754eafbfe21343c04508deb61be8ccc006458790610a1a9084908490615474565b6097546040516339cf1b2560e11b81526004810183905260009182916001600160a01b039091169063739e364a90602401600060405180830381865afa15801561465f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526146879190810190615a78565b905060008151116146c35760405162461bcd60e51b81526020600482015260066024820152654c424330353960d01b60448201526064016102c3565b60006146ce8261282a565b60a3546101c0880151600088815260a7602052604090205492935090916146fb9163ffffffff1690615581565b6147059190615581565b811115614717576001925050506143b1565b856101e0015163ffffffff1642118061473a575085610200015163ffffffff1643115b1561474a576001925050506143b1565b50600095945050505050565b508054614762906155ad565b6000825580601f10614772575050565b601f0160209004906000526020600020908101906127ac91905b808211156147a0576000815560010161478c565b5090565b634e487b7160e01b600052604160045260246000fd5b60405161024081016001600160401b03811182821017156147dd576147dd6147a4565b60405290565b60405161022081016001600160401b03811182821017156147dd576147dd6147a4565b604051608081016001600160401b03811182821017156147dd576147dd6147a4565b604051601f8201601f191681016001600160401b0381118282101715614850576148506147a4565b604052919050565b80356001600160601b031981168114612cf657600080fd5b6001600160a01b03811681146127ac57600080fd5b8035612cf681614870565b60006001600160401b038211156148a9576148a96147a4565b50601f01601f191660200190565b600082601f8301126148c857600080fd5b81356148db6148d682614890565b614828565b8181528460208386010111156148f057600080fd5b816020850160208301376000918101602001919091529392505050565b803563ffffffff81168114612cf657600080fd5b8035600781900b8114612cf657600080fd5b803561ffff81168114612cf657600080fd5b80151581146127ac57600080fd5b8035612cf681614945565b6000610240828403121561497157600080fd5b6149796147ba565b905061498482614858565b815261499260208301614885565b60208201526149a360408301614885565b604082015260608201356001600160401b03808211156149c257600080fd5b6149ce858386016148b7565b60608401526149df60808501614885565b608084015260a08401359150808211156149f857600080fd5b614a04858386016148b7565b60a084015260c084013560c084015260e084013560e08401526101009150614a2d828501614885565b8284015261012091508184013581811115614a4757600080fd5b614a53868287016148b7565b83850152505050610140614a6881840161490d565b90820152610160614a7a838201614921565b9082015261018082810135908201526101a0614a9781840161490d565b908201526101c0614aa983820161490d565b908201526101e0614abb83820161490d565b90820152610200614acd838201614933565b90820152610220614adf838201614953565b9082015292915050565b600060208284031215614afb57600080fd5b81356001600160401b03811115614b1157600080fd5b610ee78482850161495e565b600060208284031215614b2f57600080fd5b5035919050565b60008060008060808587031215614b4c57600080fd5b84356001600160401b0380821115614b6357600080fd5b614b6f888389016148b7565b95506020870135915080821115614b8557600080fd5b614b91888389016148b7565b945060408701359150614ba382614945565b90925060608601359080821115614bb957600080fd5b50614bc6878288016148b7565b91505092959194509250565b600080600080600080600080610100898b031215614bef57600080fd5b8835614bfa81614870565b97506020890135965060408901359550614c1660608a0161490d565b9450614c2460808a0161490d565b935060a0890135925060c0890135915060e0890135614c4281614945565b809150509295985092959890939650565b600060208284031215614c6557600080fd5b81356143b181614870565b60006001600160401b03821115614c8957614c896147a4565b5060051b60200190565b60006020808385031215614ca657600080fd5b82356001600160401b03811115614cbc57600080fd5b8301601f81018513614ccd57600080fd5b8035614cdb6148d682614c70565b81815260059190911b82018301908381019087831115614cfa57600080fd5b928401925b82841015614d1857833582529284019290840190614cff565b979650505050505050565b6001600160a01b03169052565b60005b83811015614d4b578181015183820152602001614d33565b50506000910152565b60008151808452614d6c816020860160208601614d30565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015614e4157888303603f19018552815180518452878101516001600160a01b0316888501528681015160c088860181905290614de882870182614d54565b91505060608083015186830382880152614e028382614d54565b925050506080808301511515818701525060a08083015192508582038187015250614e2d8183614d54565b968901969450505090860190600101614da7565b509098975050505050505050565b60006102208284031215614e6257600080fd5b614e6a6147e3565b9050614e7582614885565b8152614e8360208301614885565b602082015260408201356001600160401b0380821115614ea257600080fd5b614eae858386016148b7565b6040840152614ebf60608501614885565b60608401526080840135915080821115614ed857600080fd5b614ee4858386016148b7565b608084015260a084013560a084015260c084013560c0840152614f0960e08501614921565b60e084015261010091508184013581811115614f2457600080fd5b614f30868287016148b7565b83850152505050610120808301358183015250610140614f5181840161490d565b90820152610160614f6383820161490d565b90820152610180614f75838201614933565b908201526101a0614f87838201614933565b908201526101c0614f9983820161490d565b908201526101e0614fab83820161490d565b90820152610200614adf83820161490d565b600060208284031215614fcf57600080fd5b81356001600160401b03811115614fe557600080fd5b610ee784828501614e4f565b600080600080600060a0868803121561500957600080fd5b85356001600160401b038082111561502057600080fd5b61502c89838a0161495e565b9650602088013591508082111561504257600080fd5b61504e89838a016148b7565b9550604088013591508082111561506457600080fd5b61507089838a016148b7565b9450606088013591508082111561508657600080fd5b50615093888289016148b7565b95989497509295608001359392505050565b600080604083850312156150b857600080fd5b8235915060208301356150ca81614945565b809150509250929050565b600080604083850312156150e857600080fd5b82356001600160401b03808211156150ff57600080fd5b61510b86838701614e4f565b9350602085013591508082111561512157600080fd5b5061512e858286016148b7565b9150509250929050565b6001600160a01b0391909116815260200190565b60006020828403121561515e57600080fd5b81356001600160401b0381111561517457600080fd5b610ee7848285016148b7565b6000806040838503121561519357600080fd5b82356001600160401b03808211156151aa57600080fd5b61510b8683870161495e565b600080600080600060a086880312156151ce57600080fd5b853594506020808701356001600160401b03808211156151ed57600080fd5b6151f98a838b016148b7565b96506040890135955060608901359450608089013591508082111561521d57600080fd5b508701601f8101891361522f57600080fd5b803561523d6148d682614c70565b81815260059190911b8201830190838101908b83111561525c57600080fd5b928401925b8284101561527a57833582529284019290840190615261565b80955050505050509295509295909350565b6020815261529e602082018351614d23565b600060208301516152b26040840182614d23565b5060408301516102208060608501526152cf610240850183614d54565b915060608501516152e36080860182614d23565b506080850151601f19808685030160a08701526153008483614d54565b935060a087015160c087015260c087015160e087015260e0870151915061010061532e8188018460070b9052565b8088015192505061012081878603018188015261534b8584614d54565b9088015161014088810191909152880151909450915061016090506153778187018363ffffffff169052565b86015190506101806153908682018363ffffffff169052565b86015190506101a06153a78682018361ffff169052565b86015190506101c06153be8682018361ffff169052565b86015190506101e06153d78682018363ffffffff169052565b86015190506102006153f08682018363ffffffff169052565b86015163ffffffff81168387015290505b5090949350505050565b6020808252600690820152654c424330313960d01b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156109285761092861542b565b60208082526006908201526504c42433032360d41b604082015260600190565b6001600160a01b03929092168252602082015260400190565b6020808252600690820152654c424330323160d01b604082015260600190565b60208082526006908201526526212198191960d11b604082015260600190565b643832b3b4b760d91b815260050190565b600082516154f0818460208701614d30565b9190910192915050565b60208082526006908201526509884866060760d31b604082015260600190565b651c1959dbdd5d60d21b815260060190565b80820281158282048414176109285761092861542b565b634e487b7160e01b600052601260045260246000fd5b60008261556857615568615543565b500490565b60008261557c5761557c615543565b500690565b808201808211156109285761092861542b565b6000600182016155a6576155a661542b565b5060010190565b600181811c908216806155c157607f821691505b6020821081036155e157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115613ea157600081815260208120601f850160051c8101602086101561560e5750805b601f850160051c820191505b8181101561562d5782815560010161561a565b505050505050565b81516001600160401b0381111561564e5761564e6147a4565b6156628161565c84546155ad565b846155e7565b602080601f831160018114615697576000841561567f5750858301515b600019600386901b1c1916600185901b17855561562d565b600085815260208120601f198616915b828110156156c6578886015182559484019460019091019084016156a7565b50858210156156e45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020808252600690820152654c424330303160d01b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60208082526006908201526509884866064760d31b604082015260600190565b60018060a01b0384168152826020820152606060408201526000611f626060830184614d54565b60006020828403121561578357600080fd5b81516143b181614945565b6020808252600690820152654c424330323960d01b604082015260600190565b6001600160a01b039390931683526020830191909152604082015260600190565b80516001600160601b0319168252600061024060208301516157f46020860182614d23565b5060408301516158076040860182614d23565b50606083015181606086015261581f82860182614d54565b91505060808301516158346080860182614d23565b5060a083015184820360a086015261584c8282614d54565b91505060c083015160c085015260e083015160e08501526101008084015161587682870182614d23565b505061012080840151858303828701526158908382614d54565b92505050610140808401516158ac8287018263ffffffff169052565b5050610160808401516158c38287018260070b9052565b505061018083810151908501526101a08084015163ffffffff908116918601919091526101c0808501518216908601526101e080850151909116908501526102008084015161ffff16908501526102208084015180151582870152615401565b60408152600061593660408301856157cf565b90508260208301529392505050565b6001600160a01b03949094168452602084019290925215156040830152606082015260800190565b63ffffffff8616815284602082015260a06040820152600061599260a0830186614d54565b931515606083015250608001529392505050565b602080825260069082015265131090cc0d8d60d21b604082015260600190565b602080825260069082015265262121981a1960d11b604082015260600190565b848152600084516159fe816020850160208901614d30565b808301905060018060601b0319851660208201528351615a25816034840160208801614d30565b016034019695505050505050565b600082601f830112615a4457600080fd5b8151615a526148d682614890565b818152846020838601011115615a6757600080fd5b610ee7826020830160208701614d30565b600060208284031215615a8a57600080fd5b81516001600160401b03811115615aa057600080fd5b610ee784828501615a33565b600160fd1b8152826001820152607560f81b602182015260008251615ad8816022850160208701614d30565b919091016022019392505050565b606081526000615af96060830186614d54565b8281036020840152615b0b8186614d54565b9150508215156040830152949350505050565b63ffffffff818116838216019080821115615b3b57615b3b61542b565b5092915050565b6020815260006143b16020830184614d54565b60006020808385031215615b6857600080fd5b82516001600160401b0380821115615b7f57600080fd5b818501915085601f830112615b9357600080fd5b8151615ba16148d682614c70565b81815260059190911b83018401908481019088831115615bc057600080fd5b8585015b83811015615c5b57805185811115615bdc5760008081fd5b86016080818c03601f1901811315615bf45760008081fd5b615bfc614806565b898301518881168114615c0f5760008081fd5b815260408381015189811115615c255760008081fd5b615c338f8d83880101615a33565b838d015250606084810151918301919091529190920151908201528352918601918601615bc4565b5098975050505050505050565b600060208284031215615c7a57600080fd5b5051919050565b600060808201868352602086818501528560408501526080606085015281855180845260a086019150828701935060005b81811015615cce57845183529383019391830191600101615cb2565b50909998505050505050505050565b6001600160401b03818116838216028082169190828114615d0057615d0061542b565b505092915050565b604081526000615d1b6040830185614d54565b905082151560208301529392505050565b6000808354615d3a816155ad565b60018281168015615d525760018114615d6757615d96565b60ff1984168752821515830287019450615d96565b8760005260208060002060005b85811015615d8d5781548a820152908401908201615d74565b50505082870194505b50929695505050505050565b6001600160401b03818116838216019080821115615b3b57615b3b61542b565b6020815260006143b160208301846157cf565b6000610100808352615de98184018c614d54565b90508960208401528281036040840152615e03818a614d54565b90508760608401528281036080840152615e1d8188614d54565b6001600160a01b03871660a085015283810360c08501529050615e408186614d54565b91505082151560e0830152999850505050505050505056fe3052ea2f7e0d74fdc1c1e1f858ff1ae3d91ab1609717c3efedb95db603b255f69685484093cc596fdaeab51abf645b1753dbb7d869bfd2eb21e2c646e47a36f4bfc7404e6fe464f0646fe2c6ab942b92d56be722bb39f8c6bc4830d2d32fb80da2646970667358221220969fa1da7c08ec40ca2e96e89ee8f6ecb05774f1d303151621fa54c7b48286af64736f6c63430008120033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:67782:30", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:30", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "188:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "205:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "216:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "198:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "198:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "198:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "239:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "250:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "235:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "235:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "255:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "228:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "228:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "228:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "277:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "288:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "273:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "273:18:30" + }, + { + "hexValue": "4c4243303037", + "kind": "string", + "nodeType": "YulLiteral", + "src": "293:8:30", + "type": "", + "value": "LBC007" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "266:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "266:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "266:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "311:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "323:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "334:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "319:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "319:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "311:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a23daf30bd1e42cc69e3bea751166702f08d640860ab6f4c84d6bacb970360da__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "165:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "179:4:30", + "type": "" + } + ], + "src": "14:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "445:87:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "455:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "467:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "478:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "463:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "463:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "455:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "497:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "512:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "520:4:30", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "508:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "508:17:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "490:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "490:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "490:36:30" + } + ] + }, + "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "414:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "425:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "436:4:30", + "type": "" + } + ], + "src": "348:184:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "638:76:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "648:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "660:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "671:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "656:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "656:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "648:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "690:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "701:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "683:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "683:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "683:25:30" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "607:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "618:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "629:4:30", + "type": "" + } + ], + "src": "537:177:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "751:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "768:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "775:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "780:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "771:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "771:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "761:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "761:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "761:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "808:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "811:4:30", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "801:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "801:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "801:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "832:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "835:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "825:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "825:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "825:15:30" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "719:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "897:209:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "907:19:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "923:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "917:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "917:9:30" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "907:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "935:37:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "957:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "965:6:30", + "type": "", + "value": "0x0240" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "953:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "953:19:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "939:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1047:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1049:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "1049:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1049:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "990:10:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1010:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1014:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1006:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1006:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1018:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1002:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1002:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "987:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "987:34:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1026:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1038:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1023:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1023:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "984:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "984:62:30" + }, + "nodeType": "YulIf", + "src": "981:88:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1085:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1089:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1078:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1078:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1078:22:30" + } + ] + }, + "name": "allocate_memory_9157", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "886:6:30", + "type": "" + } + ], + "src": "851:255:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1157:209:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1167:19:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1183:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1177:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "1177:9:30" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1167:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1195:37:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1217:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1225:6:30", + "type": "", + "value": "0x0220" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1213:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1213:19:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "1199:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1307:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1309:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "1309:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1309:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1250:10:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1270:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1274:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1266:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1266:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1278:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1262:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1262:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1247:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1247:34:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1286:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1298:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1283:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1283:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1244:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1244:62:30" + }, + "nodeType": "YulIf", + "src": "1241:88:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1345:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1349:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1338:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1338:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1338:22:30" + } + ] + }, + "name": "allocate_memory_9158", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1146:6:30", + "type": "" + } + ], + "src": "1111:255:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1417:207:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1427:19:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1443:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1437:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "1437:9:30" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1427:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1455:35:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1477:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1485:4:30", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1473:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1473:17:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "1459:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1565:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1567:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "1567:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1567:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1508:10:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1528:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1532:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1524:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1524:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1536:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1520:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1520:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1505:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1505:34:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1544:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1556:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1541:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1541:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1502:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1502:62:30" + }, + "nodeType": "YulIf", + "src": "1499:88:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1603:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1607:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1596:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1596:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1596:22:30" + } + ] + }, + "name": "allocate_memory_9162", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1406:6:30", + "type": "" + } + ], + "src": "1371:253:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1674:230:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1684:19:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1700:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1694:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "1694:9:30" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1684:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1712:58:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1734:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1750:4:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1756:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1746:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1746:13:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1765:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "1761:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1761:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1742:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1742:27:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1730:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1730:40:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "1716:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1845:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1847:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "1847:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1847:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1788:10:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1808:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1812:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1804:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1804:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1816:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1800:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1800:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1785:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1785:34:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1824:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1836:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1821:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1821:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1782:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1782:62:30" + }, + "nodeType": "YulIf", + "src": "1779:88:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1883:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1887:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1876:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1876:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1876:22:30" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1654:4:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1663:6:30", + "type": "" + } + ], + "src": "1629:275:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1958:128:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1968:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1990:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1977:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1977:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1968:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2064:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2073:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2076:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2066:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2066:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2066:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2019:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2030:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2049:2:30", + "type": "", + "value": "96" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2053:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "2045:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2045:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2057:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2041:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2041:18:30" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "2037:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2037:23:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2026:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2026:35:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2016:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2016:46:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2009:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2009:54:30" + }, + "nodeType": "YulIf", + "src": "2006:74:30" + } + ] + }, + "name": "abi_decode_bytes20", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1937:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1948:5:30", + "type": "" + } + ], + "src": "1909:177:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2136:86:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2200:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2209:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2212:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2202:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2202:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2202:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2159:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2170:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2185:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2190:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "2181:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2181:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2194:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2177:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2177:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2166:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2166:31:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2156:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2156:42:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2149:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2149:50:30" + }, + "nodeType": "YulIf", + "src": "2146:70:30" + } + ] + }, + "name": "validator_revert_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2125:5:30", + "type": "" + } + ], + "src": "2091:131:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2276:85:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2286:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2308:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2295:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2295:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2286:5:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2349:5:30" + } + ], + "functionName": { + "name": "validator_revert_address", + "nodeType": "YulIdentifier", + "src": "2324:24:30" + }, + "nodeType": "YulFunctionCall", + "src": "2324:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2324:31:30" + } + ] + }, + "name": "abi_decode_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2255:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2266:5:30", + "type": "" + } + ], + "src": "2227:134:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2423:129:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2467:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "2469:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "2469:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2469:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2439:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2455:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2459:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "2451:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2451:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2463:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2447:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2447:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2436:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2436:30:30" + }, + "nodeType": "YulIf", + "src": "2433:56:30" + }, + { + "nodeType": "YulAssignment", + "src": "2498:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2518:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2526:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2514:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2514:15:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2535:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "2531:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2531:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2510:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2510:29:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2541:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2506:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2506:40:30" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2498:4:30" + } + ] + } + ] + }, + "name": "array_allocation_size_bytes", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2403:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "2414:4:30", + "type": "" + } + ], + "src": "2366:186:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2609:410:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2658:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2667:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2670:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2660:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2660:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2660:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2637:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2645:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2633:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2633:17:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2652:3:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2629:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2629:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2622:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2622:35:30" + }, + "nodeType": "YulIf", + "src": "2619:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2683:30:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2706:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2693:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2693:20:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "2687:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2722:63:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2781:2:30" + } + ], + "functionName": { + "name": "array_allocation_size_bytes", + "nodeType": "YulIdentifier", + "src": "2753:27:30" + }, + "nodeType": "YulFunctionCall", + "src": "2753:31:30" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "2737:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "2737:48:30" + }, + "variables": [ + { + "name": "array_1", + "nodeType": "YulTypedName", + "src": "2726:7:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array_1", + "nodeType": "YulIdentifier", + "src": "2801:7:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2810:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2794:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2794:19:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2794:19:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2861:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2870:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2873:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2863:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2863:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2863:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2836:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2844:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2832:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2832:15:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2849:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2828:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2828:26:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2856:3:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2825:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2825:35:30" + }, + "nodeType": "YulIf", + "src": "2822:55:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "array_1", + "nodeType": "YulIdentifier", + "src": "2903:7:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2912:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2899:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2899:18:30" + }, + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2923:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2931:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2919:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2919:17:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2938:2:30" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "2886:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2886:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2886:55:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "array_1", + "nodeType": "YulIdentifier", + "src": "2965:7:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2974:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2961:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2961:16:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2979:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2957:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2957:27:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2986:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2950:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2950:38:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2950:38:30" + }, + { + "nodeType": "YulAssignment", + "src": "2997:16:30", + "value": { + "name": "array_1", + "nodeType": "YulIdentifier", + "src": "3006:7:30" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2997:5:30" + } + ] + } + ] + }, + "name": "abi_decode_bytes", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2583:6:30", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2591:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "2599:5:30", + "type": "" + } + ], + "src": "2557:462:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3072:115:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3082:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3104:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3091:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3091:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3082:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3165:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3174:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3177:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3167:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3167:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3167:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3133:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3144:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3151:10:30", + "type": "", + "value": "0xffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3140:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3140:22:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "3130:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "3130:33:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3123:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3123:41:30" + }, + "nodeType": "YulIf", + "src": "3120:61:30" + } + ] + }, + "name": "abi_decode_uint32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3051:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3062:5:30", + "type": "" + } + ], + "src": "3024:163:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3239:113:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3249:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3271:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3258:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3258:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3249:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3330:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3339:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3342:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3332:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3332:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3332:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3300:5:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3318:1:30", + "type": "", + "value": "7" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3321:5:30" + } + ], + "functionName": { + "name": "signextend", + "nodeType": "YulIdentifier", + "src": "3307:10:30" + }, + "nodeType": "YulFunctionCall", + "src": "3307:20:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "3297:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "3297:31:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3290:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3290:39:30" + }, + "nodeType": "YulIf", + "src": "3287:59:30" + } + ] + }, + "name": "abi_decode_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3218:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3229:5:30", + "type": "" + } + ], + "src": "3192:160:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3405:111:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3415:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3437:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3424:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3424:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3415:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3494:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3503:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3506:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3496:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3496:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3496:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3466:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3477:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3484:6:30", + "type": "", + "value": "0xffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3473:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3473:18:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "3463:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "3463:29:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3456:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3456:37:30" + }, + "nodeType": "YulIf", + "src": "3453:57:30" + } + ] + }, + "name": "abi_decode_uint16", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3384:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3395:5:30", + "type": "" + } + ], + "src": "3357:159:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3563:76:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3617:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3626:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3629:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3619:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3619:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3619:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3586:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3607:5:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3600:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3600:13:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3593:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3593:21:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "3583:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "3583:32:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3576:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3576:40:30" + }, + "nodeType": "YulIf", + "src": "3573:60:30" + } + ] + }, + "name": "validator_revert_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3552:5:30", + "type": "" + } + ], + "src": "3521:118:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3690:82:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3700:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3722:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3709:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3709:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3700:5:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3760:5:30" + } + ], + "functionName": { + "name": "validator_revert_bool", + "nodeType": "YulIdentifier", + "src": "3738:21:30" + }, + "nodeType": "YulFunctionCall", + "src": "3738:28:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3738:28:30" + } + ] + }, + "name": "abi_decode_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3669:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3680:5:30", + "type": "" + } + ], + "src": "3644:128:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3844:1938:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3890:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3899:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3902:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3892:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3892:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3892:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3865:3:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3870:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3861:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3861:19:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3882:6:30", + "type": "", + "value": "0x0240" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3857:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3857:32:30" + }, + "nodeType": "YulIf", + "src": "3854:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "3915:31:30", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_memory_9157", + "nodeType": "YulIdentifier", + "src": "3924:20:30" + }, + "nodeType": "YulFunctionCall", + "src": "3924:22:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3915:5:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3962:5:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3988:9:30" + } + ], + "functionName": { + "name": "abi_decode_bytes20", + "nodeType": "YulIdentifier", + "src": "3969:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "3969:29:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3955:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3955:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3955:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4019:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4026:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4015:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4015:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4054:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4065:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4050:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4050:18:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "4031:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "4031:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4008:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4008:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4008:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4090:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4097:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4086:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4086:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4125:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4136:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4121:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4121:18:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "4102:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "4102:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4079:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4079:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4079:62:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4150:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4181:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4192:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4177:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4177:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4164:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "4164:32:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4154:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4205:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4223:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4227:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "4219:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4219:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4231:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4215:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4215:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "4209:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4260:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4269:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4272:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4262:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4262:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4262:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4248:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "4256:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4245:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "4245:14:30" + }, + "nodeType": "YulIf", + "src": "4242:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4296:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4303:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4292:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4292:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4329:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4340:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4325:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4325:22:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4349:3:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "4308:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "4308:45:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4285:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4285:69:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4285:69:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4374:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4381:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4370:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4370:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4410:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4421:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4406:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4406:19:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "4387:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "4387:39:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4363:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4363:64:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4363:64:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4436:49:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4469:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4480:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4465:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4465:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4452:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "4452:33:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "4440:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4514:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4523:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4526:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4516:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4516:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4516:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "4500:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "4510:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4497:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "4497:16:30" + }, + "nodeType": "YulIf", + "src": "4494:36:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4550:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4557:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4546:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4546:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4584:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "4595:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4580:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4580:24:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4606:3:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "4563:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "4563:47:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4539:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4539:72:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4539:72:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4631:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4638:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4627:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4627:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4661:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4672:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4657:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4657:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4644:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "4644:33:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4620:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4620:58:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4620:58:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4698:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4705:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4694:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4694:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4728:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4739:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4724:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4724:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4711:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "4711:33:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4687:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4687:58:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4687:58:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4754:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4764:3:30", + "type": "", + "value": "256" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "4758:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4787:5:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "4794:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4783:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4783:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4822:9:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "4833:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4818:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4818:18:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "4799:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "4799:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4776:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4776:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4776:62:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4847:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4857:3:30", + "type": "", + "value": "288" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "4851:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4869:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4902:9:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "4913:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4898:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4898:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4885:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "4885:32:30" + }, + "variables": [ + { + "name": "offset_2", + "nodeType": "YulTypedName", + "src": "4873:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4946:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4955:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4958:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4948:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4948:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4948:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "4932:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "4942:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4929:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "4929:16:30" + }, + "nodeType": "YulIf", + "src": "4926:36:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4982:5:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "4989:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4978:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4978:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5015:9:30" + }, + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "5026:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5011:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5011:24:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5037:3:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "4994:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "4994:47:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4971:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4971:71:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4971:71:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5051:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5061:3:30", + "type": "", + "value": "320" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "5055:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5084:5:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "5091:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5080:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5080:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5118:9:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "5129:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5114:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5114:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "5096:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "5096:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5073:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5073:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5073:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5143:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5153:3:30", + "type": "", + "value": "352" + }, + "variables": [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "5147:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5176:5:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "5183:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5172:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5172:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5209:9:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "5220:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5205:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5205:18:30" + } + ], + "functionName": { + "name": "abi_decode_int64", + "nodeType": "YulIdentifier", + "src": "5188:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "5188:36:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5165:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5165:60:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5165:60:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5234:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5244:3:30", + "type": "", + "value": "384" + }, + "variables": [ + { + "name": "_6", + "nodeType": "YulTypedName", + "src": "5238:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5267:5:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "5274:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5263:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5263:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5296:9:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "5307:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5292:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5292:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5279:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "5279:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5256:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5256:56:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5256:56:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5321:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5331:3:30", + "type": "", + "value": "416" + }, + "variables": [ + { + "name": "_7", + "nodeType": "YulTypedName", + "src": "5325:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5354:5:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "5361:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5350:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5350:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5388:9:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "5399:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5384:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5384:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "5366:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "5366:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5343:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5343:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5343:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5413:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5423:3:30", + "type": "", + "value": "448" + }, + "variables": [ + { + "name": "_8", + "nodeType": "YulTypedName", + "src": "5417:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5446:5:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "5453:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5442:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5442:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5480:9:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "5491:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5476:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5476:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "5458:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "5458:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5435:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5435:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5435:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5505:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5515:3:30", + "type": "", + "value": "480" + }, + "variables": [ + { + "name": "_9", + "nodeType": "YulTypedName", + "src": "5509:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5538:5:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "5545:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5534:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5534:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5572:9:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "5583:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5568:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5568:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "5550:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "5550:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5527:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5527:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5527:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5597:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5608:3:30", + "type": "", + "value": "512" + }, + "variables": [ + { + "name": "_10", + "nodeType": "YulTypedName", + "src": "5601:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5631:5:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "5638:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5627:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5627:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5666:9:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "5677:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5662:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5662:19:30" + } + ], + "functionName": { + "name": "abi_decode_uint16", + "nodeType": "YulIdentifier", + "src": "5644:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "5644:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5620:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5620:63:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5620:63:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5692:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5703:3:30", + "type": "", + "value": "544" + }, + "variables": [ + { + "name": "_11", + "nodeType": "YulTypedName", + "src": "5696:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5726:5:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "5733:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5722:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5722:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5759:9:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "5770:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5755:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5755:19:30" + } + ], + "functionName": { + "name": "abi_decode_bool", + "nodeType": "YulIdentifier", + "src": "5739:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "5739:36:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5715:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5715:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5715:61:30" + } + ] + }, + "name": "abi_decode_struct_PeginQuote", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3815:9:30", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3826:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3834:5:30", + "type": "" + } + ], + "src": "3777:2005:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5885:253:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5931:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5940:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5943:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5933:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5933:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5933:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5906:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5915:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5902:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5902:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5927:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5898:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5898:32:30" + }, + "nodeType": "YulIf", + "src": "5895:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5956:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5983:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5970:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "5970:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5960:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6036:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6045:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6048:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6038:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6038:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6038:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6008:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6024:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6028:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "6020:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6020:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6032:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6016:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6016:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6005:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6005:30:30" + }, + "nodeType": "YulIf", + "src": "6002:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "6061:71:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6104:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6115:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6100:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6100:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6124:7:30" + } + ], + "functionName": { + "name": "abi_decode_struct_PeginQuote", + "nodeType": "YulIdentifier", + "src": "6071:28:30" + }, + "nodeType": "YulFunctionCall", + "src": "6071:61:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6061:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_PeginQuote_$9884_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5851:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5862:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5874:6:30", + "type": "" + } + ], + "src": "5787:351:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6244:76:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6254:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6266:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6277:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6262:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6262:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6254:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6296:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6307:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6289:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6289:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6289:25:30" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6213:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6224:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "6235:4:30", + "type": "" + } + ], + "src": "6143:177:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6395:110:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6441:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6450:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6453:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6443:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6443:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6443:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6416:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6425:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6412:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6412:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6437:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6408:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6408:32:30" + }, + "nodeType": "YulIf", + "src": "6405:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "6466:33:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6489:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6476:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6476:23:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6466:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6361:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "6372:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6384:6:30", + "type": "" + } + ], + "src": "6325:180:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6658:722:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6705:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6714:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6717:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6707:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6707:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6707:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6679:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6688:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6675:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6675:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6700:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6671:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6671:33:30" + }, + "nodeType": "YulIf", + "src": "6668:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6730:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6757:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6744:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6744:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6734:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6776:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6794:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6798:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "6790:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6790:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6802:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6786:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6786:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "6780:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6831:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6840:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6843:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6833:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6833:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6833:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6819:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6827:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6816:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6816:14:30" + }, + "nodeType": "YulIf", + "src": "6813:34:30" + }, + { + "nodeType": "YulAssignment", + "src": "6856:59:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6887:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6898:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6883:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6883:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6907:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "6866:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "6866:49:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6856:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6924:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6957:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6968:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6953:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6953:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6940:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6940:32:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "6928:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7001:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7010:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7013:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7003:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7003:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7003:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "6987:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6997:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6984:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6984:16:30" + }, + "nodeType": "YulIf", + "src": "6981:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "7026:61:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7057:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "7068:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7053:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7053:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7079:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "7036:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "7036:51:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "7026:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7096:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7126:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7137:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7122:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7122:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7109:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "7109:32:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7100:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7172:5:30" + } + ], + "functionName": { + "name": "validator_revert_bool", + "nodeType": "YulIdentifier", + "src": "7150:21:30" + }, + "nodeType": "YulFunctionCall", + "src": "7150:28:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7150:28:30" + }, + { + "nodeType": "YulAssignment", + "src": "7187:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7197:5:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "7187:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7211:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7244:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7255:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7240:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7240:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7227:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "7227:32:30" + }, + "variables": [ + { + "name": "offset_2", + "nodeType": "YulTypedName", + "src": "7215:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7288:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7297:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7300:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7290:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7290:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7290:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "7274:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "7284:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7271:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "7271:16:30" + }, + "nodeType": "YulIf", + "src": "7268:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "7313:61:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7344:9:30" + }, + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "7355:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7340:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7340:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7366:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "7323:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "7323:51:30" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "7313:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_boolt_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6600:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "6611:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6623:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "6631:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "6639:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "6647:6:30", + "type": "" + } + ], + "src": "6510:870:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7482:91:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7492:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7504:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7515:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7500:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7500:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7492:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7534:9:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7556:1:30", + "type": "", + "value": "1" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7559:6:30" + } + ], + "functionName": { + "name": "signextend", + "nodeType": "YulIdentifier", + "src": "7545:10:30" + }, + "nodeType": "YulFunctionCall", + "src": "7545:21:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7527:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7527:40:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7527:40:30" + } + ] + }, + "name": "abi_encode_tuple_t_int16__to_t_int16__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7451:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7462:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "7473:4:30", + "type": "" + } + ], + "src": "7385:188:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7770:619:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7817:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7826:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7829:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7819:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7819:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7819:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7791:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7800:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7787:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7787:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7812:3:30", + "type": "", + "value": "256" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "7783:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7783:33:30" + }, + "nodeType": "YulIf", + "src": "7780:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7842:36:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7868:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7855:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "7855:23:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7846:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7912:5:30" + } + ], + "functionName": { + "name": "validator_revert_address", + "nodeType": "YulIdentifier", + "src": "7887:24:30" + }, + "nodeType": "YulFunctionCall", + "src": "7887:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7887:31:30" + }, + { + "nodeType": "YulAssignment", + "src": "7927:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7937:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7927:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7951:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7978:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7989:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7974:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7974:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7961:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "7961:32:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "7951:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8002:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8029:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8040:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8025:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8025:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8012:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "8012:32:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "8002:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8053:47:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8085:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8096:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8081:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8081:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "8063:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "8063:37:30" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "8053:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8109:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8141:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8152:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8137:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8137:19:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "8119:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "8119:38:30" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "8109:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8166:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8193:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8204:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8189:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8189:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8176:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "8176:33:30" + }, + "variableNames": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "8166:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8218:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8245:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8256:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8241:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8241:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8228:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "8228:33:30" + }, + "variableNames": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "8218:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8270:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8302:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8313:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8298:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8298:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8285:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "8285:33:30" + }, + "variables": [ + { + "name": "value_1", + "nodeType": "YulTypedName", + "src": "8274:7:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "8349:7:30" + } + ], + "functionName": { + "name": "validator_revert_bool", + "nodeType": "YulIdentifier", + "src": "8327:21:30" + }, + "nodeType": "YulFunctionCall", + "src": "8327:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8327:30:30" + }, + { + "nodeType": "YulAssignment", + "src": "8366:17:30", + "value": { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "8376:7:30" + }, + "variableNames": [ + { + "name": "value7", + "nodeType": "YulIdentifier", + "src": "8366:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address_payablet_uint256t_uint256t_uint32t_uint32t_uint256t_uint256t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7680:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "7691:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7703:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "7711:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "7719:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "7727:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "7735:6:30", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "7743:6:30", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "7751:6:30", + "type": "" + }, + { + "name": "value7", + "nodeType": "YulTypedName", + "src": "7759:6:30", + "type": "" + } + ], + "src": "7578:811:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8464:177:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "8510:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8519:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8522:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8512:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8512:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8512:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8485:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8494:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8481:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8481:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8506:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "8477:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8477:32:30" + }, + "nodeType": "YulIf", + "src": "8474:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8535:36:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8561:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8548:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "8548:23:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8539:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8605:5:30" + } + ], + "functionName": { + "name": "validator_revert_address", + "nodeType": "YulIdentifier", + "src": "8580:24:30" + }, + "nodeType": "YulFunctionCall", + "src": "8580:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8580:31:30" + }, + { + "nodeType": "YulAssignment", + "src": "8620:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8630:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8620:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8430:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "8441:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8453:6:30", + "type": "" + } + ], + "src": "8394:247:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8687:50:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8704:3:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8723:5:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "8716:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8716:13:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "8709:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8709:21:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8697:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8697:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8697:34:30" + } + ] + }, + "name": "abi_encode_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8671:5:30", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8678:3:30", + "type": "" + } + ], + "src": "8646:91:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8837:92:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8847:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8859:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8870:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8855:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8855:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8847:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8889:9:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8914:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "8907:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8907:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "8900:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8900:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8882:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8882:41:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8882:41:30" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8806:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8817:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8828:4:30", + "type": "" + } + ], + "src": "8742:187:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9004:110:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "9050:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9059:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9062:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9052:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9052:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9052:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9025:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9034:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9021:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9021:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9046:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "9017:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9017:32:30" + }, + "nodeType": "YulIf", + "src": "9014:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "9075:33:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9098:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9085:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "9085:23:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9075:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8970:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "8981:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8993:6:30", + "type": "" + } + ], + "src": "8934:180:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9188:114:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "9232:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "9234:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "9234:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9234:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9204:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9220:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9224:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "9216:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9216:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9228:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9212:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9212:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9201:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "9201:30:30" + }, + "nodeType": "YulIf", + "src": "9198:56:30" + }, + { + "nodeType": "YulAssignment", + "src": "9263:33:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9279:1:30", + "type": "", + "value": "5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9282:6:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "9275:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9275:14:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9291:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9271:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9271:25:30" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "9263:4:30" + } + ] + } + ] + }, + "name": "array_allocation_size_array_uint256_dyn", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "9168:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "9179:4:30", + "type": "" + } + ], + "src": "9119:183:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9402:796:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9412:12:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9422:2:30", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "9416:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9469:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9478:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9481:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9471:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9471:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9471:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9444:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9453:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9440:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9440:23:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "9465:2:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "9436:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9436:32:30" + }, + "nodeType": "YulIf", + "src": "9433:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9494:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9521:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9508:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "9508:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9498:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9574:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9583:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9586:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9576:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9576:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9576:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9546:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9562:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9566:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "9558:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9558:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9570:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9554:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9554:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9543:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "9543:30:30" + }, + "nodeType": "YulIf", + "src": "9540:50:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9599:32:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9613:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9624:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9609:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9609:22:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "9603:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9679:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9688:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9691:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9681:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9681:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9681:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "9658:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9662:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9654:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9654:13:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9669:7:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "9650:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9650:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "9643:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9643:35:30" + }, + "nodeType": "YulIf", + "src": "9640:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9704:26:30", + "value": { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "9727:2:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9714:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "9714:16:30" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "9708:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9739:71:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "9806:2:30" + } + ], + "functionName": { + "name": "array_allocation_size_array_uint256_dyn", + "nodeType": "YulIdentifier", + "src": "9766:39:30" + }, + "nodeType": "YulFunctionCall", + "src": "9766:43:30" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "9750:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "9750:60:30" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "9743:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9819:16:30", + "value": { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "9832:3:30" + }, + "variables": [ + { + "name": "dst_1", + "nodeType": "YulTypedName", + "src": "9823:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "9851:3:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "9856:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9844:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9844:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9844:15:30" + }, + { + "nodeType": "YulAssignment", + "src": "9868:19:30", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "9879:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "9884:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9875:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9875:12:30" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "9868:3:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9896:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "9918:2:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9926:1:30", + "type": "", + "value": "5" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "9929:2:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "9922:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9922:10:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9914:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9914:19:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "9935:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9910:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9910:28:30" + }, + "variables": [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "9900:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9970:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9979:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9982:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9972:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9972:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9972:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "9953:6:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9961:7:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9950:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "9950:19:30" + }, + "nodeType": "YulIf", + "src": "9947:39:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9995:22:30", + "value": { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "10010:2:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "10014:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10006:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10006:11:30" + }, + "variables": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "9999:3:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10082:86:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "10103:3:30" + }, + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "10121:3:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10108:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "10108:17:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10096:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10096:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10096:30:30" + }, + { + "nodeType": "YulAssignment", + "src": "10139:19:30", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "10150:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "10155:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10146:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10146:12:30" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "10139:3:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "10037:3:30" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "10042:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "10034:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "10034:15:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "10050:23:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10052:19:30", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "10063:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "10068:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10059:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10059:12:30" + }, + "variableNames": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "10052:3:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "10030:3:30", + "statements": [] + }, + "src": "10026:142:30" + }, + { + "nodeType": "YulAssignment", + "src": "10177:15:30", + "value": { + "name": "dst_1", + "nodeType": "YulIdentifier", + "src": "10187:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10177:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9368:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "9379:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9391:6:30", + "type": "" + } + ], + "src": "9307:891:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10247:60:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10264:3:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10273:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10288:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10293:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "10284:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10284:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10297:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10280:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10280:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10269:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10269:31:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10257:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10257:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10257:44:30" + } + ] + }, + "name": "abi_encode_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10231:5:30", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10238:3:30", + "type": "" + } + ], + "src": "10203:104:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10378:184:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10388:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10397:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "10392:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10457:63:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "10482:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "10487:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10478:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10478:11:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "10501:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "10506:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10497:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10497:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10491:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "10491:18:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10471:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10471:39:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10471:39:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "10418:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10421:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "10415:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "10415:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "10429:19:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10431:15:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "10440:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10443:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10436:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10436:10:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "10431:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "10411:3:30", + "statements": [] + }, + "src": "10407:113:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "10540:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10545:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10536:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10536:16:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10554:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10529:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10529:27:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10529:27:30" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "10356:3:30", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "10361:3:30", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "10366:6:30", + "type": "" + } + ], + "src": "10312:250:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10617:221:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10627:26:30", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10647:5:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10641:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "10641:12:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "10631:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10669:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10674:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10662:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10662:19:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10662:19:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10729:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10736:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10725:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10725:16:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10747:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10752:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10743:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10743:14:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10759:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "10690:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "10690:76:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10690:76:30" + }, + { + "nodeType": "YulAssignment", + "src": "10775:57:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10790:3:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10803:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10811:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10799:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10799:15:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10820:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "10816:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10816:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10795:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10795:29:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10786:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10786:39:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10827:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10782:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10782:50:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10775:3:30" + } + ] + } + ] + }, + "name": "abi_encode_string", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10594:5:30", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10601:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10609:3:30", + "type": "" + } + ], + "src": "10567:271:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11064:1444:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11074:12:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11084:2:30", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "11078:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11095:32:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11113:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "11124:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11109:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11109:18:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "11099:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11143:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "11154:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11136:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11136:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11136:21:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11166:17:30", + "value": { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "11177:6:30" + }, + "variables": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11170:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11192:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11212:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11206:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "11206:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "11196:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "11235:6:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11243:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11228:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11228:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11228:22:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11259:12:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11269:2:30", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "11263:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11280:25:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11291:9:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "11302:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11287:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11287:18:30" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11280:3:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11314:53:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11336:9:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11351:1:30", + "type": "", + "value": "5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11354:6:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "11347:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11347:14:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11332:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11332:30:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "11364:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11328:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11328:39:30" + }, + "variables": [ + { + "name": "tail_2", + "nodeType": "YulTypedName", + "src": "11318:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11376:29:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11394:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "11402:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11390:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11390:15:30" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "11380:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11414:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11423:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "11418:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11482:997:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11503:3:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "11516:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11524:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11512:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11512:22:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11540:2:30", + "type": "", + "value": "63" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "11536:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11536:7:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11508:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11508:36:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11496:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11496:49:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11496:49:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11558:23:30", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "11574:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11568:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "11568:13:30" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "11562:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11594:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11604:4:30", + "type": "", + "value": "0xc0" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "11598:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "11628:6:30" + }, + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "11642:2:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11636:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "11636:9:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11621:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11621:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11621:25:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "11670:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "11678:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11666:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11666:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "11697:2:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "11701:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11693:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11693:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11687:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "11687:18:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11715:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11720:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "11711:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11711:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11724:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11707:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11707:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "11683:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11683:44:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11659:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11659:69:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11659:69:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11741:38:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "11771:2:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "11775:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11767:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11767:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11761:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "11761:18:30" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "11745:12:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "11803:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "11811:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11799:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11799:15:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "11816:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11792:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11792:27:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11792:27:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11832:62:30", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "11864:12:30" + }, + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "11882:6:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "11890:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11878:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11878:15:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "11846:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "11846:48:30" + }, + "variables": [ + { + "name": "tail_3", + "nodeType": "YulTypedName", + "src": "11836:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11907:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11917:4:30", + "type": "", + "value": "0x60" + }, + "variables": [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "11911:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11934:40:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "11966:2:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "11970:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11962:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11962:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11956:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "11956:18:30" + }, + "variables": [ + { + "name": "memberValue0_1", + "nodeType": "YulTypedName", + "src": "11938:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "11998:6:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "12006:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11994:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11994:15:30" + }, + { + "arguments": [ + { + "name": "tail_3", + "nodeType": "YulIdentifier", + "src": "12015:6:30" + }, + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "12023:6:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12011:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12011:19:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11987:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11987:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11987:44:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12044:55:30", + "value": { + "arguments": [ + { + "name": "memberValue0_1", + "nodeType": "YulIdentifier", + "src": "12076:14:30" + }, + { + "name": "tail_3", + "nodeType": "YulIdentifier", + "src": "12092:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "12058:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "12058:41:30" + }, + "variables": [ + { + "name": "tail_4", + "nodeType": "YulTypedName", + "src": "12048:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12112:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12122:4:30", + "type": "", + "value": "0x80" + }, + "variables": [ + { + "name": "_6", + "nodeType": "YulTypedName", + "src": "12116:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "12150:6:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "12158:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12146:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12146:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "12187:2:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "12191:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12183:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12183:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "12177:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "12177:18:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "12170:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12170:26:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "12163:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12163:34:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12139:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12139:59:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12139:59:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12211:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12221:4:30", + "type": "", + "value": "0xa0" + }, + "variables": [ + { + "name": "_7", + "nodeType": "YulTypedName", + "src": "12215:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12238:40:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "12270:2:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "12274:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12266:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12266:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "12260:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "12260:18:30" + }, + "variables": [ + { + "name": "memberValue0_2", + "nodeType": "YulTypedName", + "src": "12242:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "12302:6:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "12310:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12298:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12298:15:30" + }, + { + "arguments": [ + { + "name": "tail_4", + "nodeType": "YulIdentifier", + "src": "12319:6:30" + }, + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "12327:6:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12315:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12315:19:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12291:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12291:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12291:44:30" + }, + { + "nodeType": "YulAssignment", + "src": "12348:51:30", + "value": { + "arguments": [ + { + "name": "memberValue0_2", + "nodeType": "YulIdentifier", + "src": "12376:14:30" + }, + { + "name": "tail_4", + "nodeType": "YulIdentifier", + "src": "12392:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "12358:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "12358:41:30" + }, + "variableNames": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "12348:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12412:25:30", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "12426:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "12434:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12422:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12422:15:30" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "12412:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12450:19:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12461:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "12466:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12457:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12457:12:30" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12450:3:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "11444:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11447:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "11441:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "11441:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "11455:18:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11457:14:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "11466:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11469:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11462:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11462:9:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "11457:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "11437:3:30", + "statements": [] + }, + "src": "11433:1046:30" + }, + { + "nodeType": "YulAssignment", + "src": "12488:14:30", + "value": { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "12496:6:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12488:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_struct$_LiquidityProvider_$4169_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_LiquidityProvider_$4169_memory_ptr_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11033:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11044:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "11055:4:30", + "type": "" + } + ], + "src": "10843:1665:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12581:1843:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "12627:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12636:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12639:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12629:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12629:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12629:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12602:3:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12607:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12598:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12598:19:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12619:6:30", + "type": "", + "value": "0x0220" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "12594:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12594:32:30" + }, + "nodeType": "YulIf", + "src": "12591:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "12652:31:30", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_memory_9158", + "nodeType": "YulIdentifier", + "src": "12661:20:30" + }, + "nodeType": "YulFunctionCall", + "src": "12661:22:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12652:5:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12699:5:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12725:9:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "12706:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "12706:29:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12692:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12692:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12692:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12756:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12763:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12752:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12752:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12791:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12802:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12787:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12787:18:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "12768:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "12768:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12745:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12745:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12745:62:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12816:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12847:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12858:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12843:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12843:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12830:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "12830:32:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12820:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12871:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12889:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12893:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "12885:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12885:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12897:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12881:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12881:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "12875:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12926:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12935:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12938:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12928:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12928:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12928:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12914:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "12922:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12911:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "12911:14:30" + }, + "nodeType": "YulIf", + "src": "12908:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12962:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12969:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12958:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12958:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12995:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13006:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12991:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12991:22:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13015:3:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "12974:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "12974:45:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12951:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12951:69:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12951:69:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13040:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13047:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13036:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13036:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13075:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13086:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13071:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13071:18:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "13052:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "13052:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13029:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13029:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13029:62:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13100:49:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13133:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13144:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13129:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13129:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13116:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "13116:33:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "13104:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13178:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13187:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13190:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "13180:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13180:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13180:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "13164:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "13174:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "13161:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "13161:16:30" + }, + "nodeType": "YulIf", + "src": "13158:36:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13214:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13221:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13210:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13210:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13248:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "13259:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13244:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13244:24:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13270:3:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "13227:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "13227:47:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13203:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13203:72:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13203:72:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13295:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13302:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13291:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13291:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13325:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13336:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13321:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13321:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13308:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "13308:33:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13284:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13284:58:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13284:58:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13362:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13369:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13358:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13358:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13392:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13403:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13388:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13388:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13375:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "13375:33:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13351:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13351:58:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13351:58:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13429:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13436:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13425:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13425:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13463:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13474:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13459:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13459:19:30" + } + ], + "functionName": { + "name": "abi_decode_int64", + "nodeType": "YulIdentifier", + "src": "13442:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "13442:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13418:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13418:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13418:62:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13489:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13499:3:30", + "type": "", + "value": "256" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "13493:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13511:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13544:9:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "13555:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13540:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13540:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13527:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "13527:32:30" + }, + "variables": [ + { + "name": "offset_2", + "nodeType": "YulTypedName", + "src": "13515:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13588:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13597:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13600:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "13590:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13590:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13590:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "13574:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "13584:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "13571:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "13571:16:30" + }, + "nodeType": "YulIf", + "src": "13568:36:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13624:5:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "13631:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13620:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13620:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13657:9:30" + }, + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "13668:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13653:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13653:24:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13679:3:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "13636:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "13636:47:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13613:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13613:71:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13613:71:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13693:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13703:3:30", + "type": "", + "value": "288" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "13697:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13726:5:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "13733:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13722:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13722:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13755:9:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "13766:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13751:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13751:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13738:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "13738:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13715:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13715:56:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13715:56:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13780:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13790:3:30", + "type": "", + "value": "320" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "13784:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13813:5:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "13820:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13809:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13809:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13847:9:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "13858:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13843:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13843:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "13825:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "13825:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13802:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13802:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13802:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13872:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13882:3:30", + "type": "", + "value": "352" + }, + "variables": [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "13876:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13905:5:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "13912:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13901:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13901:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13939:9:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "13950:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13935:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13935:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "13917:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "13917:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13894:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13894:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13894:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13964:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13974:3:30", + "type": "", + "value": "384" + }, + "variables": [ + { + "name": "_6", + "nodeType": "YulTypedName", + "src": "13968:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13997:5:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "14004:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13993:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13993:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14031:9:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "14042:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14027:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14027:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint16", + "nodeType": "YulIdentifier", + "src": "14009:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "14009:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13986:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13986:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13986:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14056:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14066:3:30", + "type": "", + "value": "416" + }, + "variables": [ + { + "name": "_7", + "nodeType": "YulTypedName", + "src": "14060:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14089:5:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "14096:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14085:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14085:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14123:9:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "14134:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14119:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14119:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint16", + "nodeType": "YulIdentifier", + "src": "14101:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "14101:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14078:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14078:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14078:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14148:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14158:3:30", + "type": "", + "value": "448" + }, + "variables": [ + { + "name": "_8", + "nodeType": "YulTypedName", + "src": "14152:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14181:5:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "14188:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14177:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14177:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14215:9:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "14226:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14211:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14211:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "14193:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "14193:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14170:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14170:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14170:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14240:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14250:3:30", + "type": "", + "value": "480" + }, + "variables": [ + { + "name": "_9", + "nodeType": "YulTypedName", + "src": "14244:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14273:5:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "14280:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14269:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14269:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14307:9:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "14318:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14303:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14303:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "14285:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "14285:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14262:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14262:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14262:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14332:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14343:3:30", + "type": "", + "value": "512" + }, + "variables": [ + { + "name": "_10", + "nodeType": "YulTypedName", + "src": "14336:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14366:5:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "14373:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14362:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14362:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14401:9:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "14412:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14397:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14397:19:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "14379:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "14379:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14355:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14355:63:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14355:63:30" + } + ] + }, + "name": "abi_decode_struct_PegOutQuote", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12552:9:30", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "12563:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12571:5:30", + "type": "" + } + ], + "src": "12513:1911:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14528:254:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "14574:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14583:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14586:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "14576:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14576:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14576:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14549:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14558:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14545:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14545:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14570:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "14541:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14541:32:30" + }, + "nodeType": "YulIf", + "src": "14538:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14599:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14626:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "14613:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "14613:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "14603:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14679:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14688:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14691:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "14681:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14681:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14681:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14651:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14667:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14671:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "14663:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14663:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14675:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14659:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14659:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "14648:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "14648:30:30" + }, + "nodeType": "YulIf", + "src": "14645:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "14704:72:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14748:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14759:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14744:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14744:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14768:7:30" + } + ], + "functionName": { + "name": "abi_decode_struct_PegOutQuote", + "nodeType": "YulIdentifier", + "src": "14714:29:30" + }, + "nodeType": "YulFunctionCall", + "src": "14714:62:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "14704:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_PegOutQuote_$9919_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14494:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "14505:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "14517:6:30", + "type": "" + } + ], + "src": "14429:353:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14980:843:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "15027:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15036:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15039:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "15029:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "15029:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "15029:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15001:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15010:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14997:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14997:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15022:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "14993:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14993:33:30" + }, + "nodeType": "YulIf", + "src": "14990:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "15052:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15079:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "15066:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "15066:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "15056:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "15098:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15116:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15120:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "15112:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15112:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15124:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15108:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15108:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "15102:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15153:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15162:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15165:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "15155:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "15155:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "15155:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15141:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "15149:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "15138:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "15138:14:30" + }, + "nodeType": "YulIf", + "src": "15135:34:30" + }, + { + "nodeType": "YulAssignment", + "src": "15178:71:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15221:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15232:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15217:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15217:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15241:7:30" + } + ], + "functionName": { + "name": "abi_decode_struct_PeginQuote", + "nodeType": "YulIdentifier", + "src": "15188:28:30" + }, + "nodeType": "YulFunctionCall", + "src": "15188:61:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "15178:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "15258:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15291:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15302:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15287:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15287:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "15274:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "15274:32:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "15262:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15335:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15344:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15347:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "15337:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "15337:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "15337:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "15321:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "15331:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "15318:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "15318:16:30" + }, + "nodeType": "YulIf", + "src": "15315:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "15360:61:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15391:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "15402:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15387:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15387:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15413:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "15370:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "15370:51:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "15360:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "15430:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15463:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15474:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15459:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15459:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "15446:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "15446:32:30" + }, + "variables": [ + { + "name": "offset_2", + "nodeType": "YulTypedName", + "src": "15434:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15507:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15516:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15519:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "15509:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "15509:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "15509:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "15493:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "15503:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "15490:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "15490:16:30" + }, + "nodeType": "YulIf", + "src": "15487:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "15532:61:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15563:9:30" + }, + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "15574:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15559:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15559:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15585:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "15542:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "15542:51:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "15532:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "15602:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15635:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15646:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15631:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15631:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "15618:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "15618:32:30" + }, + "variables": [ + { + "name": "offset_3", + "nodeType": "YulTypedName", + "src": "15606:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15679:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15688:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15691:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "15681:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "15681:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "15681:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_3", + "nodeType": "YulIdentifier", + "src": "15665:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "15675:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "15662:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "15662:16:30" + }, + "nodeType": "YulIf", + "src": "15659:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "15704:61:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15735:9:30" + }, + { + "name": "offset_3", + "nodeType": "YulIdentifier", + "src": "15746:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15731:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15731:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15757:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "15714:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "15714:51:30" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "15704:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15774:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15801:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15812:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15797:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15797:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "15784:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "15784:33:30" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "15774:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_PeginQuote_$9884_memory_ptrt_bytes_memory_ptrt_bytes_memory_ptrt_bytes_memory_ptrt_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14914:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "14925:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "14937:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "14945:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "14953:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "14961:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "14969:6:30", + "type": "" + } + ], + "src": "14787:1036:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15927:76:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15937:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15949:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15960:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15945:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15945:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15937:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15979:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "15990:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15972:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "15972:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "15972:25:30" + } + ] + }, + "name": "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15896:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "15907:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15918:4:30", + "type": "" + } + ], + "src": "15828:175:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16092:225:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "16138:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16147:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16150:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "16140:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "16140:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "16140:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "16113:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16122:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16109:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16109:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16134:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "16105:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16105:32:30" + }, + "nodeType": "YulIf", + "src": "16102:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "16163:33:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16186:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "16173:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "16173:23:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "16163:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "16205:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16235:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16246:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16231:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16231:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "16218:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "16218:32:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "16209:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16281:5:30" + } + ], + "functionName": { + "name": "validator_revert_bool", + "nodeType": "YulIdentifier", + "src": "16259:21:30" + }, + "nodeType": "YulFunctionCall", + "src": "16259:28:30" + }, + "nodeType": "YulExpressionStatement", + "src": "16259:28:30" + }, + { + "nodeType": "YulAssignment", + "src": "16296:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16306:5:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "16296:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16050:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "16061:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "16073:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "16081:6:30", + "type": "" + } + ], + "src": "16008:309:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16447:447:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "16493:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16502:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16505:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "16495:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "16495:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "16495:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "16468:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16477:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16464:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16464:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16489:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "16460:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16460:32:30" + }, + "nodeType": "YulIf", + "src": "16457:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "16518:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16545:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "16532:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "16532:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "16522:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "16564:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16582:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16586:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "16578:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16578:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16590:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16574:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16574:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "16568:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16619:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16628:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16631:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "16621:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "16621:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "16621:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "16607:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "16615:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "16604:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "16604:14:30" + }, + "nodeType": "YulIf", + "src": "16601:34:30" + }, + { + "nodeType": "YulAssignment", + "src": "16644:72:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16688:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "16699:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16684:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16684:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "16708:7:30" + } + ], + "functionName": { + "name": "abi_decode_struct_PegOutQuote", + "nodeType": "YulIdentifier", + "src": "16654:29:30" + }, + "nodeType": "YulFunctionCall", + "src": "16654:62:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "16644:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "16725:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16758:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16769:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16754:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16754:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "16741:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "16741:32:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "16729:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16802:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16811:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16814:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "16804:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "16804:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "16804:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "16788:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "16798:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "16785:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "16785:16:30" + }, + "nodeType": "YulIf", + "src": "16782:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "16827:61:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16858:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "16869:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16854:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16854:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "16880:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "16837:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "16837:51:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "16827:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_PegOutQuote_$9919_memory_ptrt_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16405:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "16416:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "16428:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "16436:6:30", + "type": "" + } + ], + "src": "16322:572:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17000:102:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17010:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17022:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17033:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17018:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17018:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17010:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17052:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "17067:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17083:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17088:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "17079:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17079:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17092:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17075:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17075:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "17063:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17063:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17045:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "17045:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "17045:51:30" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16969:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "16980:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16991:4:30", + "type": "" + } + ], + "src": "16899:203:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17150:47:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17167:3:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "17176:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17183:6:30", + "type": "", + "value": "0xffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "17172:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17172:18:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17160:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "17160:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "17160:31:30" + } + ] + }, + "name": "abi_encode_uint16", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "17134:5:30", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "17141:3:30", + "type": "" + } + ], + "src": "17107:90:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17301:89:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17311:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17323:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17334:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17319:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17319:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17311:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17353:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "17368:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17376:6:30", + "type": "", + "value": "0xffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "17364:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17364:19:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17346:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "17346:38:30" + }, + "nodeType": "YulExpressionStatement", + "src": "17346:38:30" + } + ] + }, + "name": "abi_encode_tuple_t_uint16__to_t_uint16__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17270:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "17281:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17292:4:30", + "type": "" + } + ], + "src": "17202:188:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17474:241:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "17520:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17529:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17532:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "17522:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "17522:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "17522:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "17495:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17504:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17491:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17491:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17516:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "17487:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17487:32:30" + }, + "nodeType": "YulIf", + "src": "17484:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "17545:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17572:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "17559:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "17559:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "17549:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17625:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17634:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17637:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "17627:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "17627:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "17627:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "17597:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17613:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17617:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "17609:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17609:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17621:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17605:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17605:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "17594:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "17594:30:30" + }, + "nodeType": "YulIf", + "src": "17591:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "17650:59:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17681:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "17692:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17677:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17677:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "17701:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "17660:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "17660:49:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "17650:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17440:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "17451:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "17463:6:30", + "type": "" + } + ], + "src": "17395:320:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17844:446:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "17890:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17899:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17902:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "17892:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "17892:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "17892:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "17865:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17874:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17861:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17861:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17886:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "17857:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17857:32:30" + }, + "nodeType": "YulIf", + "src": "17854:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "17915:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17942:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "17929:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "17929:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "17919:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "17961:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17979:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17983:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "17975:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17975:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17987:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17971:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17971:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "17965:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18016:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18025:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18028:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "18018:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "18018:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "18018:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "18004:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "18012:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "18001:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "18001:14:30" + }, + "nodeType": "YulIf", + "src": "17998:34:30" + }, + { + "nodeType": "YulAssignment", + "src": "18041:71:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18084:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "18095:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18080:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18080:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "18104:7:30" + } + ], + "functionName": { + "name": "abi_decode_struct_PeginQuote", + "nodeType": "YulIdentifier", + "src": "18051:28:30" + }, + "nodeType": "YulFunctionCall", + "src": "18051:61:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "18041:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18121:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18154:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18165:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18150:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18150:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "18137:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "18137:32:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "18125:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18198:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18207:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18210:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "18200:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "18200:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "18200:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "18184:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "18194:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "18181:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "18181:16:30" + }, + "nodeType": "YulIf", + "src": "18178:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "18223:61:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18254:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "18265:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18250:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18250:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "18276:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "18233:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "18233:51:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "18223:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_PeginQuote_$9884_memory_ptrt_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17802:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "17813:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "17825:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "17833:6:30", + "type": "" + } + ], + "src": "17720:570:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18467:1144:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "18514:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18523:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18526:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "18516:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "18516:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "18516:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "18488:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18497:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18484:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18484:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18509:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "18480:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18480:33:30" + }, + "nodeType": "YulIf", + "src": "18477:53:30" + }, + { + "nodeType": "YulAssignment", + "src": "18539:33:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18562:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "18549:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "18549:23:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "18539:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18581:12:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18591:2:30", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "18585:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18602:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18633:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "18644:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18629:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18629:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "18616:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "18616:32:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "18606:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18657:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18675:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18679:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "18671:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18671:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18683:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18667:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18667:18:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "18661:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18712:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18721:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18724:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "18714:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "18714:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "18714:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "18700:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "18708:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "18697:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "18697:14:30" + }, + "nodeType": "YulIf", + "src": "18694:34:30" + }, + { + "nodeType": "YulAssignment", + "src": "18737:59:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18768:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "18779:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18764:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18764:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "18788:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "18747:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "18747:49:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "18737:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "18805:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18832:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18843:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18828:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18828:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "18815:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "18815:32:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "18805:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "18856:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18883:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18894:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18879:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18879:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "18866:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "18866:32:30" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "18856:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18907:49:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18940:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18951:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18936:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18936:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "18923:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "18923:33:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "18911:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18985:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18994:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18997:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "18987:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "18987:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "18987:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "18971:8:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "18981:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "18968:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "18968:16:30" + }, + "nodeType": "YulIf", + "src": "18965:36:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "19010:34:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19024:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "19035:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19020:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19020:24:30" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "19014:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19092:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19101:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19104:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "19094:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "19094:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "19094:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "19071:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19075:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19067:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19067:13:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "19082:7:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "19063:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19063:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "19056:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "19056:35:30" + }, + "nodeType": "YulIf", + "src": "19053:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "19117:26:30", + "value": { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "19140:2:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "19127:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "19127:16:30" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "19121:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "19152:71:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "19219:2:30" + } + ], + "functionName": { + "name": "array_allocation_size_array_uint256_dyn", + "nodeType": "YulIdentifier", + "src": "19179:39:30" + }, + "nodeType": "YulFunctionCall", + "src": "19179:43:30" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "19163:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "19163:60:30" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "19156:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "19232:16:30", + "value": { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "19245:3:30" + }, + "variables": [ + { + "name": "dst_1", + "nodeType": "YulTypedName", + "src": "19236:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "19264:3:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "19269:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19257:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "19257:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "19257:15:30" + }, + { + "nodeType": "YulAssignment", + "src": "19281:19:30", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "19292:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "19297:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19288:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19288:12:30" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "19281:3:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "19309:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "19331:2:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19339:1:30", + "type": "", + "value": "5" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "19342:2:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "19335:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19335:10:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19327:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19327:19:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "19348:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19323:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19323:28:30" + }, + "variables": [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "19313:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19383:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19392:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19395:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "19385:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "19385:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "19385:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "19366:6:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "19374:7:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "19363:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "19363:19:30" + }, + "nodeType": "YulIf", + "src": "19360:39:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "19408:22:30", + "value": { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "19423:2:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "19427:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19419:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19419:11:30" + }, + "variables": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "19412:3:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19495:86:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "19516:3:30" + }, + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "19534:3:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "19521:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "19521:17:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19509:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "19509:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "19509:30:30" + }, + { + "nodeType": "YulAssignment", + "src": "19552:19:30", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "19563:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "19568:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19559:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19559:12:30" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "19552:3:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "19450:3:30" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "19455:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "19447:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "19447:15:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "19463:23:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19465:19:30", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "19476:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "19481:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19472:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19472:12:30" + }, + "variableNames": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "19465:3:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "19443:3:30", + "statements": [] + }, + "src": "19439:142:30" + }, + { + "nodeType": "YulAssignment", + "src": "19590:15:30", + "value": { + "name": "dst_1", + "nodeType": "YulIdentifier", + "src": "19600:5:30" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "19590:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_bytes_memory_ptrt_bytes32t_uint256t_array$_t_bytes32_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "18401:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "18412:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "18424:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "18432:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "18440:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "18448:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "18456:6:30", + "type": "" + } + ], + "src": "18295:1316:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19740:102:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19750:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19762:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19773:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19758:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19758:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19750:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19792:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "19807:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19823:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19828:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "19819:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19819:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19832:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19815:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19815:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "19803:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19803:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19785:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "19785:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "19785:51:30" + } + ] + }, + "name": "abi_encode_tuple_t_contract$_Bridge_$3208__to_t_address_payable__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "19709:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "19720:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "19731:4:30", + "type": "" + } + ], + "src": "19616:226:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19889:49:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19906:3:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19922:1:30", + "type": "", + "value": "7" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "19925:5:30" + } + ], + "functionName": { + "name": "signextend", + "nodeType": "YulIdentifier", + "src": "19911:10:30" + }, + "nodeType": "YulFunctionCall", + "src": "19911:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19899:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "19899:33:30" + }, + "nodeType": "YulExpressionStatement", + "src": "19899:33:30" + } + ] + }, + "name": "abi_encode_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "19873:5:30", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19880:3:30", + "type": "" + } + ], + "src": "19847:91:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19986:51:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20003:3:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "20012:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20019:10:30", + "type": "", + "value": "0xffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "20008:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20008:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19996:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "19996:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "19996:35:30" + } + ] + }, + "name": "abi_encode_uint32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "19970:5:30", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19977:3:30", + "type": "" + } + ], + "src": "19943:94:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20201:2278:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20218:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20229:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20211:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "20211:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "20211:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20266:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20260:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "20260:13:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20279:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20290:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20275:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20275:18:30" + } + ], + "functionName": { + "name": "abi_encode_address", + "nodeType": "YulIdentifier", + "src": "20241:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "20241:53:30" + }, + "nodeType": "YulExpressionStatement", + "src": "20241:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20303:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20333:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20341:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20329:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20329:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20323:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "20323:22:30" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "20307:12:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "20373:12:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20391:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20402:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20387:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20387:18:30" + } + ], + "functionName": { + "name": "abi_encode_address", + "nodeType": "YulIdentifier", + "src": "20354:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "20354:52:30" + }, + "nodeType": "YulExpressionStatement", + "src": "20354:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20415:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20447:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20455:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20443:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20443:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20437:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "20437:22:30" + }, + "variables": [ + { + "name": "memberValue0_1", + "nodeType": "YulTypedName", + "src": "20419:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20468:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20478:6:30", + "type": "", + "value": "0x0220" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "20472:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20504:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20515:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20500:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20500:18:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "20520:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20493:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "20493:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "20493:30:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20532:68:30", + "value": { + "arguments": [ + { + "name": "memberValue0_1", + "nodeType": "YulIdentifier", + "src": "20564:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20584:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20595:3:30", + "type": "", + "value": "576" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20580:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20580:19:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "20546:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "20546:54:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "20536:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20609:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20641:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20649:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20637:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20637:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20631:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "20631:22:30" + }, + "variables": [ + { + "name": "memberValue0_2", + "nodeType": "YulTypedName", + "src": "20613:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_2", + "nodeType": "YulIdentifier", + "src": "20681:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20701:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20712:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20697:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20697:19:30" + } + ], + "functionName": { + "name": "abi_encode_address", + "nodeType": "YulIdentifier", + "src": "20662:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "20662:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "20662:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20726:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20758:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20766:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20754:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20754:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20748:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "20748:23:30" + }, + "variables": [ + { + "name": "memberValue0_3", + "nodeType": "YulTypedName", + "src": "20730:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20780:17:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20794:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "20790:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20790:7:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "20784:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20817:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20828:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20813:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20813:19:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "20842:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20850:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "20838:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20838:22:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "20862:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20834:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20834:31:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20806:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "20806:60:30" + }, + "nodeType": "YulExpressionStatement", + "src": "20806:60:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20875:55:30", + "value": { + "arguments": [ + { + "name": "memberValue0_3", + "nodeType": "YulIdentifier", + "src": "20907:14:30" + }, + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "20923:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "20889:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "20889:41:30" + }, + "variables": [ + { + "name": "tail_2", + "nodeType": "YulTypedName", + "src": "20879:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20950:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20961:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20946:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20946:19:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20977:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20985:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20973:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20973:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20967:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "20967:23:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20939:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "20939:52:30" + }, + "nodeType": "YulExpressionStatement", + "src": "20939:52:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21011:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21022:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21007:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21007:19:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "21038:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21046:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21034:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21034:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21028:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "21028:23:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21000:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "21000:52:30" + }, + "nodeType": "YulExpressionStatement", + "src": "21000:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21061:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "21093:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21101:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21089:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21089:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21083:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "21083:23:30" + }, + "variables": [ + { + "name": "memberValue0_4", + "nodeType": "YulTypedName", + "src": "21065:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21115:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21125:3:30", + "type": "", + "value": "256" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "21119:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_4", + "nodeType": "YulIdentifier", + "src": "21154:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21174:9:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "21185:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21170:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21170:18:30" + } + ], + "functionName": { + "name": "abi_encode_int64", + "nodeType": "YulIdentifier", + "src": "21137:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "21137:52:30" + }, + "nodeType": "YulExpressionStatement", + "src": "21137:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21198:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "21230:6:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "21238:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21226:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21226:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21220:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "21220:22:30" + }, + "variables": [ + { + "name": "memberValue0_5", + "nodeType": "YulTypedName", + "src": "21202:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21251:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21261:3:30", + "type": "", + "value": "288" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "21255:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21284:9:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "21295:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21280:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21280:18:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "21308:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21316:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21304:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21304:22:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "21328:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21300:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21300:31:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21273:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "21273:59:30" + }, + "nodeType": "YulExpressionStatement", + "src": "21273:59:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21341:55:30", + "value": { + "arguments": [ + { + "name": "memberValue0_5", + "nodeType": "YulIdentifier", + "src": "21373:14:30" + }, + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "21389:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "21355:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "21355:41:30" + }, + "variables": [ + { + "name": "tail_3", + "nodeType": "YulTypedName", + "src": "21345:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21405:32:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "21425:6:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "21433:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21421:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21421:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21415:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "21415:22:30" + }, + "variables": [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "21409:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21446:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21456:3:30", + "type": "", + "value": "320" + }, + "variables": [ + { + "name": "_6", + "nodeType": "YulTypedName", + "src": "21450:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21479:9:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "21490:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21475:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21475:18:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "21495:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21468:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "21468:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "21468:30:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21507:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "21539:6:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "21547:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21535:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21535:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21529:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "21529:22:30" + }, + "variables": [ + { + "name": "memberValue0_6", + "nodeType": "YulTypedName", + "src": "21511:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21560:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21570:3:30", + "type": "", + "value": "352" + }, + "variables": [ + { + "name": "_7", + "nodeType": "YulTypedName", + "src": "21564:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_6", + "nodeType": "YulIdentifier", + "src": "21600:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21620:9:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "21631:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21616:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21616:18:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "21582:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "21582:53:30" + }, + "nodeType": "YulExpressionStatement", + "src": "21582:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21644:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "21676:6:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "21684:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21672:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21672:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21666:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "21666:22:30" + }, + "variables": [ + { + "name": "memberValue0_7", + "nodeType": "YulTypedName", + "src": "21648:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21697:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21707:3:30", + "type": "", + "value": "384" + }, + "variables": [ + { + "name": "_8", + "nodeType": "YulTypedName", + "src": "21701:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_7", + "nodeType": "YulIdentifier", + "src": "21737:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21757:9:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "21768:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21753:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21753:18:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "21719:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "21719:53:30" + }, + "nodeType": "YulExpressionStatement", + "src": "21719:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21781:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "21813:6:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "21821:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21809:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21809:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21803:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "21803:22:30" + }, + "variables": [ + { + "name": "memberValue0_8", + "nodeType": "YulTypedName", + "src": "21785:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21834:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21844:3:30", + "type": "", + "value": "416" + }, + "variables": [ + { + "name": "_9", + "nodeType": "YulTypedName", + "src": "21838:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_8", + "nodeType": "YulIdentifier", + "src": "21874:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21894:9:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "21905:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21890:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21890:18:30" + } + ], + "functionName": { + "name": "abi_encode_uint16", + "nodeType": "YulIdentifier", + "src": "21856:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "21856:53:30" + }, + "nodeType": "YulExpressionStatement", + "src": "21856:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21918:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "21950:6:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "21958:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21946:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21946:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21940:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "21940:22:30" + }, + "variables": [ + { + "name": "memberValue0_9", + "nodeType": "YulTypedName", + "src": "21922:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21971:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21982:3:30", + "type": "", + "value": "448" + }, + "variables": [ + { + "name": "_10", + "nodeType": "YulTypedName", + "src": "21975:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_9", + "nodeType": "YulIdentifier", + "src": "22012:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22032:9:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "22043:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22028:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22028:19:30" + } + ], + "functionName": { + "name": "abi_encode_uint16", + "nodeType": "YulIdentifier", + "src": "21994:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "21994:54:30" + }, + "nodeType": "YulExpressionStatement", + "src": "21994:54:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "22057:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "22090:6:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "22098:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22086:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22086:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "22080:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "22080:23:30" + }, + "variables": [ + { + "name": "memberValue0_10", + "nodeType": "YulTypedName", + "src": "22061:15:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "22112:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22123:3:30", + "type": "", + "value": "480" + }, + "variables": [ + { + "name": "_11", + "nodeType": "YulTypedName", + "src": "22116:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_10", + "nodeType": "YulIdentifier", + "src": "22153:15:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22174:9:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "22185:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22170:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22170:19:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "22135:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "22135:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "22135:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "22199:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "22232:6:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "22240:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22228:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22228:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "22222:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "22222:23:30" + }, + "variables": [ + { + "name": "memberValue0_11", + "nodeType": "YulTypedName", + "src": "22203:15:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "22254:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22265:3:30", + "type": "", + "value": "512" + }, + "variables": [ + { + "name": "_12", + "nodeType": "YulTypedName", + "src": "22258:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_11", + "nodeType": "YulIdentifier", + "src": "22295:15:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22316:9:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "22327:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22312:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22312:19:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "22277:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "22277:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "22277:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "22341:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "22374:6:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "22382:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22370:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22370:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "22364:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "22364:23:30" + }, + "variables": [ + { + "name": "memberValue0_12", + "nodeType": "YulTypedName", + "src": "22345:15:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_12", + "nodeType": "YulIdentifier", + "src": "22414:15:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22435:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "22446:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22431:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22431:18:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "22396:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "22396:54:30" + }, + "nodeType": "YulExpressionStatement", + "src": "22396:54:30" + }, + { + "nodeType": "YulAssignment", + "src": "22459:14:30", + "value": { + "name": "tail_3", + "nodeType": "YulIdentifier", + "src": "22467:6:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22459:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_PegOutQuote_$9919_memory_ptr__to_t_struct$_PegOutQuote_$9919_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "20170:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "20181:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "20192:4:30", + "type": "" + } + ], + "src": "20042:2437:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22658:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22675:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22686:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22668:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "22668:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "22668:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22709:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22720:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22705:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22705:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22725:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22698:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "22698:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "22698:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22747:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22758:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22743:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22743:18:30" + }, + { + "hexValue": "4c4243303139", + "kind": "string", + "nodeType": "YulLiteral", + "src": "22763:8:30", + "type": "", + "value": "LBC019" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22736:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "22736:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "22736:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "22781:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22793:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22804:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22789:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22789:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22781:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_41f42e8d0f67be0e87abf05a33ed728b4868df2f2b92840d9519a852352eb909__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "22635:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "22649:4:30", + "type": "" + } + ], + "src": "22484:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22850:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22867:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22874:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22879:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "22870:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22870:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22860:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "22860:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "22860:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22907:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22910:4:30", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22900:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "22900:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "22900:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22931:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22934:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "22924:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "22924:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "22924:15:30" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "22818:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22999:79:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23009:17:30", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "23021:1:30" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "23024:1:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23017:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "23017:9:30" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "23009:4:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23050:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "23052:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "23052:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "23052:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "23041:4:30" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "23047:1:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "23038:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "23038:11:30" + }, + "nodeType": "YulIf", + "src": "23035:37:30" + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "22981:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "22984:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "22990:4:30", + "type": "" + } + ], + "src": "22950:128:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23274:14:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23276:10:30", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23283:3:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "23276:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "23258:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "23266:3:30", + "type": "" + } + ], + "src": "23083:205:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23467:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23484:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23495:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23477:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "23477:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "23477:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23518:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23529:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23514:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "23514:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23534:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23507:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "23507:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "23507:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23556:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23567:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23552:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "23552:18:30" + }, + { + "hexValue": "4c4243303230", + "kind": "string", + "nodeType": "YulLiteral", + "src": "23572:8:30", + "type": "", + "value": "LBC020" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23545:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "23545:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "23545:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "23590:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23602:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23613:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23598:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "23598:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23590:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_5c242c0534fa00b11577be4ea886875d641e4a1ad40749685bb740e7c1a67fc9__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23444:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23458:4:30", + "type": "" + } + ], + "src": "23293:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23756:145:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23766:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23778:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23789:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23774:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "23774:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23766:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23808:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "23823:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23839:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23844:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "23835:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "23835:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23848:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23831:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "23831:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "23819:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "23819:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23801:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "23801:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "23801:51:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23872:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23883:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23868:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "23868:18:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "23888:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23861:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "23861:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "23861:34:30" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23717:9:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "23728:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "23736:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23747:4:30", + "type": "" + } + ], + "src": "23627:274:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24080:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24097:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24108:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24090:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "24090:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "24090:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24131:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24142:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24127:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "24127:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24147:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24120:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "24120:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "24120:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24169:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24180:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24165:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "24165:18:30" + }, + { + "hexValue": "4c4243303231", + "kind": "string", + "nodeType": "YulLiteral", + "src": "24185:8:30", + "type": "", + "value": "LBC021" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24158:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "24158:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "24158:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "24203:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24215:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24226:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24211:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "24211:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24203:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ccfdeeda37cff52b8b53c7f459ead001a00858d8cd279133dc1e599c6257c485__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "24057:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "24071:4:30", + "type": "" + } + ], + "src": "23906:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24414:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24431:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24442:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24424:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "24424:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "24424:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24465:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24476:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24461:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "24461:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24481:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24454:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "24454:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "24454:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24503:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24514:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24499:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "24499:18:30" + }, + { + "hexValue": "4c4243303232", + "kind": "string", + "nodeType": "YulLiteral", + "src": "24519:8:30", + "type": "", + "value": "LBC022" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24492:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "24492:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "24492:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "24537:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24549:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24560:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24545:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "24545:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24537:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ae5a5bd2536c79a56736074670f517df1b8a17deb822b59dfa1648888074b4cc__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "24391:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "24405:4:30", + "type": "" + } + ], + "src": "24240:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24748:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24765:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24776:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24758:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "24758:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "24758:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24799:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24810:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24795:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "24795:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24815:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24788:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "24788:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "24788:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24837:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24848:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24833:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "24833:18:30" + }, + { + "hexValue": "4c4243303033", + "kind": "string", + "nodeType": "YulLiteral", + "src": "24853:8:30", + "type": "", + "value": "LBC003" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24826:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "24826:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "24826:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "24871:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24883:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24894:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24879:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "24879:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24871:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_7e21a7b13292bf184f2fc166cca229506aa89a730258f15cdce6a2f8dc225415__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "24725:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "24739:4:30", + "type": "" + } + ], + "src": "24574:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25082:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25099:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25110:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25092:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "25092:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "25092:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25133:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25144:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25129:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "25129:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25149:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25122:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "25122:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "25122:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25171:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25182:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25167:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "25167:18:30" + }, + { + "hexValue": "4c4243303730", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25187:8:30", + "type": "", + "value": "LBC070" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25160:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "25160:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "25160:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "25205:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25217:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25228:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25213:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "25213:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25205:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a80fe4c2764b7c4b52829ebb2b1bb3117b2b8ffa6a6401dbe00248ec851a73a8__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "25059:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "25073:4:30", + "type": "" + } + ], + "src": "24908:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25416:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25433:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25444:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25426:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "25426:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "25426:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25467:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25478:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25463:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "25463:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25483:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25456:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "25456:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "25456:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25505:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25516:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25501:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "25501:18:30" + }, + { + "hexValue": "4c4243303039", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25521:8:30", + "type": "", + "value": "LBC009" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25494:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "25494:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "25494:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "25539:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25551:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25562:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25547:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "25547:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25539:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_f838e22b544c153329abcc9856d1b1f7e7f6c83118dc13d7a0606e65edb3cdd8__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "25393:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "25407:4:30", + "type": "" + } + ], + "src": "25242:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25768:63:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25785:3:30" + }, + { + "hexValue": "706567696e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25790:7:30", + "type": "", + "value": "pegin" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25778:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "25778:20:30" + }, + "nodeType": "YulExpressionStatement", + "src": "25778:20:30" + }, + { + "nodeType": "YulAssignment", + "src": "25807:18:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25818:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25823:1:30", + "type": "", + "value": "5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25814:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "25814:11:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "25807:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_4dc7b383aaca8b1076677685b160d1864e4801cbbaf42c8044d4665ea1c41120__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "25752:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "25760:3:30", + "type": "" + } + ], + "src": "25576:255:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25975:150:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "25985:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "26005:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "25999:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "25999:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "25989:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "26060:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26068:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26056:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "26056:17:30" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26075:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "26080:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "26021:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "26021:66:30" + }, + "nodeType": "YulExpressionStatement", + "src": "26021:66:30" + }, + { + "nodeType": "YulAssignment", + "src": "26096:23:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26107:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "26112:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26103:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "26103:16:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "26096:3:30" + } + ] + } + ] + }, + "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": "25951:3:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "25956:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "25967:3:30", + "type": "" + } + ], + "src": "25836:289:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26304:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26321:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26332:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26314:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "26314:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "26314:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26355:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26366:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26351:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "26351:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26371:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26344:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "26344:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "26344:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26393:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26404:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26389:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "26389:18:30" + }, + { + "hexValue": "4c4243303038", + "kind": "string", + "nodeType": "YulLiteral", + "src": "26409:8:30", + "type": "", + "value": "LBC008" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26382:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "26382:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "26382:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "26427:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26439:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26450:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26435:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "26435:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26427:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_26efcc4d852e81be6f75389e4f50496331355ea059764b90ab1412936d29ab69__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "26281:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "26295:4:30", + "type": "" + } + ], + "src": "26130:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26656:64:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26673:3:30" + }, + { + "hexValue": "7065676f7574", + "kind": "string", + "nodeType": "YulLiteral", + "src": "26678:8:30", + "type": "", + "value": "pegout" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26666:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "26666:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "26666:21:30" + }, + { + "nodeType": "YulAssignment", + "src": "26696:18:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26707:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26712:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26703:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "26703:11:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "26696:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_ac320a165668abf6cbe2f0b8e46bf2426fe38861df98fc1861161bf05a853587__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "26640:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "26648:3:30", + "type": "" + } + ], + "src": "26464:256:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26777:116:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26787:20:30", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26802:1:30" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "26805:1:30" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "26798:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "26798:9:30" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "26787:7:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26865:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "26867:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "26867:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "26867:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26836:1:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "26829:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "26829:9:30" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "26843:1:30" + }, + { + "arguments": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "26850:7:30" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26859:1:30" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "26846:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "26846:15:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "26840:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "26840:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "26826:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "26826:37:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "26819:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "26819:45:30" + }, + "nodeType": "YulIf", + "src": "26816:71:30" + } + ] + }, + "name": "checked_mul_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "26756:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "26759:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "26765:7:30", + "type": "" + } + ], + "src": "26725:168:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26930:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26947:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26954:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26959:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "26950:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "26950:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26940:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "26940:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "26940:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26987:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26990:4:30", + "type": "", + "value": "0x12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26980:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "26980:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "26980:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27011:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27014:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "27004:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "27004:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "27004:15:30" + } + ] + }, + "name": "panic_error_0x12", + "nodeType": "YulFunctionDefinition", + "src": "26898:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27076:74:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "27099:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x12", + "nodeType": "YulIdentifier", + "src": "27101:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "27101:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "27101:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "27096:1:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "27089:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "27089:9:30" + }, + "nodeType": "YulIf", + "src": "27086:35:30" + }, + { + "nodeType": "YulAssignment", + "src": "27130:14:30", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "27139:1:30" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "27142:1:30" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "27135:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27135:9:30" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "27130:1:30" + } + ] + } + ] + }, + "name": "checked_div_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "27061:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "27064:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "r", + "nodeType": "YulTypedName", + "src": "27070:1:30", + "type": "" + } + ], + "src": "27030:120:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27193:74:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "27216:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x12", + "nodeType": "YulIdentifier", + "src": "27218:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "27218:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "27218:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "27213:1:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "27206:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "27206:9:30" + }, + "nodeType": "YulIf", + "src": "27203:35:30" + }, + { + "nodeType": "YulAssignment", + "src": "27247:14:30", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "27256:1:30" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "27259:1:30" + } + ], + "functionName": { + "name": "mod", + "nodeType": "YulIdentifier", + "src": "27252:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27252:9:30" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "27247:1:30" + } + ] + } + ] + }, + "name": "mod_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "27178:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "27181:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "r", + "nodeType": "YulTypedName", + "src": "27187:1:30", + "type": "" + } + ], + "src": "27155:112:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27320:77:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27330:16:30", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "27341:1:30" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "27344:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27337:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27337:9:30" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "27330:3:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27369:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "27371:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "27371:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "27371:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "27361:1:30" + }, + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "27364:3:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "27358:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "27358:10:30" + }, + "nodeType": "YulIf", + "src": "27355:36:30" + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "27303:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "27306:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "27312:3:30", + "type": "" + } + ], + "src": "27272:125:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27449:88:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "27480:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "27482:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "27482:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "27482:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27465:5:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27476:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "27472:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27472:6:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "27462:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "27462:17:30" + }, + "nodeType": "YulIf", + "src": "27459:43:30" + }, + { + "nodeType": "YulAssignment", + "src": "27511:20:30", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27522:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27529:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27518:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27518:13:30" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "27511:3:30" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "27431:5:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "27441:3:30", + "type": "" + } + ], + "src": "27402:135:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27597:325:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27607:22:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27621:1:30", + "type": "", + "value": "1" + }, + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "27624:4:30" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "27617:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27617:12:30" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "27607:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "27638:38:30", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "27668:4:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27674:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "27664:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27664:12:30" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "27642:18:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27715:31:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27717:27:30", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "27731:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27739:4:30", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "27727:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27727:17:30" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "27717:6:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "27695:18:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "27688:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "27688:26:30" + }, + "nodeType": "YulIf", + "src": "27685:61:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27805:111:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27826:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27833:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27838:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "27829:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27829:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27819:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "27819:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "27819:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27870:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27873:4:30", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27863:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "27863:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "27863:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27898:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27901:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "27891:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "27891:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "27891:15:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "27761:18:30" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "27784:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27792:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "27781:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "27781:14:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "27758:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "27758:38:30" + }, + "nodeType": "YulIf", + "src": "27755:161:30" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "27577:4:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "27586:6:30", + "type": "" + } + ], + "src": "27542:380:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27983:65:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28000:1:30", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "28003:3:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27993:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "27993:14:30" + }, + "nodeType": "YulExpressionStatement", + "src": "27993:14:30" + }, + { + "nodeType": "YulAssignment", + "src": "28016:26:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28034:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28037:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nodeType": "YulIdentifier", + "src": "28024:9:30" + }, + "nodeType": "YulFunctionCall", + "src": "28024:18:30" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "28016:4:30" + } + ] + } + ] + }, + "name": "array_dataslot_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "27966:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "27974:4:30", + "type": "" + } + ], + "src": "27927:121:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28134:464:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "28167:425:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "28181:11:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28191:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "28185:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "28212:2:30" + }, + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "28216:5:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28205:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "28205:17:30" + }, + "nodeType": "YulExpressionStatement", + "src": "28205:17:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28235:31:30", + "value": { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "28257:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28261:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nodeType": "YulIdentifier", + "src": "28247:9:30" + }, + "nodeType": "YulFunctionCall", + "src": "28247:19:30" + }, + "variables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "28239:4:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28279:57:30", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "28302:4:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28312:1:30", + "type": "", + "value": "5" + }, + { + "arguments": [ + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "28319:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28331:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28315:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28315:19:30" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "28308:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28308:27:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28298:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28298:38:30" + }, + "variables": [ + { + "name": "deleteStart", + "nodeType": "YulTypedName", + "src": "28283:11:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28373:23:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28375:19:30", + "value": { + "name": "data", + "nodeType": "YulIdentifier", + "src": "28390:4:30" + }, + "variableNames": [ + { + "name": "deleteStart", + "nodeType": "YulIdentifier", + "src": "28375:11:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "28355:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28367:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "28352:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "28352:20:30" + }, + "nodeType": "YulIf", + "src": "28349:47:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28409:41:30", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "28423:4:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28433:1:30", + "type": "", + "value": "5" + }, + { + "arguments": [ + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "28440:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28445:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28436:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28436:12:30" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "28429:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28429:20:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28419:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28419:31:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "28413:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28463:24:30", + "value": { + "name": "deleteStart", + "nodeType": "YulIdentifier", + "src": "28476:11:30" + }, + "variables": [ + { + "name": "start", + "nodeType": "YulTypedName", + "src": "28467:5:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28561:21:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "28570:5:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "28577:2:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "28563:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "28563:17:30" + }, + "nodeType": "YulExpressionStatement", + "src": "28563:17:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "28511:5:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "28518:2:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "28508:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "28508:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "28522:26:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28524:22:30", + "value": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "28537:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28544:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28533:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28533:13:30" + }, + "variableNames": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "28524:5:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "28504:3:30", + "statements": [] + }, + "src": "28500:82:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "28150:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28155:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "28147:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "28147:11:30" + }, + "nodeType": "YulIf", + "src": "28144:448:30" + } + ] + }, + "name": "clean_up_bytearray_end_slots_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "28106:5:30", + "type": "" + }, + { + "name": "len", + "nodeType": "YulTypedName", + "src": "28113:3:30", + "type": "" + }, + { + "name": "startIndex", + "nodeType": "YulTypedName", + "src": "28118:10:30", + "type": "" + } + ], + "src": "28053:545:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28688:81:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28698:65:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "28713:4:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28731:1:30", + "type": "", + "value": "3" + }, + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "28734:3:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "28727:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28727:11:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28744:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "28740:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28740:6:30" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "28723:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28723:24:30" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "28719:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28719:29:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "28709:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28709:40:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28755:1:30", + "type": "", + "value": "1" + }, + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "28758:3:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "28751:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28751:11:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "28706:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "28706:57:30" + }, + "variableNames": [ + { + "name": "used", + "nodeType": "YulIdentifier", + "src": "28698:4:30" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "28665:4:30", + "type": "" + }, + { + "name": "len", + "nodeType": "YulTypedName", + "src": "28671:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nodeType": "YulTypedName", + "src": "28679:4:30", + "type": "" + } + ], + "src": "28603:166:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28870:1256:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "28880:24:30", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "28900:3:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "28894:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "28894:10:30" + }, + "variables": [ + { + "name": "newLen", + "nodeType": "YulTypedName", + "src": "28884:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28947:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "28949:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "28949:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "28949:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "28919:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28935:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28939:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "28931:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28931:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28943:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "28927:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28927:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "28916:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "28916:30:30" + }, + "nodeType": "YulIf", + "src": "28913:56:30" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "29022:4:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "29060:4:30" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "29054:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "29054:11:30" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nodeType": "YulIdentifier", + "src": "29028:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "29028:38:30" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "29068:6:30" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_string_storage", + "nodeType": "YulIdentifier", + "src": "28978:43:30" + }, + "nodeType": "YulFunctionCall", + "src": "28978:97:30" + }, + "nodeType": "YulExpressionStatement", + "src": "28978:97:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "29084:18:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29101:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nodeType": "YulTypedName", + "src": "29088:9:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "29111:23:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29130:4:30", + "type": "", + "value": "0x20" + }, + "variables": [ + { + "name": "srcOffset_1", + "nodeType": "YulTypedName", + "src": "29115:11:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "29143:24:30", + "value": { + "name": "srcOffset_1", + "nodeType": "YulIdentifier", + "src": "29156:11:30" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "29143:9:30" + } + ] + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "29213:656:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "29227:35:30", + "value": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "29246:6:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29258:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "29254:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29254:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "29242:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29242:20:30" + }, + "variables": [ + { + "name": "loopEnd", + "nodeType": "YulTypedName", + "src": "29231:7:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "29275:49:30", + "value": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "29319:4:30" + } + ], + "functionName": { + "name": "array_dataslot_string_storage", + "nodeType": "YulIdentifier", + "src": "29289:29:30" + }, + "nodeType": "YulFunctionCall", + "src": "29289:35:30" + }, + "variables": [ + { + "name": "dstPtr", + "nodeType": "YulTypedName", + "src": "29279:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "29337:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29346:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "29341:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29424:172:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "29449:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "29467:3:30" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "29472:9:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29463:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29463:19:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "29457:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "29457:26:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "29442:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "29442:42:30" + }, + "nodeType": "YulExpressionStatement", + "src": "29442:42:30" + }, + { + "nodeType": "YulAssignment", + "src": "29501:24:30", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "29515:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29523:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29511:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29511:14:30" + }, + "variableNames": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "29501:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "29542:40:30", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "29559:9:30" + }, + { + "name": "srcOffset_1", + "nodeType": "YulIdentifier", + "src": "29570:11:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29555:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29555:27:30" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "29542:9:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "29371:1:30" + }, + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "29374:7:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "29368:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "29368:14:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "29383:28:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29385:24:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "29394:1:30" + }, + { + "name": "srcOffset_1", + "nodeType": "YulIdentifier", + "src": "29397:11:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29390:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29390:19:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "29385:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "29364:3:30", + "statements": [] + }, + "src": "29360:236:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29644:166:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "29662:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "29689:3:30" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "29694:9:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29685:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29685:19:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "29679:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "29679:26:30" + }, + "variables": [ + { + "name": "lastValue", + "nodeType": "YulTypedName", + "src": "29666:9:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "29729:6:30" + }, + { + "arguments": [ + { + "name": "lastValue", + "nodeType": "YulIdentifier", + "src": "29741:9:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29768:1:30", + "type": "", + "value": "3" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "29771:6:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "29764:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29764:14:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29780:3:30", + "type": "", + "value": "248" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "29760:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29760:24:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29790:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "29786:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29786:6:30" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "29756:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29756:37:30" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "29752:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29752:42:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "29737:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29737:58:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "29722:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "29722:74:30" + }, + "nodeType": "YulExpressionStatement", + "src": "29722:74:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "29615:7:30" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "29624:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "29612:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "29612:19:30" + }, + "nodeType": "YulIf", + "src": "29609:201:30" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "29830:4:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29844:1:30", + "type": "", + "value": "1" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "29847:6:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "29840:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29840:14:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29856:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29836:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29836:22:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "29823:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "29823:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "29823:36:30" + } + ] + }, + "nodeType": "YulCase", + "src": "29206:663:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29211:1:30", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29886:234:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "29900:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29913:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "29904:5:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29949:67:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29967:35:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "29986:3:30" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "29991:9:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29982:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29982:19:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "29976:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "29976:26:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "29967:5:30" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "29930:6:30" + }, + "nodeType": "YulIf", + "src": "29927:89:30" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "30036:4:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "30095:5:30" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "30102:6:30" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulIdentifier", + "src": "30042:52:30" + }, + "nodeType": "YulFunctionCall", + "src": "30042:67:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "30029:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "30029:81:30" + }, + "nodeType": "YulExpressionStatement", + "src": "30029:81:30" + } + ] + }, + "nodeType": "YulCase", + "src": "29878:242:30", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "29186:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29194:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "29183:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "29183:14:30" + }, + "nodeType": "YulSwitch", + "src": "29176:944:30" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "28855:4:30", + "type": "" + }, + { + "name": "src", + "nodeType": "YulTypedName", + "src": "28861:3:30", + "type": "" + } + ], + "src": "28774:1352:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30260:119:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30270:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30282:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30293:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30278:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "30278:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30270:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30312:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "30323:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30305:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "30305:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "30305:25:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30350:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30361:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30346:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "30346:18:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "30366:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30339:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "30339:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "30339:34:30" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "30221:9:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "30232:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "30240:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "30251:4:30", + "type": "" + } + ], + "src": "30131:248:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30558:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30575:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30586:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30568:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "30568:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "30568:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30609:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30620:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30605:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "30605:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30625:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30598:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "30598:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "30598:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30647:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30658:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30643:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "30643:18:30" + }, + { + "hexValue": "4c4243303031", + "kind": "string", + "nodeType": "YulLiteral", + "src": "30663:8:30", + "type": "", + "value": "LBC001" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30636:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "30636:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "30636:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "30681:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30693:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30704:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30689:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "30689:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30681:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a509ede2323476f3f5be48987391c5516e4ea8116b376287322ed2188be0e53c__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "30535:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "30549:4:30", + "type": "" + } + ], + "src": "30384:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30892:236:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30909:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30920:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30902:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "30902:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "30902:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30943:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30954:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30939:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "30939:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30959:2:30", + "type": "", + "value": "46" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30932:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "30932:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "30932:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30982:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30993:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30978:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "30978:18:30" + }, + { + "hexValue": "496e697469616c697a61626c653a20636f6e747261637420697320616c726561", + "kind": "string", + "nodeType": "YulLiteral", + "src": "30998:34:30", + "type": "", + "value": "Initializable: contract is alrea" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30971:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "30971:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "30971:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31053:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31064:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31049:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "31049:18:30" + }, + { + "hexValue": "647920696e697469616c697a6564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31069:16:30", + "type": "", + "value": "dy initialized" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31042:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "31042:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "31042:44:30" + }, + { + "nodeType": "YulAssignment", + "src": "31095:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31107:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31118:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31103:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "31103:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31095:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "30869:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "30883:4:30", + "type": "" + } + ], + "src": "30718:410:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31307:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31324:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31335:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31317:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "31317:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "31317:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31358:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31369:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31354:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "31354:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31374:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31347:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "31347:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "31347:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31396:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31407:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31392:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "31392:18:30" + }, + { + "hexValue": "4c4243303034", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31412:8:30", + "type": "", + "value": "LBC004" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31385:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "31385:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "31385:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "31430:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31442:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31453:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31438:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "31438:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31430:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b08af29ae9ab6d901d6564b35ffdb791cf633ea45a36ea23bf660bfada2612fe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "31284:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "31298:4:30", + "type": "" + } + ], + "src": "31133:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31641:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31658:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31669:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31651:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "31651:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "31651:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31692:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31703:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31688:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "31688:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31708:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31681:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "31681:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "31681:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31730:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31741:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31726:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "31726:18:30" + }, + { + "hexValue": "4c4243303732", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31746:8:30", + "type": "", + "value": "LBC072" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31719:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "31719:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "31719:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "31764:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31776:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31787:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31772:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "31772:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31764:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_aef7c38006d01c174c6b5b14fe8e6059baae2f7a6dd6bce99907771d261c0abd__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "31618:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "31632:4:30", + "type": "" + } + ], + "src": "31467:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31975:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31992:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32003:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31985:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "31985:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "31985:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32026:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32037:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32022:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "32022:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32042:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32015:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "32015:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "32015:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32064:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32075:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32060:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "32060:18:30" + }, + { + "hexValue": "4c4243303733", + "kind": "string", + "nodeType": "YulLiteral", + "src": "32080:8:30", + "type": "", + "value": "LBC073" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32053:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "32053:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "32053:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "32098:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32110:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32121:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32106:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "32106:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32098:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b87a2fdd3e8805c862b0b631e2cf43b048cd2e48956f7516ed8be20eb14ec931__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "31952:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "31966:4:30", + "type": "" + } + ], + "src": "31801:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32242:87:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32252:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32264:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32275:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32260:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "32260:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32252:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32294:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "32309:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32317:4:30", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "32305:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "32305:17:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32287:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "32287:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "32287:36:30" + } + ] + }, + "name": "abi_encode_tuple_t_rational_1_by_1__to_t_uint8__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "32211:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "32222:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "32233:4:30", + "type": "" + } + ], + "src": "32135:194:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32366:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32383:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32390:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32395:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "32386:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "32386:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32376:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "32376:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "32376:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32423:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32426:4:30", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32416:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "32416:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "32416:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32447:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32450:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "32440:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "32440:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "32440:15:30" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "32334:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32640:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32657:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32668:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32650:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "32650:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "32650:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32691:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32702:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32687:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "32687:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32707:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32680:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "32680:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "32680:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32729:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32740:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32725:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "32725:18:30" + }, + { + "hexValue": "4c4243303233", + "kind": "string", + "nodeType": "YulLiteral", + "src": "32745:8:30", + "type": "", + "value": "LBC023" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32718:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "32718:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "32718:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "32763:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32775:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32786:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32771:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "32771:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32763:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1e153c8413fa71b1dc88c42214ae3211e20bbd7d323adc3a7cb82fb90c05d672__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "32617:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "32631:4:30", + "type": "" + } + ], + "src": "32466:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32974:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32991:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33002:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32984:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "32984:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "32984:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33025:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33036:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33021:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "33021:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33041:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33014:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "33014:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "33014:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33063:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33074:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33059:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "33059:18:30" + }, + { + "hexValue": "4c4243303238", + "kind": "string", + "nodeType": "YulLiteral", + "src": "33079:8:30", + "type": "", + "value": "LBC028" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33052:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "33052:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "33052:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "33097:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33109:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33120:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33105:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "33105:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33097:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_4c4b8fd0ae53a3caa85e74f53bba210cefdcb0e1d1c519eb8385d2cd3741f7fb__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "32951:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "32965:4:30", + "type": "" + } + ], + "src": "32800:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33317:211:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33334:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "33349:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33365:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33370:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "33361:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "33361:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33374:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "33357:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "33357:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "33345:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "33345:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33327:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "33327:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "33327:51:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33398:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33409:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33394:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "33394:18:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "33414:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33387:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "33387:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "33387:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33441:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33452:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33437:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "33437:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33457:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33430:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "33430:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "33430:30:30" + }, + { + "nodeType": "YulAssignment", + "src": "33469:53:30", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "33495:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33507:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33518:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33503:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "33503:18:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "33477:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "33477:45:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33469:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_bytes32_t_bytes_memory_ptr__to_t_address_t_bytes32_t_bytes_memory_ptr__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "33270:9:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "33281:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "33289:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "33297:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "33308:4:30", + "type": "" + } + ], + "src": "33134:394:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33611:167:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "33657:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33666:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33669:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "33659:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "33659:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "33659:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "33632:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33641:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "33628:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "33628:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33653:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "33624:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "33624:32:30" + }, + "nodeType": "YulIf", + "src": "33621:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "33682:29:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33701:9:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "33695:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "33695:16:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "33686:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "33742:5:30" + } + ], + "functionName": { + "name": "validator_revert_bool", + "nodeType": "YulIdentifier", + "src": "33720:21:30" + }, + "nodeType": "YulFunctionCall", + "src": "33720:28:30" + }, + "nodeType": "YulExpressionStatement", + "src": "33720:28:30" + }, + { + "nodeType": "YulAssignment", + "src": "33757:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "33767:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "33757:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bool_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "33577:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "33588:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "33600:6:30", + "type": "" + } + ], + "src": "33533:245:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33957:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33974:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33985:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33967:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "33967:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "33967:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34008:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34019:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34004:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "34004:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34024:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33997:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "33997:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "33997:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34046:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34057:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34042:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "34042:18:30" + }, + { + "hexValue": "4c4243303239", + "kind": "string", + "nodeType": "YulLiteral", + "src": "34062:8:30", + "type": "", + "value": "LBC029" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34035:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "34035:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "34035:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "34080:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34092:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34103:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34088:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "34088:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34080:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ebb41fd1c3d95b8eaff1e56d491f7a983f7f3039fac57e6fad7993de139e2216__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "33934:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "33948:4:30", + "type": "" + } + ], + "src": "33783:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34291:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34308:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34319:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34301:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "34301:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "34301:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34342:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34353:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34338:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "34338:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34358:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34331:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "34331:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "34331:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34380:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34391:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34376:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "34376:18:30" + }, + { + "hexValue": "4c4243303330", + "kind": "string", + "nodeType": "YulLiteral", + "src": "34396:8:30", + "type": "", + "value": "LBC030" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34369:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "34369:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "34369:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "34414:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34426:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34437:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34422:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "34422:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34414:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_6b987c2142a6ed89e76021f4d9a60f3cbfc2f7110bd81bc33ff58ad7cf27befa__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "34268:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "34282:4:30", + "type": "" + } + ], + "src": "34117:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34625:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34642:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34653:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34635:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "34635:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "34635:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34676:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34687:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34672:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "34672:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34692:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34665:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "34665:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "34665:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34714:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34725:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34710:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "34710:18:30" + }, + { + "hexValue": "4c4243303331", + "kind": "string", + "nodeType": "YulLiteral", + "src": "34730:8:30", + "type": "", + "value": "LBC031" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34703:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "34703:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "34703:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "34748:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34760:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34771:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34756:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "34756:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34748:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b9f5a33cea5e5738277827f2f81faa92d1d3c73cf030e2542a7b80c6f7bdc8a7__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "34602:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "34616:4:30", + "type": "" + } + ], + "src": "34451:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34959:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34976:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34987:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34969:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "34969:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "34969:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35010:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35021:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35006:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "35006:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35026:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34999:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "34999:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "34999:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35048:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35059:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35044:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "35044:18:30" + }, + { + "hexValue": "4c4243303332", + "kind": "string", + "nodeType": "YulLiteral", + "src": "35064:8:30", + "type": "", + "value": "LBC032" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35037:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "35037:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "35037:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "35082:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35094:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35105:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35090:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "35090:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35082:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_5d8d108d93a53583cf1949d2287cc7f0af5603bd102faf9db90e7e6bbc90ade8__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "34936:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "34950:4:30", + "type": "" + } + ], + "src": "34785:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35293:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35310:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35321:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35303:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "35303:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "35303:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35344:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35355:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35340:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "35340:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35360:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35333:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "35333:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "35333:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35382:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35393:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35378:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "35378:18:30" + }, + { + "hexValue": "4c4243303333", + "kind": "string", + "nodeType": "YulLiteral", + "src": "35398:8:30", + "type": "", + "value": "LBC033" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35371:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "35371:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "35371:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "35416:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35428:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35439:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35424:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "35424:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35416:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_e976d8a3febca36c67dcd5b38ae845ffd2f248a24eaf2d7a97f208ffd80ff125__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "35270:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "35284:4:30", + "type": "" + } + ], + "src": "35119:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35627:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35644:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35655:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35637:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "35637:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "35637:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35678:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35689:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35674:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "35674:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35694:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35667:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "35667:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "35667:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35716:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35727:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35712:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "35712:18:30" + }, + { + "hexValue": "4c4243303334", + "kind": "string", + "nodeType": "YulLiteral", + "src": "35732:8:30", + "type": "", + "value": "LBC034" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35705:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "35705:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "35705:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "35750:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35762:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35773:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35758:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "35758:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35750:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_745436b16371784f7b451bf4bed6f0978e2f007f74e71dfa0c49414b3a522759__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "35604:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "35618:4:30", + "type": "" + } + ], + "src": "35453:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35961:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35978:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35989:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35971:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "35971:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "35971:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36012:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36023:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36008:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36008:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36028:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36001:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "36001:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "36001:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36050:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36061:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36046:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36046:18:30" + }, + { + "hexValue": "4c4243303335", + "kind": "string", + "nodeType": "YulLiteral", + "src": "36066:8:30", + "type": "", + "value": "LBC035" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36039:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "36039:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "36039:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "36084:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36096:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36107:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36092:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36092:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36084:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_37570ea73114ff69cb8aab9e09d6f5beb11b36ce1a2ae19ee6f5de28dc42d754__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "35938:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "35952:4:30", + "type": "" + } + ], + "src": "35787:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36295:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36312:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36323:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36305:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "36305:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "36305:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36346:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36357:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36342:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36342:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36362:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36335:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "36335:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "36335:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36384:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36395:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36380:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36380:18:30" + }, + { + "hexValue": "4c4243303336", + "kind": "string", + "nodeType": "YulLiteral", + "src": "36400:8:30", + "type": "", + "value": "LBC036" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36373:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "36373:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "36373:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "36418:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36430:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36441:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36426:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36426:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36418:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_5ccb4449252c316623411606962515c0966208bcce5fe352c2e850b058d1077c__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "36272:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "36286:4:30", + "type": "" + } + ], + "src": "36121:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36612:188:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "36622:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36634:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36645:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36630:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36630:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36622:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36664:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "36679:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36695:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36700:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "36691:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36691:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36704:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "36687:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36687:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "36675:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36675:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36657:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "36657:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "36657:51:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36728:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36739:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36724:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36724:18:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "36744:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36717:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "36717:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "36717:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36771:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36782:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36767:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36767:18:30" + }, + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "36787:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36760:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "36760:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "36760:34:30" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256_t_bytes32__to_t_address_t_uint256_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "36565:9:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "36576:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "36584:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "36592:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "36603:4:30", + "type": "" + } + ], + "src": "36455:345:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36932:119:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "36942:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36954:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36965:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36950:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36950:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36942:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36984:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "36995:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36977:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "36977:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "36977:25:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37022:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37033:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37018:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37018:18:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "37038:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37011:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "37011:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "37011:34:30" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_int256__to_t_bytes32_t_int256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "36893:9:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "36904:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "36912:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "36923:4:30", + "type": "" + } + ], + "src": "36805:246:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37100:64:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37117:3:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "37126:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37145:2:30", + "type": "", + "value": "96" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37149:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "37141:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37141:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37153:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "37137:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37137:18:30" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "37133:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37133:23:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "37122:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37122:35:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37110:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "37110:48:30" + }, + "nodeType": "YulExpressionStatement", + "src": "37110:48:30" + } + ] + }, + "name": "abi_encode_bytes20", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "37084:5:30", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "37091:3:30", + "type": "" + } + ], + "src": "37056:108:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37230:2208:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "37240:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37250:6:30", + "type": "", + "value": "0x0240" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "37244:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "37290:5:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "37284:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "37284:12:30" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37298:3:30" + } + ], + "functionName": { + "name": "abi_encode_bytes20", + "nodeType": "YulIdentifier", + "src": "37265:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "37265:37:30" + }, + "nodeType": "YulExpressionStatement", + "src": "37265:37:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "37311:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "37341:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37348:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37337:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37337:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "37331:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "37331:23:30" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "37315:12:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "37382:12:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37400:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37405:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37396:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37396:14:30" + } + ], + "functionName": { + "name": "abi_encode_address", + "nodeType": "YulIdentifier", + "src": "37363:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "37363:48:30" + }, + "nodeType": "YulExpressionStatement", + "src": "37363:48:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "37420:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "37452:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37459:4:30", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37448:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37448:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "37442:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "37442:23:30" + }, + "variables": [ + { + "name": "memberValue0_1", + "nodeType": "YulTypedName", + "src": "37424:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_1", + "nodeType": "YulIdentifier", + "src": "37493:14:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37513:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37518:4:30", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37509:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37509:14:30" + } + ], + "functionName": { + "name": "abi_encode_address", + "nodeType": "YulIdentifier", + "src": "37474:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "37474:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "37474:50:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "37533:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "37565:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37572:4:30", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37561:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37561:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "37555:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "37555:23:30" + }, + "variables": [ + { + "name": "memberValue0_2", + "nodeType": "YulTypedName", + "src": "37537:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37598:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37603:4:30", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37594:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37594:14:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "37610:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37587:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "37587:26:30" + }, + "nodeType": "YulExpressionStatement", + "src": "37587:26:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "37622:59:30", + "value": { + "arguments": [ + { + "name": "memberValue0_2", + "nodeType": "YulIdentifier", + "src": "37652:14:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37672:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "37677:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37668:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37668:12:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "37634:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "37634:47:30" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "37626:4:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "37690:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "37722:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37729:4:30", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37718:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37718:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "37712:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "37712:23:30" + }, + "variables": [ + { + "name": "memberValue0_3", + "nodeType": "YulTypedName", + "src": "37694:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_3", + "nodeType": "YulIdentifier", + "src": "37763:14:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37783:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37788:4:30", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37779:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37779:14:30" + } + ], + "functionName": { + "name": "abi_encode_address", + "nodeType": "YulIdentifier", + "src": "37744:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "37744:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "37744:50:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "37803:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "37835:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37842:4:30", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37831:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37831:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "37825:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "37825:23:30" + }, + "variables": [ + { + "name": "memberValue0_4", + "nodeType": "YulTypedName", + "src": "37807:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37868:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37873:4:30", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37864:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37864:14:30" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37884:4:30" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37890:3:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "37880:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37880:14:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37857:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "37857:38:30" + }, + "nodeType": "YulExpressionStatement", + "src": "37857:38:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "37904:53:30", + "value": { + "arguments": [ + { + "name": "memberValue0_4", + "nodeType": "YulIdentifier", + "src": "37936:14:30" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37952:4:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "37918:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "37918:39:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "37908:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37977:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37982:4:30", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37973:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37973:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "37999:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38006:4:30", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37995:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37995:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "37989:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "37989:23:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37966:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "37966:47:30" + }, + "nodeType": "YulExpressionStatement", + "src": "37966:47:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38033:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38038:4:30", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38029:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38029:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "38055:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38062:4:30", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38051:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38051:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "38045:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "38045:23:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38022:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "38022:47:30" + }, + "nodeType": "YulExpressionStatement", + "src": "38022:47:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "38078:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38088:6:30", + "type": "", + "value": "0x0100" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "38082:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "38103:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "38135:5:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "38142:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38131:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38131:14:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "38125:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "38125:21:30" + }, + "variables": [ + { + "name": "memberValue0_5", + "nodeType": "YulTypedName", + "src": "38107:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_5", + "nodeType": "YulIdentifier", + "src": "38174:14:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38194:3:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "38199:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38190:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38190:12:30" + } + ], + "functionName": { + "name": "abi_encode_address", + "nodeType": "YulIdentifier", + "src": "38155:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "38155:48:30" + }, + "nodeType": "YulExpressionStatement", + "src": "38155:48:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "38212:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38222:6:30", + "type": "", + "value": "0x0120" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "38216:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "38237:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "38269:5:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "38276:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38265:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38265:14:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "38259:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "38259:21:30" + }, + "variables": [ + { + "name": "memberValue0_6", + "nodeType": "YulTypedName", + "src": "38241:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38300:3:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "38305:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38296:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38296:12:30" + }, + { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "38314:6:30" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38322:3:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "38310:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38310:16:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38289:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "38289:38:30" + }, + "nodeType": "YulExpressionStatement", + "src": "38289:38:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "38336:55:30", + "value": { + "arguments": [ + { + "name": "memberValue0_6", + "nodeType": "YulIdentifier", + "src": "38368:14:30" + }, + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "38384:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "38350:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "38350:41:30" + }, + "variables": [ + { + "name": "tail_2", + "nodeType": "YulTypedName", + "src": "38340:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "38400:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38410:6:30", + "type": "", + "value": "0x0140" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "38404:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "38425:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "38457:5:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "38464:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38453:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38453:14:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "38447:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "38447:21:30" + }, + "variables": [ + { + "name": "memberValue0_7", + "nodeType": "YulTypedName", + "src": "38429:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_7", + "nodeType": "YulIdentifier", + "src": "38495:14:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38515:3:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "38520:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38511:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38511:12:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "38477:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "38477:47:30" + }, + "nodeType": "YulExpressionStatement", + "src": "38477:47:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "38533:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38543:6:30", + "type": "", + "value": "0x0160" + }, + "variables": [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "38537:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "38558:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "38590:5:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "38597:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38586:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38586:14:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "38580:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "38580:21:30" + }, + "variables": [ + { + "name": "memberValue0_8", + "nodeType": "YulTypedName", + "src": "38562:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_8", + "nodeType": "YulIdentifier", + "src": "38627:14:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38647:3:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "38652:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38643:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38643:12:30" + } + ], + "functionName": { + "name": "abi_encode_int64", + "nodeType": "YulIdentifier", + "src": "38610:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "38610:46:30" + }, + "nodeType": "YulExpressionStatement", + "src": "38610:46:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "38665:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38675:6:30", + "type": "", + "value": "0x0180" + }, + "variables": [ + { + "name": "_6", + "nodeType": "YulTypedName", + "src": "38669:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38701:3:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "38706:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38697:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38697:12:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "38721:5:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "38728:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38717:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38717:14:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "38711:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "38711:21:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38690:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "38690:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "38690:43:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "38742:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38752:6:30", + "type": "", + "value": "0x01a0" + }, + "variables": [ + { + "name": "_7", + "nodeType": "YulTypedName", + "src": "38746:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "38767:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "38799:5:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "38806:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38795:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38795:14:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "38789:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "38789:21:30" + }, + "variables": [ + { + "name": "memberValue0_9", + "nodeType": "YulTypedName", + "src": "38771:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_9", + "nodeType": "YulIdentifier", + "src": "38837:14:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38857:3:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "38862:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38853:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38853:12:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "38819:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "38819:47:30" + }, + "nodeType": "YulExpressionStatement", + "src": "38819:47:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "38875:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38885:6:30", + "type": "", + "value": "0x01c0" + }, + "variables": [ + { + "name": "_8", + "nodeType": "YulTypedName", + "src": "38879:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "38900:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "38933:5:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "38940:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38929:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38929:14:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "38923:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "38923:21:30" + }, + "variables": [ + { + "name": "memberValue0_10", + "nodeType": "YulTypedName", + "src": "38904:15:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_10", + "nodeType": "YulIdentifier", + "src": "38971:15:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38992:3:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "38997:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38988:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38988:12:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "38953:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "38953:48:30" + }, + "nodeType": "YulExpressionStatement", + "src": "38953:48:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "39010:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39020:6:30", + "type": "", + "value": "0x01e0" + }, + "variables": [ + { + "name": "_9", + "nodeType": "YulTypedName", + "src": "39014:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "39035:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "39068:5:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "39075:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39064:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39064:14:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "39058:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "39058:21:30" + }, + "variables": [ + { + "name": "memberValue0_11", + "nodeType": "YulTypedName", + "src": "39039:15:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_11", + "nodeType": "YulIdentifier", + "src": "39106:15:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39127:3:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "39132:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39123:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39123:12:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "39088:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "39088:48:30" + }, + "nodeType": "YulExpressionStatement", + "src": "39088:48:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "39145:17:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39156:6:30", + "type": "", + "value": "0x0200" + }, + "variables": [ + { + "name": "_10", + "nodeType": "YulTypedName", + "src": "39149:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "39171:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "39204:5:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "39211:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39200:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39200:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "39194:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "39194:22:30" + }, + "variables": [ + { + "name": "memberValue0_12", + "nodeType": "YulTypedName", + "src": "39175:15:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_12", + "nodeType": "YulIdentifier", + "src": "39243:15:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39264:3:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "39269:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39260:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39260:13:30" + } + ], + "functionName": { + "name": "abi_encode_uint16", + "nodeType": "YulIdentifier", + "src": "39225:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "39225:49:30" + }, + "nodeType": "YulExpressionStatement", + "src": "39225:49:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "39283:17:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39294:6:30", + "type": "", + "value": "0x0220" + }, + "variables": [ + { + "name": "_11", + "nodeType": "YulTypedName", + "src": "39287:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "39309:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "39342:5:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "39349:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39338:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39338:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "39332:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "39332:22:30" + }, + "variables": [ + { + "name": "memberValue0_13", + "nodeType": "YulTypedName", + "src": "39313:15:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_13", + "nodeType": "YulIdentifier", + "src": "39379:15:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39400:3:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "39405:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39396:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39396:13:30" + } + ], + "functionName": { + "name": "abi_encode_bool", + "nodeType": "YulIdentifier", + "src": "39363:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "39363:47:30" + }, + "nodeType": "YulExpressionStatement", + "src": "39363:47:30" + }, + { + "nodeType": "YulAssignment", + "src": "39419:13:30", + "value": { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "39426:6:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "39419:3:30" + } + ] + } + ] + }, + "name": "abi_encode_struct_PeginQuote", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "37207:5:30", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "37214:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "37222:3:30", + "type": "" + } + ], + "src": "37169:2269:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39636:153:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39653:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39664:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39646:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "39646:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "39646:21:30" + }, + { + "nodeType": "YulAssignment", + "src": "39676:64:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "39713:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39725:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39736:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39721:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39721:18:30" + } + ], + "functionName": { + "name": "abi_encode_struct_PeginQuote", + "nodeType": "YulIdentifier", + "src": "39684:28:30" + }, + "nodeType": "YulFunctionCall", + "src": "39684:56:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39676:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39760:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39771:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39756:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39756:18:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "39776:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39749:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "39749:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "39749:34:30" + } + ] + }, + "name": "abi_encode_tuple_t_struct$_PeginQuote_$9884_memory_ptr_t_uint256__to_t_struct$_PeginQuote_$9884_memory_ptr_t_uint256__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "39597:9:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "39608:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "39616:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "39627:4:30", + "type": "" + } + ], + "src": "39443:346:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39981:248:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "39991:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40003:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40014:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39999:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39999:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39991:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40034:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "40049:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40065:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40070:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "40061:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40061:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40074:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "40057:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40057:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "40045:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40045:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40027:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40027:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "40027:51:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40098:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40109:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40094:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40094:18:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "40114:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40087:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40087:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "40087:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40141:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40152:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40137:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40137:18:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "40171:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "40164:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40164:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "40157:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40157:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40130:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40130:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "40130:50:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40200:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40211:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40196:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40196:18:30" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "40216:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40189:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40189:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "40189:34:30" + } + ] + }, + "name": "abi_encode_tuple_t_address_payable_t_uint256_t_bool_t_bytes32__to_t_address_t_uint256_t_bool_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "39926:9:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "39937:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "39945:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "39953:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "39961:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "39972:4:30", + "type": "" + } + ], + "src": "39794:435:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40371:150:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "40381:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "40401:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "40395:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "40395:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "40385:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "40456:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40464:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40452:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40452:17:30" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40471:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "40476:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "40417:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "40417:66:30" + }, + "nodeType": "YulExpressionStatement", + "src": "40417:66:30" + }, + { + "nodeType": "YulAssignment", + "src": "40492:23:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40503:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "40508:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40499:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40499:16:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "40492:3:30" + } + ] + } + ] + }, + "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": "40347:3:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "40352:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "40363:3:30", + "type": "" + } + ], + "src": "40234:287:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40750:307:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40767:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "40782:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40790:10:30", + "type": "", + "value": "0xffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "40778:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40778:23:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40760:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40760:42:30" + }, + "nodeType": "YulExpressionStatement", + "src": "40760:42:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40822:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40833:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40818:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40818:18:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "40838:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40811:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40811:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "40811:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40865:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40876:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40861:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40861:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40881:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40854:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40854:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "40854:31:30" + }, + { + "nodeType": "YulAssignment", + "src": "40894:54:30", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "40920:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40932:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40943:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40928:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40928:19:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "40902:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "40902:46:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40894:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40968:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40979:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40964:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40964:18:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "40998:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "40991:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40991:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "40984:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40984:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40957:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40957:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "40957:50:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41027:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41038:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41023:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41023:19:30" + }, + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "41044:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41016:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "41016:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "41016:35:30" + } + ] + }, + "name": "abi_encode_tuple_t_uint32_t_uint256_t_bytes_memory_ptr_t_bool_t_bytes32__to_t_uint256_t_uint256_t_bytes_memory_ptr_t_bool_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "40687:9:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "40698:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "40706:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "40714:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "40722:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "40730:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "40741:4:30", + "type": "" + } + ], + "src": "40526:531:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41236:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41253:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41264:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41246:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "41246:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "41246:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41287:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41298:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41283:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41283:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41303:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41276:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "41276:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "41276:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41325:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41336:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41321:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41321:18:30" + }, + { + "hexValue": "4c4243303035", + "kind": "string", + "nodeType": "YulLiteral", + "src": "41341:8:30", + "type": "", + "value": "LBC005" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41314:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "41314:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "41314:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "41359:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41371:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41382:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41367:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41367:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41359:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_0a36b25bf1b768acf545d4a7d22e9fceeba3414a7a19dc34973fc2e1be01a831__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "41213:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "41227:4:30", + "type": "" + } + ], + "src": "41062:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41570:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41587:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41598:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41580:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "41580:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "41580:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41621:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41632:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41617:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41617:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41637:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41610:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "41610:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "41610:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41659:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41670:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41655:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41655:18:30" + }, + { + "hexValue": "4c4243303337", + "kind": "string", + "nodeType": "YulLiteral", + "src": "41675:8:30", + "type": "", + "value": "LBC037" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41648:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "41648:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "41648:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "41693:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41705:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41716:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41701:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41701:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41693:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ecc75ee801269ba7670799af84ad7f1d968d59315783a708807424c72ec63d04__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "41547:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "41561:4:30", + "type": "" + } + ], + "src": "41396:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41904:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41921:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41932:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41914:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "41914:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "41914:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41955:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41966:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41951:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41951:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41971:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41944:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "41944:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "41944:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41993:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42004:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41989:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41989:18:30" + }, + { + "hexValue": "4c4243303633", + "kind": "string", + "nodeType": "YulLiteral", + "src": "42009:8:30", + "type": "", + "value": "LBC063" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41982:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "41982:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "41982:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "42027:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42039:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42050:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42035:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "42035:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42027:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_0267b5bcac1113eea8a4dc81e170e6fe59336df7f2c6a4d2ae7ad240f894a2f9__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "41881:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "41895:4:30", + "type": "" + } + ], + "src": "41730:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42238:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42255:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42266:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42248:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "42248:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "42248:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42289:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42300:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42285:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "42285:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42305:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42278:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "42278:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "42278:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42327:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42338:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42323:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "42323:18:30" + }, + { + "hexValue": "4c4243303635", + "kind": "string", + "nodeType": "YulLiteral", + "src": "42343:8:30", + "type": "", + "value": "LBC065" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42316:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "42316:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "42316:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "42361:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42373:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42384:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42369:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "42369:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42361:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_39eacc26aa588693c014f46e6dd86f6cac22eb3287098210ddf746f1a6af8214__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "42215:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "42229:4:30", + "type": "" + } + ], + "src": "42064:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42572:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42589:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42600:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42582:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "42582:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "42582:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42623:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42634:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42619:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "42619:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42639:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42612:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "42612:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "42612:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42661:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42672:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42657:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "42657:18:30" + }, + { + "hexValue": "4c4243303436", + "kind": "string", + "nodeType": "YulLiteral", + "src": "42677:8:30", + "type": "", + "value": "LBC046" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42650:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "42650:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "42650:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "42695:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42707:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42718:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42703:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "42703:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42695:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c8999eb883ba6531127283b89d3773d87761ac547946da55d1f52c5931d8838f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "42549:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "42563:4:30", + "type": "" + } + ], + "src": "42398:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42906:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42923:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42934:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42916:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "42916:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "42916:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42957:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42968:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42953:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "42953:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42973:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42946:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "42946:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "42946:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42995:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43006:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42991:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "42991:18:30" + }, + { + "hexValue": "4c4243303437", + "kind": "string", + "nodeType": "YulLiteral", + "src": "43011:8:30", + "type": "", + "value": "LBC047" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42984:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "42984:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "42984:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "43029:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43041:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43052:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43037:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "43037:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43029:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b400745c4fd650850c2059b2d13f12980ca63b7ccd87c008204992f11af559c2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "42883:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "42897:4:30", + "type": "" + } + ], + "src": "42732:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43240:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43257:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43268:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43250:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "43250:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "43250:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43291:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43302:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43287:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "43287:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43307:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43280:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "43280:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "43280:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43329:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43340:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43325:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "43325:18:30" + }, + { + "hexValue": "4c4243303634", + "kind": "string", + "nodeType": "YulLiteral", + "src": "43345:8:30", + "type": "", + "value": "LBC064" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43318:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "43318:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "43318:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "43363:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43375:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43386:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43371:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "43371:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43363:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_35937926b0033772f3bb574f0cbcffec40211211a6070977d47733885bf234eb__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "43217:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "43231:4:30", + "type": "" + } + ], + "src": "43066:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43494:1256:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "43504:24:30", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "43524:3:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "43518:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "43518:10:30" + }, + "variables": [ + { + "name": "newLen", + "nodeType": "YulTypedName", + "src": "43508:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43571:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "43573:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "43573:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "43573:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "43543:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43559:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43563:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "43555:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "43555:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43567:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "43551:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "43551:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "43540:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "43540:30:30" + }, + "nodeType": "YulIf", + "src": "43537:56:30" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "43646:4:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "43684:4:30" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "43678:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "43678:11:30" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nodeType": "YulIdentifier", + "src": "43652:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "43652:38:30" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "43692:6:30" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_string_storage", + "nodeType": "YulIdentifier", + "src": "43602:43:30" + }, + "nodeType": "YulFunctionCall", + "src": "43602:97:30" + }, + "nodeType": "YulExpressionStatement", + "src": "43602:97:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "43708:18:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43725:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nodeType": "YulTypedName", + "src": "43712:9:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "43735:23:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43754:4:30", + "type": "", + "value": "0x20" + }, + "variables": [ + { + "name": "srcOffset_1", + "nodeType": "YulTypedName", + "src": "43739:11:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "43767:24:30", + "value": { + "name": "srcOffset_1", + "nodeType": "YulIdentifier", + "src": "43780:11:30" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "43767:9:30" + } + ] + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "43837:656:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "43851:35:30", + "value": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "43870:6:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43882:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "43878:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "43878:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "43866:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "43866:20:30" + }, + "variables": [ + { + "name": "loopEnd", + "nodeType": "YulTypedName", + "src": "43855:7:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "43899:49:30", + "value": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "43943:4:30" + } + ], + "functionName": { + "name": "array_dataslot_string_storage", + "nodeType": "YulIdentifier", + "src": "43913:29:30" + }, + "nodeType": "YulFunctionCall", + "src": "43913:35:30" + }, + "variables": [ + { + "name": "dstPtr", + "nodeType": "YulTypedName", + "src": "43903:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "43961:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43970:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "43965:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44048:172:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "44073:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "44091:3:30" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "44096:9:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44087:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44087:19:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "44081:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "44081:26:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "44066:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "44066:42:30" + }, + "nodeType": "YulExpressionStatement", + "src": "44066:42:30" + }, + { + "nodeType": "YulAssignment", + "src": "44125:24:30", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "44139:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44147:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44135:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44135:14:30" + }, + "variableNames": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "44125:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "44166:40:30", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "44183:9:30" + }, + { + "name": "srcOffset_1", + "nodeType": "YulIdentifier", + "src": "44194:11:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44179:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44179:27:30" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "44166:9:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "43995:1:30" + }, + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "43998:7:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "43992:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "43992:14:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "44007:28:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "44009:24:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "44018:1:30" + }, + { + "name": "srcOffset_1", + "nodeType": "YulIdentifier", + "src": "44021:11:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44014:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44014:19:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "44009:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "43988:3:30", + "statements": [] + }, + "src": "43984:236:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44268:166:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "44286:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "44313:3:30" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "44318:9:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44309:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44309:19:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "44303:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "44303:26:30" + }, + "variables": [ + { + "name": "lastValue", + "nodeType": "YulTypedName", + "src": "44290:9:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "44353:6:30" + }, + { + "arguments": [ + { + "name": "lastValue", + "nodeType": "YulIdentifier", + "src": "44365:9:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44392:1:30", + "type": "", + "value": "3" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "44395:6:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "44388:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44388:14:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44404:3:30", + "type": "", + "value": "248" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "44384:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44384:24:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44414:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "44410:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44410:6:30" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "44380:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44380:37:30" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "44376:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44376:42:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "44361:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44361:58:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "44346:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "44346:74:30" + }, + "nodeType": "YulExpressionStatement", + "src": "44346:74:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "44239:7:30" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "44248:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "44236:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "44236:19:30" + }, + "nodeType": "YulIf", + "src": "44233:201:30" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "44454:4:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44468:1:30", + "type": "", + "value": "1" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "44471:6:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "44464:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44464:14:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44480:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44460:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44460:22:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "44447:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "44447:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "44447:36:30" + } + ] + }, + "nodeType": "YulCase", + "src": "43830:663:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43835:1:30", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44510:234:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "44524:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44537:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "44528:5:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44573:67:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "44591:35:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "44610:3:30" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "44615:9:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44606:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44606:19:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "44600:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "44600:26:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "44591:5:30" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "44554:6:30" + }, + "nodeType": "YulIf", + "src": "44551:89:30" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "44660:4:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "44719:5:30" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "44726:6:30" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulIdentifier", + "src": "44666:52:30" + }, + "nodeType": "YulFunctionCall", + "src": "44666:67:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "44653:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "44653:81:30" + }, + "nodeType": "YulExpressionStatement", + "src": "44653:81:30" + } + ] + }, + "nodeType": "YulCase", + "src": "44502:242:30", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "43810:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43818:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "43807:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "43807:14:30" + }, + "nodeType": "YulSwitch", + "src": "43800:944:30" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "43479:4:30", + "type": "" + }, + { + "name": "src", + "nodeType": "YulTypedName", + "src": "43485:3:30", + "type": "" + } + ], + "src": "43400:1350:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44929:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44946:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44957:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44939:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "44939:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "44939:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44980:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44991:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44976:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44976:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44996:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44969:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "44969:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "44969:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45018:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45029:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45014:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45014:18:30" + }, + { + "hexValue": "4c4243303432", + "kind": "string", + "nodeType": "YulLiteral", + "src": "45034:8:30", + "type": "", + "value": "LBC042" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45007:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "45007:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "45007:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "45052:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45064:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45075:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45060:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45060:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45052:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_100fb89310beea959f828c5ca2a95ca4d28be5d0ba0e61e54b1345b68d14b6a1__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "44906:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "44920:4:30", + "type": "" + } + ], + "src": "44755:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45263:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45280:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45291:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45273:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "45273:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "45273:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45314:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45325:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45310:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45310:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45330:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45303:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "45303:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "45303:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45352:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45363:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45348:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45348:18:30" + }, + { + "hexValue": "4c4243303431", + "kind": "string", + "nodeType": "YulLiteral", + "src": "45368:8:30", + "type": "", + "value": "LBC041" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45341:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "45341:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "45341:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "45386:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45398:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45409:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45394:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45394:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45386:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_476e33256b298fee7fc3dab0c339427caa3a9a4a44654f7f02b328083d44ca74__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "45240:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "45254:4:30", + "type": "" + } + ], + "src": "45089:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45552:145:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "45562:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45574:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45585:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45570:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45570:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45562:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45604:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "45615:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45597:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "45597:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "45597:25:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45642:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45653:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45638:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45638:18:30" + }, + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "45662:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45678:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45683:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "45674:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45674:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45687:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "45670:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45670:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "45658:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45658:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45631:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "45631:60:30" + }, + "nodeType": "YulExpressionStatement", + "src": "45631:60:30" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "45513:9:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "45524:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "45532:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "45543:4:30", + "type": "" + } + ], + "src": "45423:274:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45876:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45893:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45904:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45886:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "45886:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "45886:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45927:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45938:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45923:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45923:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45943:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45916:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "45916:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "45916:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45965:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45976:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45961:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45961:18:30" + }, + { + "hexValue": "4c4243303434", + "kind": "string", + "nodeType": "YulLiteral", + "src": "45981:8:30", + "type": "", + "value": "LBC044" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45954:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "45954:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "45954:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "45999:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46011:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46022:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46007:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46007:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45999:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_0a7ff570d31f7e351d06bf5b8d0ef26a9275a9d32a7dffd7981a6c6ac58227c6__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "45853:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "45867:4:30", + "type": "" + } + ], + "src": "45702:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46210:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46227:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46238:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46220:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "46220:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "46220:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46261:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46272:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46257:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46257:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46277:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46250:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "46250:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "46250:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46299:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46310:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46295:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46295:18:30" + }, + { + "hexValue": "4c4243303631", + "kind": "string", + "nodeType": "YulLiteral", + "src": "46315:8:30", + "type": "", + "value": "LBC061" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46288:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "46288:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "46288:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "46333:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46345:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46356:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46341:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46341:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46333:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_438c5a176571afee566b78f09f63757218623602a6c98e887399fe40429f63df__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "46187:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "46201:4:30", + "type": "" + } + ], + "src": "46036:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46609:417:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46626:3:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "46631:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46619:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "46619:19:30" + }, + "nodeType": "YulExpressionStatement", + "src": "46619:19:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "46647:27:30", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "46667:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "46661:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "46661:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "46651:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "46722:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46730:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46718:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46718:15:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46739:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46744:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46735:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46735:12:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "46749:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "46683:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "46683:73:30" + }, + "nodeType": "YulExpressionStatement", + "src": "46683:73:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "46765:26:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46779:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "46784:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46775:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46775:16:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "46769:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "46811:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46815:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46807:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46807:11:30" + }, + { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "46824:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46844:2:30", + "type": "", + "value": "96" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46848:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "46840:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46840:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46852:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "46836:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46836:18:30" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "46832:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46832:23:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "46820:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46820:36:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46800:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "46800:57:30" + }, + "nodeType": "YulExpressionStatement", + "src": "46800:57:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "46866:29:30", + "value": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "46888:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "46882:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "46882:13:30" + }, + "variables": [ + { + "name": "length_1", + "nodeType": "YulTypedName", + "src": "46870:8:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "46943:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46951:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46939:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46939:15:30" + }, + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "46960:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46964:2:30", + "type": "", + "value": "52" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46956:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46956:11:30" + }, + { + "name": "length_1", + "nodeType": "YulIdentifier", + "src": "46969:8:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "46904:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "46904:74:30" + }, + "nodeType": "YulExpressionStatement", + "src": "46904:74:30" + }, + { + "nodeType": "YulAssignment", + "src": "46987:33:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "47002:2:30" + }, + { + "name": "length_1", + "nodeType": "YulIdentifier", + "src": "47006:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46998:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46998:17:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47017:2:30", + "type": "", + "value": "52" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46994:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46994:26:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "46987:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes32_t_bytes_memory_ptr_t_bytes20_t_bytes_memory_ptr__to_t_bytes32_t_bytes_memory_ptr_t_bytes20_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "46561:3:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "46566:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "46574:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "46582:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "46590:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "46601:3:30", + "type": "" + } + ], + "src": "46370:656:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "47094:378:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47143:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47152:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47155:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "47145:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "47145:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "47145:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "47122:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47130:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47118:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47118:17:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "47137:3:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "47114:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47114:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "47107:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "47107:35:30" + }, + "nodeType": "YulIf", + "src": "47104:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "47168:23:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "47184:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "47178:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "47178:13:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "47172:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "47200:63:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "47259:2:30" + } + ], + "functionName": { + "name": "array_allocation_size_bytes", + "nodeType": "YulIdentifier", + "src": "47231:27:30" + }, + "nodeType": "YulFunctionCall", + "src": "47231:31:30" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "47215:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "47215:48:30" + }, + "variables": [ + { + "name": "array_1", + "nodeType": "YulTypedName", + "src": "47204:7:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array_1", + "nodeType": "YulIdentifier", + "src": "47279:7:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "47288:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "47272:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "47272:19:30" + }, + "nodeType": "YulExpressionStatement", + "src": "47272:19:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "47339:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47348:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47351:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "47341:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "47341:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "47341:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "47314:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "47322:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47310:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47310:15:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47327:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47306:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47306:26:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "47334:3:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "47303:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "47303:35:30" + }, + "nodeType": "YulIf", + "src": "47300:55:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "47403:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47411:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47399:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47399:17:30" + }, + { + "arguments": [ + { + "name": "array_1", + "nodeType": "YulIdentifier", + "src": "47422:7:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47431:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47418:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47418:18:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "47438:2:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "47364:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "47364:77:30" + }, + "nodeType": "YulExpressionStatement", + "src": "47364:77:30" + }, + { + "nodeType": "YulAssignment", + "src": "47450:16:30", + "value": { + "name": "array_1", + "nodeType": "YulIdentifier", + "src": "47459:7:30" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "47450:5:30" + } + ] + } + ] + }, + "name": "abi_decode_bytes_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "47068:6:30", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "47076:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "47084:5:30", + "type": "" + } + ], + "src": "47031:441:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "47567:245:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47613:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47622:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47625:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "47615:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "47615:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "47615:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "47588:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "47597:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "47584:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47584:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47609:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "47580:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47580:32:30" + }, + "nodeType": "YulIf", + "src": "47577:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "47638:30:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "47658:9:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "47652:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "47652:16:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "47642:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "47711:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47720:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47723:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "47713:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "47713:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "47713:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "47683:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47699:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47703:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "47695:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47695:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47707:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "47691:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47691:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "47680:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "47680:30:30" + }, + "nodeType": "YulIf", + "src": "47677:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "47736:70:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "47778:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "47789:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47774:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47774:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "47798:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_fromMemory", + "nodeType": "YulIdentifier", + "src": "47746:27:30" + }, + "nodeType": "YulFunctionCall", + "src": "47746:60:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "47736:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "47533:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "47544:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "47556:6:30", + "type": "" + } + ], + "src": "47477:335:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "48162:263:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "48179:3:30" + }, + { + "hexValue": "20", + "kind": "string", + "nodeType": "YulLiteral", + "src": "48184:3:30", + "type": "", + "value": " " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "48172:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "48172:16:30" + }, + "nodeType": "YulExpressionStatement", + "src": "48172:16:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "48208:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48213:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48204:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "48204:11:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "48217:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "48197:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "48197:27:30" + }, + "nodeType": "YulExpressionStatement", + "src": "48197:27:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "48244:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48249:2:30", + "type": "", + "value": "33" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48240:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "48240:12:30" + }, + { + "hexValue": "75", + "kind": "string", + "nodeType": "YulLiteral", + "src": "48254:3:30", + "type": "", + "value": "u" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "48233:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "48233:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "48233:25:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "48267:27:30", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "48287:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "48281:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "48281:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "48271:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "48342:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48350:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48338:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "48338:17:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "48361:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48366:2:30", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48357:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "48357:12:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "48371:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "48303:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "48303:75:30" + }, + "nodeType": "YulExpressionStatement", + "src": "48303:75:30" + }, + { + "nodeType": "YulAssignment", + "src": "48387:32:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "48402:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "48407:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48398:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "48398:16:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48416:2:30", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48394:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "48394:25:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "48387:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a_t_bytes32_t_stringliteral_32cefdcd8e794145c9af8dd1f4b1fbd92d6e547ae855553080fc8bd19c4883a0_t_bytes_memory_ptr__to_t_bytes1_t_bytes32_t_bytes1_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "48130:3:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "48135:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "48143:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "48154:3:30", + "type": "" + } + ], + "src": "47817:608:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "48625:273:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "48642:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48653:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "48635:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "48635:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "48635:21:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "48665:59:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "48697:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "48709:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48720:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48705:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "48705:18:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "48679:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "48679:45:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "48669:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "48744:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48755:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48740:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "48740:18:30" + }, + { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "48764:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "48772:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "48760:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "48760:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "48733:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "48733:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "48733:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "48792:41:30", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "48818:6:30" + }, + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "48826:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "48800:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "48800:33:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "48792:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "48853:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48864:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48849:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "48849:18:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "48883:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "48876:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "48876:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "48869:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "48869:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "48842:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "48842:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "48842:50:30" + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bool__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bool__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "48578:9:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "48589:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "48597:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "48605:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "48616:4:30", + "type": "" + } + ], + "src": "48430:468:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "49077:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49094:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49105:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49087:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "49087:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "49087:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49128:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49139:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49124:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "49124:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49144:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49117:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "49117:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "49117:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49166:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49177:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49162:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "49162:18:30" + }, + { + "hexValue": "4c4243303234", + "kind": "string", + "nodeType": "YulLiteral", + "src": "49182:8:30", + "type": "", + "value": "LBC024" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49155:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "49155:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "49155:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "49200:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49212:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49223:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49208:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "49208:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "49200:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_9c6c58d5603e5b2aab0d13c183f0136466f0ce13826630d90e079bf910078715__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "49054:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "49068:4:30", + "type": "" + } + ], + "src": "48903:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "49411:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49428:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49439:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49421:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "49421:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "49421:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49462:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49473:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49458:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "49458:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49478:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49451:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "49451:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "49451:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49500:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49511:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49496:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "49496:18:30" + }, + { + "hexValue": "4c4243303235", + "kind": "string", + "nodeType": "YulLiteral", + "src": "49516:8:30", + "type": "", + "value": "LBC025" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49489:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "49489:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "49489:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "49534:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49546:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49557:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49542:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "49542:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "49534:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ceda09d74f8a59745bfad5393e75482469dc6db77c24fde6f52df4409a3f744c__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "49388:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "49402:4:30", + "type": "" + } + ], + "src": "49237:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "49618:125:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "49628:20:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49638:10:30", + "type": "", + "value": "0xffffffff" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "49632:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "49657:34:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "49672:1:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "49675:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "49668:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "49668:10:30" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "49684:1:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "49687:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "49680:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "49680:10:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49664:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "49664:27:30" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "49657:3:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "49715:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "49717:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "49717:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "49717:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "49706:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "49711:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "49703:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "49703:11:30" + }, + "nodeType": "YulIf", + "src": "49700:37:30" + } + ] + }, + "name": "checked_add_t_uint32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "49601:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "49604:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "49610:3:30", + "type": "" + } + ], + "src": "49571:172:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "49922:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49939:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49950:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49932:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "49932:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "49932:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49973:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49984:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49969:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "49969:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49989:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49962:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "49962:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "49962:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50011:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50022:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50007:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50007:18:30" + }, + { + "hexValue": "4c4243303236", + "kind": "string", + "nodeType": "YulLiteral", + "src": "50027:8:30", + "type": "", + "value": "LBC026" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "50000:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "50000:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "50000:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "50045:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50057:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50068:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50053:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50053:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "50045:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_2d63cc93f65e3c34ca5cba24271c3d6869155fb2ffc83f083d82378f26d56cb0__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "49899:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "49913:4:30", + "type": "" + } + ], + "src": "49748:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "50256:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50273:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50284:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "50266:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "50266:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "50266:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50307:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50318:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50303:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50303:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50323:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "50296:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "50296:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "50296:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50345:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50356:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50341:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50341:18:30" + }, + { + "hexValue": "4c4243303237", + "kind": "string", + "nodeType": "YulLiteral", + "src": "50361:8:30", + "type": "", + "value": "LBC027" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "50334:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "50334:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "50334:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "50379:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50391:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50402:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50387:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50387:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "50379:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_5a937cad92792f08abdaf15eed65a070909c29d924f856ec65923c138fd39a48__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "50233:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "50247:4:30", + "type": "" + } + ], + "src": "50082:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "50543:99:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50560:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50571:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "50553:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "50553:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "50553:21:30" + }, + { + "nodeType": "YulAssignment", + "src": "50583:53:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "50609:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50621:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50632:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50617:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50617:18:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "50591:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "50591:45:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "50583:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "50512:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "50523:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "50534:4:30", + "type": "" + } + ], + "src": "50416:226:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "50782:1872:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "50792:12:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50802:2:30", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "50796:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "50849:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50858:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50861:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "50851:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "50851:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "50851:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "50824:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50833:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "50820:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50820:23:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "50845:2:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "50816:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50816:32:30" + }, + "nodeType": "YulIf", + "src": "50813:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "50874:30:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50894:9:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "50888:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "50888:16:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "50878:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "50913:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50931:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50935:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "50927:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50927:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50939:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "50923:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50923:18:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "50917:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "50968:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50977:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50980:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "50970:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "50970:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "50970:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "50956:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "50964:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "50953:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "50953:14:30" + }, + "nodeType": "YulIf", + "src": "50950:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "50993:32:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "51007:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "51018:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51003:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51003:22:30" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "50997:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "51073:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51082:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51085:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "51075:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "51075:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "51075:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "51052:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51056:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51048:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51048:13:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "51063:7:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "51044:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51044:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "51037:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "51037:35:30" + }, + "nodeType": "YulIf", + "src": "51034:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "51098:19:30", + "value": { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "51114:2:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "51108:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "51108:9:30" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "51102:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "51126:71:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "51193:2:30" + } + ], + "functionName": { + "name": "array_allocation_size_array_uint256_dyn", + "nodeType": "YulIdentifier", + "src": "51153:39:30" + }, + "nodeType": "YulFunctionCall", + "src": "51153:43:30" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "51137:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "51137:60:30" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "51130:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "51206:16:30", + "value": { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "51219:3:30" + }, + "variables": [ + { + "name": "dst_1", + "nodeType": "YulTypedName", + "src": "51210:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "51238:3:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "51243:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "51231:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "51231:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "51231:15:30" + }, + { + "nodeType": "YulAssignment", + "src": "51255:19:30", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "51266:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "51271:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51262:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51262:12:30" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "51255:3:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "51283:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "51305:2:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51313:1:30", + "type": "", + "value": "5" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "51316:2:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "51309:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51309:10:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51301:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51301:19:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "51322:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51297:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51297:28:30" + }, + "variables": [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "51287:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "51357:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51366:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51369:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "51359:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "51359:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "51359:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "51340:6:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "51348:7:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "51337:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "51337:19:30" + }, + "nodeType": "YulIf", + "src": "51334:39:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "51382:22:30", + "value": { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "51397:2:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "51401:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51393:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51393:11:30" + }, + "variables": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "51386:3:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "51469:1155:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "51483:29:30", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "51508:3:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "51502:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "51502:10:30" + }, + "variables": [ + { + "name": "innerOffset", + "nodeType": "YulTypedName", + "src": "51487:11:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "51560:74:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "51578:11:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51588:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "51582:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "51613:2:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "51617:2:30" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "51606:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "51606:14:30" + }, + "nodeType": "YulExpressionStatement", + "src": "51606:14:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "innerOffset", + "nodeType": "YulIdentifier", + "src": "51531:11:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "51544:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "51528:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "51528:19:30" + }, + "nodeType": "YulIf", + "src": "51525:109:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "51647:30:30", + "value": { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "51661:2:30" + }, + { + "name": "innerOffset", + "nodeType": "YulIdentifier", + "src": "51665:11:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51657:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51657:20:30" + }, + "variables": [ + { + "name": "_6", + "nodeType": "YulTypedName", + "src": "51651:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "51690:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51700:4:30", + "type": "", + "value": "0x80" + }, + "variables": [ + { + "name": "_7", + "nodeType": "YulTypedName", + "src": "51694:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "51772:74:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "51790:11:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51800:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "_8", + "nodeType": "YulTypedName", + "src": "51794:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "51825:2:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "51829:2:30" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "51818:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "51818:14:30" + }, + "nodeType": "YulExpressionStatement", + "src": "51818:14:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "51732:7:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "51741:2:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "51728:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51728:16:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51750:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "51746:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51746:7:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51724:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51724:30:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "51756:2:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "51720:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51720:39:30" + }, + "nodeType": "YulIf", + "src": "51717:129:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "51859:35:30", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_memory_9162", + "nodeType": "YulIdentifier", + "src": "51872:20:30" + }, + "nodeType": "YulFunctionCall", + "src": "51872:22:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "51863:5:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "51907:33:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "51932:2:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "51936:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51928:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51928:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "51922:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "51922:18:30" + }, + "variables": [ + { + "name": "value_1", + "nodeType": "YulTypedName", + "src": "51911:7:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "52006:74:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "52024:11:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52034:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "_9", + "nodeType": "YulTypedName", + "src": "52028:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "52059:2:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "52063:2:30" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "52052:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "52052:14:30" + }, + "nodeType": "YulExpressionStatement", + "src": "52052:14:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "51966:7:30" + }, + { + "arguments": [ + { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "51979:7:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "51988:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "51975:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51975:16:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "51963:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "51963:29:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "51956:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "51956:37:30" + }, + "nodeType": "YulIf", + "src": "51953:127:30" + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "52100:5:30" + }, + { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "52107:7:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "52093:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "52093:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "52093:22:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "52128:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52139:2:30", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "_10", + "nodeType": "YulTypedName", + "src": "52132:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "52154:35:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "52180:2:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "52184:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52176:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52176:12:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "52170:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "52170:19:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "52158:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "52234:77:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "52252:12:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52263:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "_11", + "nodeType": "YulTypedName", + "src": "52256:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "52288:3:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "52293:3:30" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "52281:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "52281:16:30" + }, + "nodeType": "YulExpressionStatement", + "src": "52281:16:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "52208:8:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "52218:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "52205:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "52205:16:30" + }, + "nodeType": "YulIf", + "src": "52202:109:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "52335:5:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "52342:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52331:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52331:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "52383:2:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "52387:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52379:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52379:17:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "52398:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52375:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52375:26:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "52403:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_fromMemory", + "nodeType": "YulIdentifier", + "src": "52347:27:30" + }, + "nodeType": "YulFunctionCall", + "src": "52347:64:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "52324:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "52324:88:30" + }, + "nodeType": "YulExpressionStatement", + "src": "52324:88:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "52425:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52436:2:30", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "_12", + "nodeType": "YulTypedName", + "src": "52429:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "52462:5:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "52469:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52458:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52458:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "52485:2:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "52489:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52481:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52481:12:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "52475:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "52475:19:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "52451:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "52451:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "52451:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "52519:5:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "52526:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52515:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52515:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "52542:2:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "52546:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52538:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52538:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "52532:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "52532:18:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "52508:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "52508:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "52508:43:30" + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "52571:3:30" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "52576:5:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "52564:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "52564:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "52564:18:30" + }, + { + "nodeType": "YulAssignment", + "src": "52595:19:30", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "52606:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "52611:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52602:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52602:12:30" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "52595:3:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "51424:3:30" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "51429:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "51421:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "51421:15:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "51437:23:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "51439:19:30", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "51450:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "51455:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51446:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51446:12:30" + }, + "variableNames": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "51439:3:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "51417:3:30", + "statements": [] + }, + "src": "51413:1211:30" + }, + { + "nodeType": "YulAssignment", + "src": "52633:15:30", + "value": { + "name": "dst_1", + "nodeType": "YulIdentifier", + "src": "52643:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "52633:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "50748:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "50759:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "50771:6:30", + "type": "" + } + ], + "src": "50647:2007:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "52740:103:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "52786:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52795:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52798:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "52788:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "52788:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "52788:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "52761:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "52770:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "52757:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52757:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52782:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "52753:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52753:32:30" + }, + "nodeType": "YulIf", + "src": "52750:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "52811:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "52827:9:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "52821:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "52821:16:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "52811:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "52706:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "52717:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "52729:6:30", + "type": "" + } + ], + "src": "52659:184:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "53022:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53039:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53050:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53032:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "53032:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "53032:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53073:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53084:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53069:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "53069:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53089:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53062:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "53062:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "53062:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53111:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53122:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53107:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "53107:18:30" + }, + { + "hexValue": "4c4243303639", + "kind": "string", + "nodeType": "YulLiteral", + "src": "53127:8:30", + "type": "", + "value": "LBC069" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53100:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "53100:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "53100:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "53145:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53157:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53168:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53153:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "53153:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "53145:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_5cf5f7c75a2357c5697933702fe9f20c432f8f5205def7bf18572d390cea5cc1__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "52999:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "53013:4:30", + "type": "" + } + ], + "src": "52848:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "53356:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53373:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53384:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53366:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "53366:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "53366:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53407:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53418:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53403:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "53403:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53423:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53396:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "53396:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "53396:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53445:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53456:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53441:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "53441:18:30" + }, + { + "hexValue": "4c4243303438", + "kind": "string", + "nodeType": "YulLiteral", + "src": "53461:8:30", + "type": "", + "value": "LBC048" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53434:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "53434:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "53434:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "53479:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53491:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53502:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53487:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "53487:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "53479:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3c14ff4570332247d29826742fdf7f014a86ddbee2c49b0252a79ef49351f196__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "53333:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "53347:4:30", + "type": "" + } + ], + "src": "53182:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "53751:613:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "53761:33:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53779:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53790:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53775:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "53775:19:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "53765:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53810:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "53821:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53803:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "53803:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "53803:25:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "53837:12:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53847:2:30", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "53841:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53869:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "53880:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53865:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "53865:18:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "53885:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53858:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "53858:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "53858:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53912:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53923:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53908:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "53908:18:30" + }, + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "53928:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53901:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "53901:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "53901:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53955:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53966:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53951:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "53951:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53971:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53944:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "53944:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "53944:31:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "53984:17:30", + "value": { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "53995:6:30" + }, + "variables": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "53988:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "54010:27:30", + "value": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "54030:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "54024:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "54024:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "54014:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "54053:6:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "54061:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "54046:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "54046:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "54046:22:30" + }, + { + "nodeType": "YulAssignment", + "src": "54077:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54088:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54099:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54084:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54084:19:30" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "54077:3:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "54112:29:30", + "value": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "54130:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "54138:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54126:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54126:15:30" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "54116:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "54150:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54159:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "54154:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "54218:120:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "54239:3:30" + }, + { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "54250:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "54244:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "54244:13:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "54232:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "54232:26:30" + }, + "nodeType": "YulExpressionStatement", + "src": "54232:26:30" + }, + { + "nodeType": "YulAssignment", + "src": "54271:19:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "54282:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "54287:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54278:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54278:12:30" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "54271:3:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "54303:25:30", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "54317:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "54325:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54313:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54313:15:30" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "54303:6:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "54180:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "54183:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "54177:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "54177:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "54191:18:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "54193:14:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "54202:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54205:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54198:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54198:9:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "54193:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "54173:3:30", + "statements": [] + }, + "src": "54169:169:30" + }, + { + "nodeType": "YulAssignment", + "src": "54347:11:30", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "54355:3:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "54347:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_bytes32_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_bytes32_t_bytes32_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "53696:9:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "53707:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "53715:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "53723:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "53731:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "53742:4:30", + "type": "" + } + ], + "src": "53516:848:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "54449:103:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "54495:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54504:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54507:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "54497:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "54497:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "54497:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "54470:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54479:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "54466:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54466:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54491:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "54462:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54462:32:30" + }, + "nodeType": "YulIf", + "src": "54459:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "54520:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54536:9:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "54530:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "54530:16:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "54520:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_int256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "54415:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "54426:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "54438:6:30", + "type": "" + } + ], + "src": "54369:183:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "54731:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54748:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54759:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "54741:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "54741:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "54741:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54782:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54793:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54778:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54778:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54798:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "54771:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "54771:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "54771:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54820:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54831:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54816:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54816:18:30" + }, + { + "hexValue": "4c4243303439", + "kind": "string", + "nodeType": "YulLiteral", + "src": "54836:8:30", + "type": "", + "value": "LBC049" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "54809:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "54809:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "54809:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "54854:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54866:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54877:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54862:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54862:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "54854:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_41cc9877d5a72c2a0ef0c602e024ddc86a1f279ef7306bab75dd3c5447ffb6e0__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "54708:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "54722:4:30", + "type": "" + } + ], + "src": "54557:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "54942:206:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "54952:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54970:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54974:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "54966:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54966:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54978:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "54962:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54962:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "54956:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "54989:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "55016:1:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "55019:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "55012:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "55012:10:30" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "55028:1:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "55031:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "55024:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "55024:10:30" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "55008:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "55008:27:30" + }, + "variables": [ + { + "name": "product_raw", + "nodeType": "YulTypedName", + "src": "54993:11:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "55044:31:30", + "value": { + "arguments": [ + { + "name": "product_raw", + "nodeType": "YulIdentifier", + "src": "55059:11:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "55072:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "55055:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "55055:20:30" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "55044:7:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "55120:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "55122:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "55122:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "55122:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "55097:7:30" + }, + { + "name": "product_raw", + "nodeType": "YulIdentifier", + "src": "55106:11:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "55094:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "55094:24:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "55087:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "55087:32:30" + }, + "nodeType": "YulIf", + "src": "55084:58:30" + } + ] + }, + "name": "checked_mul_t_uint64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "54921:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "54924:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "54930:7:30", + "type": "" + } + ], + "src": "54891:257:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "55327:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55344:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55355:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "55337:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "55337:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "55337:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55378:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55389:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "55374:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "55374:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55394:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "55367:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "55367:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "55367:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55416:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55427:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "55412:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "55412:18:30" + }, + { + "hexValue": "4c4243303637", + "kind": "string", + "nodeType": "YulLiteral", + "src": "55432:8:30", + "type": "", + "value": "LBC067" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "55405:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "55405:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "55405:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "55450:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55462:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55473:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "55458:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "55458:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "55450:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_94643b69f05d64f660a022cd48046be494c1ed271b5d9ae602f6fdadc77976be__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "55304:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "55318:4:30", + "type": "" + } + ], + "src": "55153:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "55636:158:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55653:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55664:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "55646:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "55646:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "55646:21:30" + }, + { + "nodeType": "YulAssignment", + "src": "55676:53:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "55702:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55714:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55725:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "55710:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "55710:18:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "55684:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "55684:45:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "55676:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55749:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55760:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "55745:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "55745:18:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "55779:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "55772:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "55772:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "55765:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "55765:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "55738:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "55738:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "55738:50:30" + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr_t_bool__to_t_bytes_memory_ptr_t_bool__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "55597:9:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "55608:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "55616:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "55627:4:30", + "type": "" + } + ], + "src": "55487:307:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "55933:706:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "55943:12:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55954:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "55947:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "55964:30:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "55987:6:30" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "55981:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "55981:13:30" + }, + "variables": [ + { + "name": "slotValue", + "nodeType": "YulTypedName", + "src": "55968:9:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "56003:50:30", + "value": { + "arguments": [ + { + "name": "slotValue", + "nodeType": "YulIdentifier", + "src": "56043:9:30" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nodeType": "YulIdentifier", + "src": "56017:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "56017:36:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "56007:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "56062:11:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56072:1:30", + "type": "", + "value": "1" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "56066:2:30", + "type": "" + } + ] + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "56123:126:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "56144:3:30" + }, + { + "arguments": [ + { + "name": "slotValue", + "nodeType": "YulIdentifier", + "src": "56153:9:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56168:3:30", + "type": "", + "value": "255" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "56164:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56164:8:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "56149:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56149:24:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56137:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56137:37:30" + }, + "nodeType": "YulExpressionStatement", + "src": "56137:37:30" + }, + { + "nodeType": "YulAssignment", + "src": "56187:52:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "56198:3:30" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "56207:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "56229:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "56222:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56222:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "56215:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56215:22:30" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "56203:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56203:35:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "56194:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56194:45:30" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "56187:3:30" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "56116:133:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56121:1:30", + "type": "", + "value": "0" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "56265:349:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56286:1:30", + "type": "", + "value": "0" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "56289:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56279:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56279:17:30" + }, + "nodeType": "YulExpressionStatement", + "src": "56279:17:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "56309:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56319:4:30", + "type": "", + "value": "0x20" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "56313:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "56336:31:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56361:1:30", + "type": "", + "value": "0" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "56364:2:30" + } + ], + "functionName": { + "name": "keccak256", + "nodeType": "YulIdentifier", + "src": "56351:9:30" + }, + "nodeType": "YulFunctionCall", + "src": "56351:16:30" + }, + "variables": [ + { + "name": "dataPos", + "nodeType": "YulTypedName", + "src": "56340:7:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "56380:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56389:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "56384:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "56457:111:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "56486:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "56491:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "56482:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56482:11:30" + }, + { + "arguments": [ + { + "name": "dataPos", + "nodeType": "YulIdentifier", + "src": "56501:7:30" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "56495:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "56495:14:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56475:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56475:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "56475:35:30" + }, + { + "nodeType": "YulAssignment", + "src": "56527:27:30", + "value": { + "arguments": [ + { + "name": "dataPos", + "nodeType": "YulIdentifier", + "src": "56542:7:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "56551:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "56538:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56538:16:30" + }, + "variableNames": [ + { + "name": "dataPos", + "nodeType": "YulIdentifier", + "src": "56527:7:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "56414:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "56417:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "56411:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "56411:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "56425:19:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "56427:15:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "56436:1:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "56439:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "56432:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56432:10:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "56427:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "56407:3:30", + "statements": [] + }, + "src": "56403:165:30" + }, + { + "nodeType": "YulAssignment", + "src": "56581:23:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "56592:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "56597:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "56588:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56588:16:30" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "56581:3:30" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "56258:356:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56263:1:30", + "type": "", + "value": "1" + } + } + ], + "expression": { + "arguments": [ + { + "name": "slotValue", + "nodeType": "YulIdentifier", + "src": "56093:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "56104:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "56089:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56089:18:30" + }, + "nodeType": "YulSwitch", + "src": "56082:532:30" + }, + { + "nodeType": "YulAssignment", + "src": "56623:10:30", + "value": { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "56630:3:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "56623:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes_storage__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "55909:3:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "55914:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "55925:3:30", + "type": "" + } + ], + "src": "55799:840:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "56818:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "56835:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56846:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56828:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56828:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "56828:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "56869:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56880:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "56865:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56865:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56885:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56858:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56858:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "56858:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "56907:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56918:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "56903:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56903:18:30" + }, + { + "hexValue": "4c4243303638", + "kind": "string", + "nodeType": "YulLiteral", + "src": "56923:8:30", + "type": "", + "value": "LBC068" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56896:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56896:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "56896:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "56941:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "56953:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56964:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "56949:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56949:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "56941:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_7cd3d68dd2419ceccbacf2f69bda9c4c2f3bdb0c0535db4bbef90be788c8f7de__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "56795:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "56809:4:30", + "type": "" + } + ], + "src": "56644:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "57152:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57169:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57180:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57162:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "57162:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "57162:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57203:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57214:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57199:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "57199:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57219:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57192:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "57192:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "57192:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57241:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57252:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57237:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "57237:18:30" + }, + { + "hexValue": "4c4243303530", + "kind": "string", + "nodeType": "YulLiteral", + "src": "57257:8:30", + "type": "", + "value": "LBC050" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57230:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "57230:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "57230:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "57275:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57287:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57298:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57283:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "57283:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "57275:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3dcf1159943f9eee729b997e5df9acd0f1771321696b1fb47efa6e54bee2f352__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "57129:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "57143:4:30", + "type": "" + } + ], + "src": "56978:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "57486:228:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57503:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57514:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57496:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "57496:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "57496:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57537:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57548:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57533:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "57533:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57553:2:30", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57526:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "57526:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "57526:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57576:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57587:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57572:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "57572:18:30" + }, + { + "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061", + "kind": "string", + "nodeType": "YulLiteral", + "src": "57592:34:30", + "type": "", + "value": "Ownable: new owner is the zero a" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57565:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "57565:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "57565:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57647:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57658:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57643:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "57643:18:30" + }, + { + "hexValue": "646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "57663:8:30", + "type": "", + "value": "ddress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57636:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "57636:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "57636:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "57681:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57693:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57704:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57689:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "57689:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "57681:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "57463:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "57477:4:30", + "type": "" + } + ], + "src": "57312:402:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "57893:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57910:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57921:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57903:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "57903:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "57903:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57944:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57955:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57940:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "57940:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57960:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57933:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "57933:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "57933:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57982:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57993:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57978:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "57978:18:30" + }, + { + "hexValue": "4c4243303531", + "kind": "string", + "nodeType": "YulLiteral", + "src": "57998:8:30", + "type": "", + "value": "LBC051" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57971:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "57971:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "57971:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "58016:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58028:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58039:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58024:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58024:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "58016:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ed7029e52dbf10ed9f0aafb2c33265c713a3f4dfd10cc113f22ba3c1270e1ddb__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "57870:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "57884:4:30", + "type": "" + } + ], + "src": "57719:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "58227:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58244:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58255:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "58237:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "58237:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "58237:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58278:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58289:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58274:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58274:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58294:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "58267:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "58267:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "58267:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58316:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58327:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58312:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58312:18:30" + }, + { + "hexValue": "4c4243303532", + "kind": "string", + "nodeType": "YulLiteral", + "src": "58332:8:30", + "type": "", + "value": "LBC052" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "58305:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "58305:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "58305:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "58350:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58362:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58373:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58358:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58358:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "58350:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a1a398356814e2eac3017ce127db7657cbb8e2f1d90a78bc426eaa92c56969eb__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "58204:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "58218:4:30", + "type": "" + } + ], + "src": "58053:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "58561:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58578:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58589:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "58571:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "58571:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "58571:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58612:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58623:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58608:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58608:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58628:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "58601:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "58601:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "58601:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58650:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58661:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58646:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58646:18:30" + }, + { + "hexValue": "4c4243303533", + "kind": "string", + "nodeType": "YulLiteral", + "src": "58666:8:30", + "type": "", + "value": "LBC053" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "58639:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "58639:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "58639:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "58684:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58696:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58707:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58692:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58692:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "58684:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_923b965409721a83cf4ae76f34fa52de6eb09679d5b7141d2c0fc518a94192db__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "58538:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "58552:4:30", + "type": "" + } + ], + "src": "58387:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "58895:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58912:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58923:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "58905:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "58905:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "58905:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58946:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58957:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58942:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58942:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58962:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "58935:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "58935:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "58935:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58984:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58995:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58980:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58980:18:30" + }, + { + "hexValue": "4c4243303534", + "kind": "string", + "nodeType": "YulLiteral", + "src": "59000:8:30", + "type": "", + "value": "LBC054" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "58973:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "58973:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "58973:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "59018:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59030:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59041:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59026:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59026:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "59018:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_472231c5f3abacc190b5fd56153fbfc4b6c39c18040d443b29faee14791d54d9__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "58872:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "58886:4:30", + "type": "" + } + ], + "src": "58721:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "59229:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59246:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59257:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "59239:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "59239:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "59239:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59280:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59291:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59276:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59276:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59296:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "59269:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "59269:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "59269:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59318:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59329:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59314:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59314:18:30" + }, + { + "hexValue": "4c4243303535", + "kind": "string", + "nodeType": "YulLiteral", + "src": "59334:8:30", + "type": "", + "value": "LBC055" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "59307:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "59307:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "59307:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "59352:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59364:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59375:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59360:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59360:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "59352:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1bdc71792e300c3b19739ad62e7651b4b49de502b7d1b6227970563bffaad71e__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "59206:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "59220:4:30", + "type": "" + } + ], + "src": "59055:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "59436:133:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "59446:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59464:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59468:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "59460:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59460:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59472:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "59456:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59456:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "59450:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "59483:34:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "59498:1:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "59501:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "59494:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59494:10:30" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "59510:1:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "59513:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "59506:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59506:10:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59490:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59490:27:30" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "59483:3:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "59541:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "59543:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "59543:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "59543:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "59532:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "59537:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "59529:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "59529:11:30" + }, + "nodeType": "YulIf", + "src": "59526:37:30" + } + ] + }, + "name": "checked_add_t_uint64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "59419:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "59422:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "59428:3:30", + "type": "" + } + ], + "src": "59389:180:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "59748:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59765:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59776:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "59758:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "59758:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "59758:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59799:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59810:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59795:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59795:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59815:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "59788:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "59788:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "59788:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59837:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59848:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59833:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59833:18:30" + }, + { + "hexValue": "4c4243303731", + "kind": "string", + "nodeType": "YulLiteral", + "src": "59853:8:30", + "type": "", + "value": "LBC071" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "59826:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "59826:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "59826:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "59871:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59883:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59894:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59879:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59879:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "59871:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_79d3c6c4bda42d819072ed97d83e6147bd9ad75bd5415529ecb6a41984271fb2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "59725:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "59739:4:30", + "type": "" + } + ], + "src": "59574:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "60073:110:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60090:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60101:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "60083:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "60083:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "60083:21:30" + }, + { + "nodeType": "YulAssignment", + "src": "60113:64:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "60150:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60162:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60173:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60158:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "60158:18:30" + } + ], + "functionName": { + "name": "abi_encode_struct_PeginQuote", + "nodeType": "YulIdentifier", + "src": "60121:28:30" + }, + "nodeType": "YulFunctionCall", + "src": "60121:56:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "60113:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_PeginQuote_$9884_memory_ptr__to_t_struct$_PeginQuote_$9884_memory_ptr__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "60042:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "60053:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "60064:4:30", + "type": "" + } + ], + "src": "59908:275:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "60362:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60379:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60390:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "60372:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "60372:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "60372:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60413:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60424:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60409:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "60409:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60429:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "60402:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "60402:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "60402:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60451:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60462:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60447:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "60447:18:30" + }, + { + "hexValue": "4c4243303130", + "kind": "string", + "nodeType": "YulLiteral", + "src": "60467:8:30", + "type": "", + "value": "LBC010" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "60440:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "60440:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "60440:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "60485:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60497:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60508:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60493:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "60493:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "60485:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b91014d5c812b217b1f7abf06d04044851a14f3d4efa9b6795d3964c23897cc9__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "60339:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "60353:4:30", + "type": "" + } + ], + "src": "60188:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "60696:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60713:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60724:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "60706:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "60706:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "60706:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60747:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60758:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60743:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "60743:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60763:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "60736:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "60736:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "60736:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60785:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60796:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60781:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "60781:18:30" + }, + { + "hexValue": "4c4243303137", + "kind": "string", + "nodeType": "YulLiteral", + "src": "60801:8:30", + "type": "", + "value": "LBC017" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "60774:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "60774:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "60774:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "60819:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60831:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60842:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60827:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "60827:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "60819:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_849663c0a27b21987cfc03f3233af0a7a46b23f0af09d39a18720d9610bcba81__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "60673:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "60687:4:30", + "type": "" + } + ], + "src": "60522:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "61048:62:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "61065:3:30" + }, + { + "hexValue": "626f7468", + "kind": "string", + "nodeType": "YulLiteral", + "src": "61070:6:30", + "type": "", + "value": "both" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "61058:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "61058:19:30" + }, + "nodeType": "YulExpressionStatement", + "src": "61058:19:30" + }, + { + "nodeType": "YulAssignment", + "src": "61086:18:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "61097:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61102:1:30", + "type": "", + "value": "4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "61093:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "61093:11:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "61086:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_36ad643d447cde9387780ae6f5b371120b595aaff5d56b8440952d5f7116fa16__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "61032:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "61040:3:30", + "type": "" + } + ], + "src": "60856:254:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "61289:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61306:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61317:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "61299:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "61299:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "61299:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61340:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61351:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "61336:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "61336:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61356:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "61329:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "61329:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "61329:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61378:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61389:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "61374:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "61374:18:30" + }, + { + "hexValue": "4c4243303138", + "kind": "string", + "nodeType": "YulLiteral", + "src": "61394:8:30", + "type": "", + "value": "LBC018" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "61367:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "61367:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "61367:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "61412:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61424:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61435:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "61420:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "61420:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "61412:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c8a2f96b1c149a2cda2dda6db9bbdafbecddac69bce104e31ad4dd14842e4820__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "61266:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "61280:4:30", + "type": "" + } + ], + "src": "61115:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "61623:233:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61640:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61651:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "61633:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "61633:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "61633:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61674:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61685:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "61670:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "61670:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61690:2:30", + "type": "", + "value": "43" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "61663:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "61663:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "61663:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61713:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61724:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "61709:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "61709:18:30" + }, + { + "hexValue": "496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069", + "kind": "string", + "nodeType": "YulLiteral", + "src": "61729:34:30", + "type": "", + "value": "Initializable: contract is not i" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "61702:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "61702:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "61702:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61784:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61795:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "61780:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "61780:18:30" + }, + { + "hexValue": "6e697469616c697a696e67", + "kind": "string", + "nodeType": "YulLiteral", + "src": "61800:13:30", + "type": "", + "value": "nitializing" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "61773:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "61773:41:30" + }, + "nodeType": "YulExpressionStatement", + "src": "61773:41:30" + }, + { + "nodeType": "YulAssignment", + "src": "61823:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61835:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61846:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "61831:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "61831:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "61823:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_d688db918bb9dd50354922faa108595679886fe9ff08046ad1ffe30aaea55f8b__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "61600:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "61614:4:30", + "type": "" + } + ], + "src": "61449:407:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "62035:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "62052:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62063:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "62045:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "62045:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "62045:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "62086:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62097:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62082:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62082:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62102:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "62075:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "62075:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "62075:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "62124:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62135:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62120:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62120:18:30" + }, + { + "hexValue": "4c4243303536", + "kind": "string", + "nodeType": "YulLiteral", + "src": "62140:8:30", + "type": "", + "value": "LBC056" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "62113:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "62113:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "62113:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "62158:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "62170:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62181:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62166:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62166:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "62158:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_5004352c178489e456f74ee0937a3403e68ee3fa72f6afa5bff20fe549075132__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "62012:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "62026:4:30", + "type": "" + } + ], + "src": "61861:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "62362:2278:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "62379:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62390:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "62372:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "62372:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "62372:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "62427:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "62421:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "62421:13:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "62440:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62451:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62436:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62436:18:30" + } + ], + "functionName": { + "name": "abi_encode_address", + "nodeType": "YulIdentifier", + "src": "62402:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "62402:53:30" + }, + "nodeType": "YulExpressionStatement", + "src": "62402:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "62464:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "62494:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62502:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62490:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62490:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "62484:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "62484:22:30" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "62468:12:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "62534:12:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "62552:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62563:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62548:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62548:18:30" + } + ], + "functionName": { + "name": "abi_encode_address", + "nodeType": "YulIdentifier", + "src": "62515:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "62515:52:30" + }, + "nodeType": "YulExpressionStatement", + "src": "62515:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "62576:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "62608:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62616:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62604:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62604:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "62598:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "62598:22:30" + }, + "variables": [ + { + "name": "memberValue0_1", + "nodeType": "YulTypedName", + "src": "62580:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "62629:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62639:6:30", + "type": "", + "value": "0x0220" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "62633:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "62665:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62676:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62661:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62661:18:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "62681:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "62654:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "62654:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "62654:30:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "62693:68:30", + "value": { + "arguments": [ + { + "name": "memberValue0_1", + "nodeType": "YulIdentifier", + "src": "62725:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "62745:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62756:3:30", + "type": "", + "value": "576" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62741:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62741:19:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "62707:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "62707:54:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "62697:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "62770:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "62802:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62810:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62798:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62798:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "62792:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "62792:22:30" + }, + "variables": [ + { + "name": "memberValue0_2", + "nodeType": "YulTypedName", + "src": "62774:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_2", + "nodeType": "YulIdentifier", + "src": "62842:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "62862:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62873:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62858:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62858:19:30" + } + ], + "functionName": { + "name": "abi_encode_address", + "nodeType": "YulIdentifier", + "src": "62823:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "62823:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "62823:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "62887:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "62919:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62927:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62915:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62915:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "62909:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "62909:23:30" + }, + "variables": [ + { + "name": "memberValue0_3", + "nodeType": "YulTypedName", + "src": "62891:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "62941:17:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62955:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "62951:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62951:7:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "62945:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "62978:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62989:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62974:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62974:19:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "63003:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "63011:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "62999:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62999:22:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "63023:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62995:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62995:31:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "62967:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "62967:60:30" + }, + "nodeType": "YulExpressionStatement", + "src": "62967:60:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "63036:55:30", + "value": { + "arguments": [ + { + "name": "memberValue0_3", + "nodeType": "YulIdentifier", + "src": "63068:14:30" + }, + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "63084:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "63050:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "63050:41:30" + }, + "variables": [ + { + "name": "tail_2", + "nodeType": "YulTypedName", + "src": "63040:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "63111:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63122:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63107:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63107:19:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "63138:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63146:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63134:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63134:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "63128:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "63128:23:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "63100:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "63100:52:30" + }, + "nodeType": "YulExpressionStatement", + "src": "63100:52:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "63172:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63183:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63168:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63168:19:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "63199:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63207:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63195:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63195:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "63189:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "63189:23:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "63161:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "63161:52:30" + }, + "nodeType": "YulExpressionStatement", + "src": "63161:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "63222:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "63254:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63262:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63250:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63250:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "63244:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "63244:23:30" + }, + "variables": [ + { + "name": "memberValue0_4", + "nodeType": "YulTypedName", + "src": "63226:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "63276:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63286:3:30", + "type": "", + "value": "256" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "63280:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_4", + "nodeType": "YulIdentifier", + "src": "63315:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "63335:9:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "63346:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63331:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63331:18:30" + } + ], + "functionName": { + "name": "abi_encode_int64", + "nodeType": "YulIdentifier", + "src": "63298:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "63298:52:30" + }, + "nodeType": "YulExpressionStatement", + "src": "63298:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "63359:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "63391:6:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "63399:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63387:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63387:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "63381:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "63381:22:30" + }, + "variables": [ + { + "name": "memberValue0_5", + "nodeType": "YulTypedName", + "src": "63363:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "63412:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63422:3:30", + "type": "", + "value": "288" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "63416:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "63445:9:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "63456:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63441:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63441:18:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "63469:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "63477:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "63465:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63465:22:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "63489:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63461:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63461:31:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "63434:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "63434:59:30" + }, + "nodeType": "YulExpressionStatement", + "src": "63434:59:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "63502:55:30", + "value": { + "arguments": [ + { + "name": "memberValue0_5", + "nodeType": "YulIdentifier", + "src": "63534:14:30" + }, + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "63550:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "63516:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "63516:41:30" + }, + "variables": [ + { + "name": "tail_3", + "nodeType": "YulTypedName", + "src": "63506:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "63566:32:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "63586:6:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "63594:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63582:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63582:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "63576:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "63576:22:30" + }, + "variables": [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "63570:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "63607:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63617:3:30", + "type": "", + "value": "320" + }, + "variables": [ + { + "name": "_6", + "nodeType": "YulTypedName", + "src": "63611:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "63640:9:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "63651:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63636:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63636:18:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "63656:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "63629:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "63629:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "63629:30:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "63668:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "63700:6:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "63708:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63696:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63696:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "63690:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "63690:22:30" + }, + "variables": [ + { + "name": "memberValue0_6", + "nodeType": "YulTypedName", + "src": "63672:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "63721:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63731:3:30", + "type": "", + "value": "352" + }, + "variables": [ + { + "name": "_7", + "nodeType": "YulTypedName", + "src": "63725:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_6", + "nodeType": "YulIdentifier", + "src": "63761:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "63781:9:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "63792:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63777:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63777:18:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "63743:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "63743:53:30" + }, + "nodeType": "YulExpressionStatement", + "src": "63743:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "63805:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "63837:6:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "63845:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63833:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63833:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "63827:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "63827:22:30" + }, + "variables": [ + { + "name": "memberValue0_7", + "nodeType": "YulTypedName", + "src": "63809:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "63858:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63868:3:30", + "type": "", + "value": "384" + }, + "variables": [ + { + "name": "_8", + "nodeType": "YulTypedName", + "src": "63862:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_7", + "nodeType": "YulIdentifier", + "src": "63898:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "63918:9:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "63929:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63914:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63914:18:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "63880:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "63880:53:30" + }, + "nodeType": "YulExpressionStatement", + "src": "63880:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "63942:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "63974:6:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "63982:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63970:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63970:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "63964:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "63964:22:30" + }, + "variables": [ + { + "name": "memberValue0_8", + "nodeType": "YulTypedName", + "src": "63946:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "63995:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64005:3:30", + "type": "", + "value": "416" + }, + "variables": [ + { + "name": "_9", + "nodeType": "YulTypedName", + "src": "63999:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_8", + "nodeType": "YulIdentifier", + "src": "64035:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64055:9:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "64066:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "64051:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64051:18:30" + } + ], + "functionName": { + "name": "abi_encode_uint16", + "nodeType": "YulIdentifier", + "src": "64017:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "64017:53:30" + }, + "nodeType": "YulExpressionStatement", + "src": "64017:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "64079:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "64111:6:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "64119:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "64107:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64107:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "64101:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "64101:22:30" + }, + "variables": [ + { + "name": "memberValue0_9", + "nodeType": "YulTypedName", + "src": "64083:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "64132:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64143:3:30", + "type": "", + "value": "448" + }, + "variables": [ + { + "name": "_10", + "nodeType": "YulTypedName", + "src": "64136:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_9", + "nodeType": "YulIdentifier", + "src": "64173:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64193:9:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "64204:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "64189:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64189:19:30" + } + ], + "functionName": { + "name": "abi_encode_uint16", + "nodeType": "YulIdentifier", + "src": "64155:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "64155:54:30" + }, + "nodeType": "YulExpressionStatement", + "src": "64155:54:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "64218:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "64251:6:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "64259:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "64247:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64247:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "64241:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "64241:23:30" + }, + "variables": [ + { + "name": "memberValue0_10", + "nodeType": "YulTypedName", + "src": "64222:15:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "64273:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64284:3:30", + "type": "", + "value": "480" + }, + "variables": [ + { + "name": "_11", + "nodeType": "YulTypedName", + "src": "64277:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_10", + "nodeType": "YulIdentifier", + "src": "64314:15:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64335:9:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "64346:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "64331:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64331:19:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "64296:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "64296:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "64296:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "64360:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "64393:6:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "64401:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "64389:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64389:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "64383:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "64383:23:30" + }, + "variables": [ + { + "name": "memberValue0_11", + "nodeType": "YulTypedName", + "src": "64364:15:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "64415:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64426:3:30", + "type": "", + "value": "512" + }, + "variables": [ + { + "name": "_12", + "nodeType": "YulTypedName", + "src": "64419:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_11", + "nodeType": "YulIdentifier", + "src": "64456:15:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64477:9:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "64488:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "64473:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64473:19:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "64438:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "64438:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "64438:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "64502:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "64535:6:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "64543:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "64531:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64531:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "64525:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "64525:23:30" + }, + "variables": [ + { + "name": "memberValue0_12", + "nodeType": "YulTypedName", + "src": "64506:15:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_12", + "nodeType": "YulIdentifier", + "src": "64575:15:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64596:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "64607:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "64592:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64592:18:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "64557:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "64557:54:30" + }, + "nodeType": "YulExpressionStatement", + "src": "64557:54:30" + }, + { + "nodeType": "YulAssignment", + "src": "64620:14:30", + "value": { + "name": "tail_3", + "nodeType": "YulIdentifier", + "src": "64628:6:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "64620:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_PegOutQuote_$9919_memory_ptr__to_t_struct$_PegOutQuote_$9919_memory_ptr__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "62331:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "62342:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "62353:4:30", + "type": "" + } + ], + "src": "62195:2445:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "64819:181:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64836:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64847:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "64829:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "64829:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "64829:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64870:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64881:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "64866:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64866:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64886:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "64859:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "64859:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "64859:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64909:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64920:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "64905:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64905:18:30" + }, + { + "hexValue": "5265656e7472616e637947756172643a207265656e7472616e742063616c6c", + "kind": "string", + "nodeType": "YulLiteral", + "src": "64925:33:30", + "type": "", + "value": "ReentrancyGuard: reentrant call" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "64898:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "64898:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "64898:61:30" + }, + { + "nodeType": "YulAssignment", + "src": "64968:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64980:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64991:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "64976:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64976:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "64968:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "64796:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "64810:4:30", + "type": "" + } + ], + "src": "64645:355:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "65384:684:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "65394:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65404:3:30", + "type": "", + "value": "256" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "65398:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65423:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "65434:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "65416:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "65416:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "65416:21:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "65446:59:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "65478:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65490:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "65501:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "65486:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65486:18:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "65460:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "65460:45:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "65450:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65525:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65536:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "65521:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65521:18:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "65541:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "65514:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "65514:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "65514:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65568:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65579:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "65564:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65564:18:30" + }, + { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "65588:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65596:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "65584:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65584:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "65557:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "65557:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "65557:50:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "65616:47:30", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "65648:6:30" + }, + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "65656:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "65630:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "65630:33:30" + }, + "variables": [ + { + "name": "tail_2", + "nodeType": "YulTypedName", + "src": "65620:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65683:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65694:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "65679:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65679:18:30" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "65699:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "65672:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "65672:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "65672:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65726:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65737:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "65722:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65722:19:30" + }, + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "65747:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65755:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "65743:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65743:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "65715:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "65715:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "65715:51:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "65775:47:30", + "value": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "65807:6:30" + }, + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "65815:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "65789:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "65789:33:30" + }, + "variables": [ + { + "name": "tail_3", + "nodeType": "YulTypedName", + "src": "65779:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65842:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65853:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "65838:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65838:19:30" + }, + { + "arguments": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "65863:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65879:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65884:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "65875:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65875:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65888:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "65871:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65871:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "65859:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65859:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "65831:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "65831:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "65831:61:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65912:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65923:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "65908:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65908:19:30" + }, + { + "arguments": [ + { + "name": "tail_3", + "nodeType": "YulIdentifier", + "src": "65933:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65941:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "65929:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65929:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "65901:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "65901:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "65901:51:30" + }, + { + "nodeType": "YulAssignment", + "src": "65961:41:30", + "value": { + "arguments": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "65987:6:30" + }, + { + "name": "tail_3", + "nodeType": "YulIdentifier", + "src": "65995:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "65969:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "65969:33:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "65961:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "66022:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "66033:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "66018:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "66018:19:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value7", + "nodeType": "YulIdentifier", + "src": "66053:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "66046:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "66046:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "66039:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "66039:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "66011:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "66011:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "66011:51:30" + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr_t_uint256_t_bytes_memory_ptr_t_bytes32_t_bytes_memory_ptr_t_address_payable_t_bytes_memory_ptr_t_bool__to_t_bytes_memory_ptr_t_uint256_t_bytes_memory_ptr_t_bytes32_t_bytes_memory_ptr_t_address_payable_t_bytes_memory_ptr_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "65297:9:30", + "type": "" + }, + { + "name": "value7", + "nodeType": "YulTypedName", + "src": "65308:6:30", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "65316:6:30", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "65324:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "65332:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "65340:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "65348:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "65356:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "65364:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "65375:4:30", + "type": "" + } + ], + "src": "65005:1063:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "66247:170:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "66264:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "66275:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "66257:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "66257:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "66257:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "66298:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "66309:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "66294:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "66294:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "66314:2:30", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "66287:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "66287:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "66287:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "66337:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "66348:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "66333:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "66333:18:30" + }, + { + "hexValue": "496e76616c696420626c6f636b20686569676874", + "kind": "string", + "nodeType": "YulLiteral", + "src": "66353:22:30", + "type": "", + "value": "Invalid block height" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "66326:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "66326:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "66326:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "66385:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "66397:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "66408:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "66393:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "66393:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "66385:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b13cbe420d932534b4c4c376e19a45f25e0ca05c6f1a458489ccb0574b26a6d9__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "66224:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "66238:4:30", + "type": "" + } + ], + "src": "66073:344:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "66596:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "66613:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "66624:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "66606:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "66606:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "66606:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "66647:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "66658:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "66643:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "66643:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "66663:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "66636:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "66636:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "66636:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "66685:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "66696:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "66681:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "66681:18:30" + }, + { + "hexValue": "4c4243303538", + "kind": "string", + "nodeType": "YulLiteral", + "src": "66701:8:30", + "type": "", + "value": "LBC058" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "66674:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "66674:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "66674:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "66719:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "66731:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "66742:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "66727:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "66727:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "66719:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_bac19bb4c4dce4ec87196bdccebfa1c4310f60332f1259cdc0bb93303ee1c2a0__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "66573:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "66587:4:30", + "type": "" + } + ], + "src": "66422:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "66930:182:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "66947:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "66958:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "66940:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "66940:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "66940:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "66981:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "66992:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "66977:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "66977:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "66997:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "66970:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "66970:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "66970:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "67020:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "67031:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "67016:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "67016:18:30" + }, + { + "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "67036:34:30", + "type": "", + "value": "Ownable: caller is not the owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "67009:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "67009:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "67009:62:30" + }, + { + "nodeType": "YulAssignment", + "src": "67080:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "67092:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "67103:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "67088:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "67088:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "67080:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "66907:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "66921:4:30", + "type": "" + } + ], + "src": "66756:356:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "67291:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "67308:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "67319:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "67301:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "67301:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "67301:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "67342:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "67353:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "67338:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "67338:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "67358:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "67331:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "67331:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "67331:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "67380:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "67391:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "67376:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "67376:18:30" + }, + { + "hexValue": "4c4243303632", + "kind": "string", + "nodeType": "YulLiteral", + "src": "67396:8:30", + "type": "", + "value": "LBC062" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "67369:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "67369:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "67369:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "67414:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "67426:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "67437:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "67422:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "67422:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "67414:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_670f3ba0b2ca6f986efb9f8a498a40315443c3d4e263cc5de65e37011508c7c9__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "67268:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "67282:4:30", + "type": "" + } + ], + "src": "67117:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "67625:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "67642:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "67653:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "67635:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "67635:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "67635:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "67676:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "67687:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "67672:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "67672:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "67692:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "67665:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "67665:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "67665:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "67714:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "67725:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "67710:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "67710:18:30" + }, + { + "hexValue": "4c4243303539", + "kind": "string", + "nodeType": "YulLiteral", + "src": "67730:8:30", + "type": "", + "value": "LBC059" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "67703:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "67703:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "67703:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "67748:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "67760:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "67771:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "67756:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "67756:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "67748:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_319f398ccb7cc8c2c2304e07f301f618437c863aa2ff561ced1eaa40fcd3df63__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "67602:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "67616:4:30", + "type": "" + } + ], + "src": "67451:329:30" + } + ] + }, + "contents": "{\n { }\n function abi_encode_tuple_t_stringliteral_a23daf30bd1e42cc69e3bea751166702f08d640860ab6f4c84d6bacb970360da__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC007\")\n tail := add(headStart, 96)\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_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\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_9157() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0x0240)\n if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function allocate_memory_9158() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0x0220)\n if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function allocate_memory_9162() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0x80)\n if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\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 abi_decode_bytes20(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, not(sub(shl(96, 1), 1))))) { revert(0, 0) }\n }\n function validator_revert_address(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n validator_revert_address(value)\n }\n function array_allocation_size_bytes(length) -> size\n {\n if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n size := add(and(add(length, 31), not(31)), 0x20)\n }\n function abi_decode_bytes(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_bytes(_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_uint32(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffffffff))) { revert(0, 0) }\n }\n function abi_decode_int64(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, signextend(7, value))) { revert(0, 0) }\n }\n function abi_decode_uint16(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffff))) { revert(0, 0) }\n }\n function validator_revert_bool(value)\n {\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_bool(offset) -> value\n {\n value := calldataload(offset)\n validator_revert_bool(value)\n }\n function abi_decode_struct_PeginQuote(headStart, end) -> value\n {\n if slt(sub(end, headStart), 0x0240) { revert(0, 0) }\n value := allocate_memory_9157()\n mstore(value, abi_decode_bytes20(headStart))\n mstore(add(value, 32), abi_decode_address(add(headStart, 32)))\n mstore(add(value, 64), abi_decode_address(add(headStart, 64)))\n let offset := calldataload(add(headStart, 96))\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n mstore(add(value, 96), abi_decode_bytes(add(headStart, offset), end))\n mstore(add(value, 128), abi_decode_address(add(headStart, 128)))\n let offset_1 := calldataload(add(headStart, 160))\n if gt(offset_1, _1) { revert(0, 0) }\n mstore(add(value, 160), abi_decode_bytes(add(headStart, offset_1), end))\n mstore(add(value, 192), calldataload(add(headStart, 192)))\n mstore(add(value, 224), calldataload(add(headStart, 224)))\n let _2 := 256\n mstore(add(value, _2), abi_decode_address(add(headStart, _2)))\n let _3 := 288\n let offset_2 := calldataload(add(headStart, _3))\n if gt(offset_2, _1) { revert(0, 0) }\n mstore(add(value, _3), abi_decode_bytes(add(headStart, offset_2), end))\n let _4 := 320\n mstore(add(value, _4), abi_decode_uint32(add(headStart, _4)))\n let _5 := 352\n mstore(add(value, _5), abi_decode_int64(add(headStart, _5)))\n let _6 := 384\n mstore(add(value, _6), calldataload(add(headStart, _6)))\n let _7 := 416\n mstore(add(value, _7), abi_decode_uint32(add(headStart, _7)))\n let _8 := 448\n mstore(add(value, _8), abi_decode_uint32(add(headStart, _8)))\n let _9 := 480\n mstore(add(value, _9), abi_decode_uint32(add(headStart, _9)))\n let _10 := 512\n mstore(add(value, _10), abi_decode_uint16(add(headStart, _10)))\n let _11 := 544\n mstore(add(value, _11), abi_decode_bool(add(headStart, _11)))\n }\n function abi_decode_tuple_t_struct$_PeginQuote_$9884_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, sub(shl(64, 1), 1)) { revert(0, 0) }\n value0 := abi_decode_struct_PeginQuote(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_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_boolt_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_bytes(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_bytes(add(headStart, offset_1), dataEnd)\n let value := calldataload(add(headStart, 64))\n validator_revert_bool(value)\n value2 := value\n let offset_2 := calldataload(add(headStart, 96))\n if gt(offset_2, _1) { revert(0, 0) }\n value3 := abi_decode_bytes(add(headStart, offset_2), dataEnd)\n }\n function abi_encode_tuple_t_int16__to_t_int16__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, signextend(1, value0))\n }\n function abi_decode_tuple_t_address_payablet_uint256t_uint256t_uint32t_uint32t_uint256t_uint256t_bool(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7\n {\n if slt(sub(dataEnd, headStart), 256) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n value3 := abi_decode_uint32(add(headStart, 96))\n value4 := abi_decode_uint32(add(headStart, 128))\n value5 := calldataload(add(headStart, 160))\n value6 := calldataload(add(headStart, 192))\n let value_1 := calldataload(add(headStart, 224))\n validator_revert_bool(value_1)\n value7 := value_1\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_encode_bool(value, pos)\n {\n mstore(pos, iszero(iszero(value)))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_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 array_allocation_size_array_uint256_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_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0\n {\n let _1 := 32\n if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, sub(shl(64, 1), 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 dst := allocate_memory(array_allocation_size_array_uint256_dyn(_3))\n let dst_1 := dst\n mstore(dst, _3)\n dst := add(dst, _1)\n let srcEnd := add(add(_2, shl(5, _3)), _1)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_2, _1)\n for { } lt(src, srcEnd) { src := add(src, _1) }\n {\n mstore(dst, calldataload(src))\n dst := add(dst, _1)\n }\n value0 := dst_1\n }\n function abi_encode_address(value, pos)\n {\n mstore(pos, and(value, sub(shl(160, 1), 1)))\n }\n function copy_memory_to_memory_with_cleanup(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 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_with_cleanup(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_array$_t_struct$_LiquidityProvider_$4169_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_LiquidityProvider_$4169_memory_ptr_$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 let _2 := 64\n pos := add(headStart, _2)\n let tail_2 := add(add(headStart, shl(5, length)), _2)\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, add(sub(tail_2, headStart), not(63)))\n let _3 := mload(srcPtr)\n let _4 := 0xc0\n mstore(tail_2, mload(_3))\n mstore(add(tail_2, _1), and(mload(add(_3, _1)), sub(shl(160, 1), 1)))\n let memberValue0 := mload(add(_3, _2))\n mstore(add(tail_2, _2), _4)\n let tail_3 := abi_encode_string(memberValue0, add(tail_2, _4))\n let _5 := 0x60\n let memberValue0_1 := mload(add(_3, _5))\n mstore(add(tail_2, _5), sub(tail_3, tail_2))\n let tail_4 := abi_encode_string(memberValue0_1, tail_3)\n let _6 := 0x80\n mstore(add(tail_2, _6), iszero(iszero(mload(add(_3, _6)))))\n let _7 := 0xa0\n let memberValue0_2 := mload(add(_3, _7))\n mstore(add(tail_2, _7), sub(tail_4, tail_2))\n tail_2 := abi_encode_string(memberValue0_2, tail_4)\n srcPtr := add(srcPtr, _1)\n pos := add(pos, _1)\n }\n tail := tail_2\n }\n function abi_decode_struct_PegOutQuote(headStart, end) -> value\n {\n if slt(sub(end, headStart), 0x0220) { revert(0, 0) }\n value := allocate_memory_9158()\n mstore(value, abi_decode_address(headStart))\n mstore(add(value, 32), abi_decode_address(add(headStart, 32)))\n let offset := calldataload(add(headStart, 64))\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n mstore(add(value, 64), abi_decode_bytes(add(headStart, offset), end))\n mstore(add(value, 96), abi_decode_address(add(headStart, 96)))\n let offset_1 := calldataload(add(headStart, 128))\n if gt(offset_1, _1) { revert(0, 0) }\n mstore(add(value, 128), abi_decode_bytes(add(headStart, offset_1), end))\n mstore(add(value, 160), calldataload(add(headStart, 160)))\n mstore(add(value, 192), calldataload(add(headStart, 192)))\n mstore(add(value, 224), abi_decode_int64(add(headStart, 224)))\n let _2 := 256\n let offset_2 := calldataload(add(headStart, _2))\n if gt(offset_2, _1) { revert(0, 0) }\n mstore(add(value, _2), abi_decode_bytes(add(headStart, offset_2), end))\n let _3 := 288\n mstore(add(value, _3), calldataload(add(headStart, _3)))\n let _4 := 320\n mstore(add(value, _4), abi_decode_uint32(add(headStart, _4)))\n let _5 := 352\n mstore(add(value, _5), abi_decode_uint32(add(headStart, _5)))\n let _6 := 384\n mstore(add(value, _6), abi_decode_uint16(add(headStart, _6)))\n let _7 := 416\n mstore(add(value, _7), abi_decode_uint16(add(headStart, _7)))\n let _8 := 448\n mstore(add(value, _8), abi_decode_uint32(add(headStart, _8)))\n let _9 := 480\n mstore(add(value, _9), abi_decode_uint32(add(headStart, _9)))\n let _10 := 512\n mstore(add(value, _10), abi_decode_uint32(add(headStart, _10)))\n }\n function abi_decode_tuple_t_struct$_PegOutQuote_$9919_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, sub(shl(64, 1), 1)) { revert(0, 0) }\n value0 := abi_decode_struct_PegOutQuote(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_struct$_PeginQuote_$9884_memory_ptrt_bytes_memory_ptrt_bytes_memory_ptrt_bytes_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_struct_PeginQuote(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_bytes(add(headStart, offset_1), dataEnd)\n let offset_2 := calldataload(add(headStart, 64))\n if gt(offset_2, _1) { revert(0, 0) }\n value2 := abi_decode_bytes(add(headStart, offset_2), dataEnd)\n let offset_3 := calldataload(add(headStart, 96))\n if gt(offset_3, _1) { revert(0, 0) }\n value3 := abi_decode_bytes(add(headStart, offset_3), dataEnd)\n value4 := calldataload(add(headStart, 128))\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_tuple_t_uint256t_bool(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n validator_revert_bool(value)\n value1 := value\n }\n function abi_decode_tuple_t_struct$_PegOutQuote_$9919_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 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_struct_PegOutQuote(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_bytes(add(headStart, offset_1), dataEnd)\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, sub(shl(160, 1), 1)))\n }\n function abi_encode_uint16(value, pos)\n {\n mstore(pos, and(value, 0xffff))\n }\n function abi_encode_tuple_t_uint16__to_t_uint16__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffff))\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, sub(shl(64, 1), 1)) { revert(0, 0) }\n value0 := abi_decode_bytes(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_struct$_PeginQuote_$9884_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 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_struct_PeginQuote(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_bytes(add(headStart, offset_1), dataEnd)\n }\n function abi_decode_tuple_t_bytes32t_bytes_memory_ptrt_bytes32t_uint256t_array$_t_bytes32_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := calldataload(headStart)\n let _1 := 32\n let offset := calldataload(add(headStart, _1))\n let _2 := sub(shl(64, 1), 1)\n if gt(offset, _2) { revert(0, 0) }\n value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n value2 := calldataload(add(headStart, 64))\n value3 := calldataload(add(headStart, 96))\n let offset_1 := calldataload(add(headStart, 128))\n if gt(offset_1, _2) { revert(0, 0) }\n let _3 := add(headStart, offset_1)\n if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n let _4 := calldataload(_3)\n let dst := allocate_memory(array_allocation_size_array_uint256_dyn(_4))\n let dst_1 := dst\n mstore(dst, _4)\n dst := add(dst, _1)\n let srcEnd := add(add(_3, shl(5, _4)), _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 mstore(dst, calldataload(src))\n dst := add(dst, _1)\n }\n value4 := dst_1\n }\n function abi_encode_tuple_t_contract$_Bridge_$3208__to_t_address_payable__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_int64(value, pos)\n {\n mstore(pos, signextend(7, value))\n }\n function abi_encode_uint32(value, pos)\n {\n mstore(pos, and(value, 0xffffffff))\n }\n function abi_encode_tuple_t_struct$_PegOutQuote_$9919_memory_ptr__to_t_struct$_PegOutQuote_$9919_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n abi_encode_address(mload(value0), add(headStart, 32))\n let memberValue0 := mload(add(value0, 32))\n abi_encode_address(memberValue0, add(headStart, 64))\n let memberValue0_1 := mload(add(value0, 64))\n let _1 := 0x0220\n mstore(add(headStart, 96), _1)\n let tail_1 := abi_encode_string(memberValue0_1, add(headStart, 576))\n let memberValue0_2 := mload(add(value0, 96))\n abi_encode_address(memberValue0_2, add(headStart, 128))\n let memberValue0_3 := mload(add(value0, 128))\n let _2 := not(31)\n mstore(add(headStart, 160), add(sub(tail_1, headStart), _2))\n let tail_2 := abi_encode_string(memberValue0_3, tail_1)\n mstore(add(headStart, 192), mload(add(value0, 160)))\n mstore(add(headStart, 224), mload(add(value0, 192)))\n let memberValue0_4 := mload(add(value0, 224))\n let _3 := 256\n abi_encode_int64(memberValue0_4, add(headStart, _3))\n let memberValue0_5 := mload(add(value0, _3))\n let _4 := 288\n mstore(add(headStart, _4), add(sub(tail_2, headStart), _2))\n let tail_3 := abi_encode_string(memberValue0_5, tail_2)\n let _5 := mload(add(value0, _4))\n let _6 := 320\n mstore(add(headStart, _6), _5)\n let memberValue0_6 := mload(add(value0, _6))\n let _7 := 352\n abi_encode_uint32(memberValue0_6, add(headStart, _7))\n let memberValue0_7 := mload(add(value0, _7))\n let _8 := 384\n abi_encode_uint32(memberValue0_7, add(headStart, _8))\n let memberValue0_8 := mload(add(value0, _8))\n let _9 := 416\n abi_encode_uint16(memberValue0_8, add(headStart, _9))\n let memberValue0_9 := mload(add(value0, _9))\n let _10 := 448\n abi_encode_uint16(memberValue0_9, add(headStart, _10))\n let memberValue0_10 := mload(add(value0, _10))\n let _11 := 480\n abi_encode_uint32(memberValue0_10, add(headStart, _11))\n let memberValue0_11 := mload(add(value0, _11))\n let _12 := 512\n abi_encode_uint32(memberValue0_11, add(headStart, _12))\n let memberValue0_12 := mload(add(value0, _12))\n abi_encode_uint32(memberValue0_12, add(headStart, _1))\n tail := tail_3\n }\n function abi_encode_tuple_t_stringliteral_41f42e8d0f67be0e87abf05a33ed728b4868df2f2b92840d9519a852352eb909__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC019\")\n tail := add(headStart, 96)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos) -> end\n { end := pos }\n function abi_encode_tuple_t_stringliteral_5c242c0534fa00b11577be4ea886875d641e4a1ad40749685bb740e7c1a67fc9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC020\")\n tail := add(headStart, 96)\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, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_stringliteral_ccfdeeda37cff52b8b53c7f459ead001a00858d8cd279133dc1e599c6257c485__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC021\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ae5a5bd2536c79a56736074670f517df1b8a17deb822b59dfa1648888074b4cc__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC022\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_7e21a7b13292bf184f2fc166cca229506aa89a730258f15cdce6a2f8dc225415__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC003\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_a80fe4c2764b7c4b52829ebb2b1bb3117b2b8ffa6a6401dbe00248ec851a73a8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC070\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_f838e22b544c153329abcc9856d1b1f7e7f6c83118dc13d7a0606e65edb3cdd8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC009\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_packed_t_stringliteral_4dc7b383aaca8b1076677685b160d1864e4801cbbaf42c8044d4665ea1c41120__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos) -> end\n {\n mstore(pos, \"pegin\")\n end := add(pos, 5)\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_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_26efcc4d852e81be6f75389e4f50496331355ea059764b90ab1412936d29ab69__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC008\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_packed_t_stringliteral_ac320a165668abf6cbe2f0b8e46bf2426fe38861df98fc1861161bf05a853587__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos) -> end\n {\n mstore(pos, \"pegout\")\n end := add(pos, 6)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n product := mul(x, y)\n if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n }\n function panic_error_0x12()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := div(x, y)\n }\n function mod_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\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 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 function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_stringliteral_a509ede2323476f3f5be48987391c5516e4ea8116b376287322ed2188be0e53c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC001\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 46)\n mstore(add(headStart, 64), \"Initializable: contract is alrea\")\n mstore(add(headStart, 96), \"dy initialized\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_b08af29ae9ab6d901d6564b35ffdb791cf633ea45a36ea23bf660bfada2612fe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC004\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_aef7c38006d01c174c6b5b14fe8e6059baae2f7a6dd6bce99907771d261c0abd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC072\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_b87a2fdd3e8805c862b0b631e2cf43b048cd2e48956f7516ed8be20eb14ec931__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC073\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_rational_1_by_1__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function abi_encode_tuple_t_stringliteral_1e153c8413fa71b1dc88c42214ae3211e20bbd7d323adc3a7cb82fb90c05d672__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC023\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_4c4b8fd0ae53a3caa85e74f53bba210cefdcb0e1d1c519eb8385d2cd3741f7fb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC028\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_address_t_bytes32_t_bytes_memory_ptr__to_t_address_t_bytes32_t_bytes_memory_ptr__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), 96)\n tail := abi_encode_string(value2, add(headStart, 96))\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 validator_revert_bool(value)\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_ebb41fd1c3d95b8eaff1e56d491f7a983f7f3039fac57e6fad7993de139e2216__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC029\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6b987c2142a6ed89e76021f4d9a60f3cbfc2f7110bd81bc33ff58ad7cf27befa__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC030\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_b9f5a33cea5e5738277827f2f81faa92d1d3c73cf030e2542a7b80c6f7bdc8a7__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC031\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_5d8d108d93a53583cf1949d2287cc7f0af5603bd102faf9db90e7e6bbc90ade8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC032\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_e976d8a3febca36c67dcd5b38ae845ffd2f248a24eaf2d7a97f208ffd80ff125__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC033\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_745436b16371784f7b451bf4bed6f0978e2f007f74e71dfa0c49414b3a522759__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC034\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_37570ea73114ff69cb8aab9e09d6f5beb11b36ce1a2ae19ee6f5de28dc42d754__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC035\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_5ccb4449252c316623411606962515c0966208bcce5fe352c2e850b058d1077c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC036\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_address_t_uint256_t_bytes32__to_t_address_t_uint256_t_bytes32__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n }\n function abi_encode_tuple_t_bytes32_t_int256__to_t_bytes32_t_int256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_bytes20(value, pos)\n {\n mstore(pos, and(value, not(sub(shl(96, 1), 1))))\n }\n function abi_encode_struct_PeginQuote(value, pos) -> end\n {\n let _1 := 0x0240\n abi_encode_bytes20(mload(value), pos)\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_address(memberValue0, add(pos, 0x20))\n let memberValue0_1 := mload(add(value, 0x40))\n abi_encode_address(memberValue0_1, add(pos, 0x40))\n let memberValue0_2 := mload(add(value, 0x60))\n mstore(add(pos, 0x60), _1)\n let tail := abi_encode_string(memberValue0_2, add(pos, _1))\n let memberValue0_3 := mload(add(value, 0x80))\n abi_encode_address(memberValue0_3, add(pos, 0x80))\n let memberValue0_4 := mload(add(value, 0xa0))\n mstore(add(pos, 0xa0), sub(tail, pos))\n let tail_1 := abi_encode_string(memberValue0_4, tail)\n mstore(add(pos, 0xc0), mload(add(value, 0xc0)))\n mstore(add(pos, 0xe0), mload(add(value, 0xe0)))\n let _2 := 0x0100\n let memberValue0_5 := mload(add(value, _2))\n abi_encode_address(memberValue0_5, add(pos, _2))\n let _3 := 0x0120\n let memberValue0_6 := mload(add(value, _3))\n mstore(add(pos, _3), sub(tail_1, pos))\n let tail_2 := abi_encode_string(memberValue0_6, tail_1)\n let _4 := 0x0140\n let memberValue0_7 := mload(add(value, _4))\n abi_encode_uint32(memberValue0_7, add(pos, _4))\n let _5 := 0x0160\n let memberValue0_8 := mload(add(value, _5))\n abi_encode_int64(memberValue0_8, add(pos, _5))\n let _6 := 0x0180\n mstore(add(pos, _6), mload(add(value, _6)))\n let _7 := 0x01a0\n let memberValue0_9 := mload(add(value, _7))\n abi_encode_uint32(memberValue0_9, add(pos, _7))\n let _8 := 0x01c0\n let memberValue0_10 := mload(add(value, _8))\n abi_encode_uint32(memberValue0_10, add(pos, _8))\n let _9 := 0x01e0\n let memberValue0_11 := mload(add(value, _9))\n abi_encode_uint32(memberValue0_11, add(pos, _9))\n let _10 := 0x0200\n let memberValue0_12 := mload(add(value, _10))\n abi_encode_uint16(memberValue0_12, add(pos, _10))\n let _11 := 0x0220\n let memberValue0_13 := mload(add(value, _11))\n abi_encode_bool(memberValue0_13, add(pos, _11))\n end := tail_2\n }\n function abi_encode_tuple_t_struct$_PeginQuote_$9884_memory_ptr_t_uint256__to_t_struct$_PeginQuote_$9884_memory_ptr_t_uint256__fromStack_library_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 64)\n tail := abi_encode_struct_PeginQuote(value0, add(headStart, 64))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_address_payable_t_uint256_t_bool_t_bytes32__to_t_address_t_uint256_t_bool_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), iszero(iszero(value2)))\n mstore(add(headStart, 96), value3)\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_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_uint32_t_uint256_t_bytes_memory_ptr_t_bool_t_bytes32__to_t_uint256_t_uint256_t_bytes_memory_ptr_t_bool_t_bytes32__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, and(value0, 0xffffffff))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), 160)\n tail := abi_encode_string(value2, add(headStart, 160))\n mstore(add(headStart, 96), iszero(iszero(value3)))\n mstore(add(headStart, 128), value4)\n }\n function abi_encode_tuple_t_stringliteral_0a36b25bf1b768acf545d4a7d22e9fceeba3414a7a19dc34973fc2e1be01a831__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC005\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ecc75ee801269ba7670799af84ad7f1d968d59315783a708807424c72ec63d04__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC037\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_0267b5bcac1113eea8a4dc81e170e6fe59336df7f2c6a4d2ae7ad240f894a2f9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC063\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_39eacc26aa588693c014f46e6dd86f6cac22eb3287098210ddf746f1a6af8214__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC065\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_c8999eb883ba6531127283b89d3773d87761ac547946da55d1f52c5931d8838f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC046\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_b400745c4fd650850c2059b2d13f12980ca63b7ccd87c008204992f11af559c2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC047\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_35937926b0033772f3bb574f0cbcffec40211211a6070977d47733885bf234eb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC064\")\n tail := add(headStart, 96)\n }\n function copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_t_stringliteral_100fb89310beea959f828c5ca2a95ca4d28be5d0ba0e61e54b1345b68d14b6a1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC042\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_476e33256b298fee7fc3dab0c339427caa3a9a4a44654f7f02b328083d44ca74__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC041\")\n tail := add(headStart, 96)\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, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_stringliteral_0a7ff570d31f7e351d06bf5b8d0ef26a9275a9d32a7dffd7981a6c6ac58227c6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC044\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_438c5a176571afee566b78f09f63757218623602a6c98e887399fe40429f63df__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC061\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_packed_t_bytes32_t_bytes_memory_ptr_t_bytes20_t_bytes_memory_ptr__to_t_bytes32_t_bytes_memory_ptr_t_bytes20_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value3, value2, value1, value0) -> end\n {\n mstore(pos, value0)\n let length := mload(value1)\n copy_memory_to_memory_with_cleanup(add(value1, 32), add(pos, 32), length)\n let _1 := add(pos, length)\n mstore(add(_1, 32), and(value2, not(sub(shl(96, 1), 1))))\n let length_1 := mload(value3)\n copy_memory_to_memory_with_cleanup(add(value3, 32), add(_1, 52), length_1)\n end := add(add(_1, length_1), 52)\n }\n function abi_decode_bytes_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let array_1 := allocate_memory(array_allocation_size_bytes(_1))\n mstore(array_1, _1)\n if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n copy_memory_to_memory_with_cleanup(add(offset, 0x20), add(array_1, 0x20), _1)\n array := array_1\n }\n function abi_decode_tuple_t_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := mload(headStart)\n if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n value0 := abi_decode_bytes_fromMemory(add(headStart, offset), dataEnd)\n }\n function abi_encode_tuple_packed_t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a_t_bytes32_t_stringliteral_32cefdcd8e794145c9af8dd1f4b1fbd92d6e547ae855553080fc8bd19c4883a0_t_bytes_memory_ptr__to_t_bytes1_t_bytes32_t_bytes1_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, \" \")\n mstore(add(pos, 1), value0)\n mstore(add(pos, 33), \"u\")\n let length := mload(value1)\n copy_memory_to_memory_with_cleanup(add(value1, 0x20), add(pos, 34), length)\n end := add(add(pos, length), 34)\n }\n function abi_encode_tuple_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bool__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bool__fromStack_library_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 tail := abi_encode_string(value1, tail_1)\n mstore(add(headStart, 64), iszero(iszero(value2)))\n }\n function abi_encode_tuple_t_stringliteral_9c6c58d5603e5b2aab0d13c183f0136466f0ce13826630d90e079bf910078715__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC024\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ceda09d74f8a59745bfad5393e75482469dc6db77c24fde6f52df4409a3f744c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC025\")\n tail := add(headStart, 96)\n }\n function checked_add_t_uint32(x, y) -> sum\n {\n let _1 := 0xffffffff\n sum := add(and(x, _1), and(y, _1))\n if gt(sum, _1) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_2d63cc93f65e3c34ca5cba24271c3d6869155fb2ffc83f083d82378f26d56cb0__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC026\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_5a937cad92792f08abdaf15eed65a070909c29d924f856ec65923c138fd39a48__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC027\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_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_array$_t_struct$_TxRawOutput_$1968_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 if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n let _4 := mload(_3)\n let dst := allocate_memory(array_allocation_size_array_uint256_dyn(_4))\n let dst_1 := dst\n mstore(dst, _4)\n dst := add(dst, _1)\n let srcEnd := add(add(_3, shl(5, _4)), _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 _5 := 0\n revert(_5, _5)\n }\n let _6 := add(_3, innerOffset)\n let _7 := 0x80\n if slt(add(sub(dataEnd, _6), not(31)), _7)\n {\n let _8 := 0\n revert(_8, _8)\n }\n let value := allocate_memory_9162()\n let value_1 := mload(add(_6, _1))\n if iszero(eq(value_1, and(value_1, _2)))\n {\n let _9 := 0\n revert(_9, _9)\n }\n mstore(value, value_1)\n let _10 := 64\n let offset_1 := mload(add(_6, _10))\n if gt(offset_1, _2)\n {\n let _11 := 0\n revert(_11, _11)\n }\n mstore(add(value, _1), abi_decode_bytes_fromMemory(add(add(_6, offset_1), _1), dataEnd))\n let _12 := 96\n mstore(add(value, _10), mload(add(_6, _12)))\n mstore(add(value, _12), mload(add(_6, _7)))\n mstore(dst, value)\n dst := add(dst, _1)\n }\n value0 := dst_1\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_stringliteral_5cf5f7c75a2357c5697933702fe9f20c432f8f5205def7bf18572d390cea5cc1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC069\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_3c14ff4570332247d29826742fdf7f014a86ddbee2c49b0252a79ef49351f196__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC048\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_bytes32_t_bytes32_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_bytes32_t_bytes32_t_uint256_t_array$_t_bytes32_$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), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 128)\n let pos := tail_1\n let length := mload(value3)\n mstore(tail_1, length)\n pos := add(headStart, 160)\n let srcPtr := add(value3, _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 tail := pos\n }\n function abi_decode_tuple_t_int256_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_stringliteral_41cc9877d5a72c2a0ef0c602e024ddc86a1f279ef7306bab75dd3c5447ffb6e0__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC049\")\n tail := add(headStart, 96)\n }\n function checked_mul_t_uint64(x, y) -> product\n {\n let _1 := sub(shl(64, 1), 1)\n let product_raw := mul(and(x, _1), and(y, _1))\n product := and(product_raw, _1)\n if iszero(eq(product, product_raw)) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_94643b69f05d64f660a022cd48046be494c1ed271b5d9ae602f6fdadc77976be__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC067\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_bytes_memory_ptr_t_bool__to_t_bytes_memory_ptr_t_bool__fromStack_library_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 64)\n tail := abi_encode_string(value0, add(headStart, 64))\n mstore(add(headStart, 32), iszero(iszero(value1)))\n }\n function abi_encode_tuple_packed_t_bytes_storage__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let ret := 0\n let slotValue := sload(value0)\n let length := extract_byte_array_length(slotValue)\n let _1 := 1\n switch and(slotValue, _1)\n case 0 {\n mstore(pos, and(slotValue, not(255)))\n ret := add(pos, mul(length, iszero(iszero(length))))\n }\n case 1 {\n mstore(0, value0)\n let _2 := 0x20\n let dataPos := keccak256(0, _2)\n let i := 0\n for { } lt(i, length) { i := add(i, _2) }\n {\n mstore(add(pos, i), sload(dataPos))\n dataPos := add(dataPos, _1)\n }\n ret := add(pos, length)\n }\n end := ret\n }\n function abi_encode_tuple_t_stringliteral_7cd3d68dd2419ceccbacf2f69bda9c4c2f3bdb0c0535db4bbef90be788c8f7de__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC068\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_3dcf1159943f9eee729b997e5df9acd0f1771321696b1fb47efa6e54bee2f352__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC050\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_ed7029e52dbf10ed9f0aafb2c33265c713a3f4dfd10cc113f22ba3c1270e1ddb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC051\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_a1a398356814e2eac3017ce127db7657cbb8e2f1d90a78bc426eaa92c56969eb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC052\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_923b965409721a83cf4ae76f34fa52de6eb09679d5b7141d2c0fc518a94192db__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC053\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_472231c5f3abacc190b5fd56153fbfc4b6c39c18040d443b29faee14791d54d9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC054\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1bdc71792e300c3b19739ad62e7651b4b49de502b7d1b6227970563bffaad71e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC055\")\n tail := add(headStart, 96)\n }\n function checked_add_t_uint64(x, y) -> sum\n {\n let _1 := sub(shl(64, 1), 1)\n sum := add(and(x, _1), and(y, _1))\n if gt(sum, _1) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_79d3c6c4bda42d819072ed97d83e6147bd9ad75bd5415529ecb6a41984271fb2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC071\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_struct$_PeginQuote_$9884_memory_ptr__to_t_struct$_PeginQuote_$9884_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_struct_PeginQuote(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_stringliteral_b91014d5c812b217b1f7abf06d04044851a14f3d4efa9b6795d3964c23897cc9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC010\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_849663c0a27b21987cfc03f3233af0a7a46b23f0af09d39a18720d9610bcba81__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC017\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_packed_t_stringliteral_36ad643d447cde9387780ae6f5b371120b595aaff5d56b8440952d5f7116fa16__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos) -> end\n {\n mstore(pos, \"both\")\n end := add(pos, 4)\n }\n function abi_encode_tuple_t_stringliteral_c8a2f96b1c149a2cda2dda6db9bbdafbecddac69bce104e31ad4dd14842e4820__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC018\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_d688db918bb9dd50354922faa108595679886fe9ff08046ad1ffe30aaea55f8b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 43)\n mstore(add(headStart, 64), \"Initializable: contract is not i\")\n mstore(add(headStart, 96), \"nitializing\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_5004352c178489e456f74ee0937a3403e68ee3fa72f6afa5bff20fe549075132__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC056\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_struct$_PegOutQuote_$9919_memory_ptr__to_t_struct$_PegOutQuote_$9919_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n abi_encode_address(mload(value0), add(headStart, 32))\n let memberValue0 := mload(add(value0, 32))\n abi_encode_address(memberValue0, add(headStart, 64))\n let memberValue0_1 := mload(add(value0, 64))\n let _1 := 0x0220\n mstore(add(headStart, 96), _1)\n let tail_1 := abi_encode_string(memberValue0_1, add(headStart, 576))\n let memberValue0_2 := mload(add(value0, 96))\n abi_encode_address(memberValue0_2, add(headStart, 128))\n let memberValue0_3 := mload(add(value0, 128))\n let _2 := not(31)\n mstore(add(headStart, 160), add(sub(tail_1, headStart), _2))\n let tail_2 := abi_encode_string(memberValue0_3, tail_1)\n mstore(add(headStart, 192), mload(add(value0, 160)))\n mstore(add(headStart, 224), mload(add(value0, 192)))\n let memberValue0_4 := mload(add(value0, 224))\n let _3 := 256\n abi_encode_int64(memberValue0_4, add(headStart, _3))\n let memberValue0_5 := mload(add(value0, _3))\n let _4 := 288\n mstore(add(headStart, _4), add(sub(tail_2, headStart), _2))\n let tail_3 := abi_encode_string(memberValue0_5, tail_2)\n let _5 := mload(add(value0, _4))\n let _6 := 320\n mstore(add(headStart, _6), _5)\n let memberValue0_6 := mload(add(value0, _6))\n let _7 := 352\n abi_encode_uint32(memberValue0_6, add(headStart, _7))\n let memberValue0_7 := mload(add(value0, _7))\n let _8 := 384\n abi_encode_uint32(memberValue0_7, add(headStart, _8))\n let memberValue0_8 := mload(add(value0, _8))\n let _9 := 416\n abi_encode_uint16(memberValue0_8, add(headStart, _9))\n let memberValue0_9 := mload(add(value0, _9))\n let _10 := 448\n abi_encode_uint16(memberValue0_9, add(headStart, _10))\n let memberValue0_10 := mload(add(value0, _10))\n let _11 := 480\n abi_encode_uint32(memberValue0_10, add(headStart, _11))\n let memberValue0_11 := mload(add(value0, _11))\n let _12 := 512\n abi_encode_uint32(memberValue0_11, add(headStart, _12))\n let memberValue0_12 := mload(add(value0, _12))\n abi_encode_uint32(memberValue0_12, add(headStart, _1))\n tail := tail_3\n }\n function abi_encode_tuple_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"ReentrancyGuard: reentrant call\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_bytes_memory_ptr_t_uint256_t_bytes_memory_ptr_t_bytes32_t_bytes_memory_ptr_t_address_payable_t_bytes_memory_ptr_t_bool__to_t_bytes_memory_ptr_t_uint256_t_bytes_memory_ptr_t_bytes32_t_bytes_memory_ptr_t_address_payable_t_bytes_memory_ptr_t_bool__fromStack_reversed(headStart, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 256\n mstore(headStart, _1)\n let tail_1 := abi_encode_string(value0, add(headStart, _1))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), sub(tail_1, headStart))\n let tail_2 := abi_encode_string(value2, tail_1)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), sub(tail_2, headStart))\n let tail_3 := abi_encode_string(value4, tail_2)\n mstore(add(headStart, 160), and(value5, sub(shl(160, 1), 1)))\n mstore(add(headStart, 192), sub(tail_3, headStart))\n tail := abi_encode_string(value6, tail_3)\n mstore(add(headStart, 224), iszero(iszero(value7)))\n }\n function abi_encode_tuple_t_stringliteral_b13cbe420d932534b4c4c376e19a45f25e0ca05c6f1a458489ccb0574b26a6d9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Invalid block height\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_bac19bb4c4dce4ec87196bdccebfa1c4310f60332f1259cdc0bb93303ee1c2a0__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC058\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_670f3ba0b2ca6f986efb9f8a498a40315443c3d4e263cc5de65e37011508c7c9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC062\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_319f398ccb7cc8c2c2304e07f301f618437c863aa2ff561ced1eaa40fcd3df63__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC059\")\n tail := add(headStart, 96)\n }\n}", + "id": 30, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "479:35588:19:-:0;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "479:35588:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6609:6;;-1:-1:-1;;;;;6609:6:19;6587:10;:29;6579:48;;;;-1:-1:-1;;;6579:48:19;;216:2:30;6579:48:19;;;198:21:30;255:1;235:18;;;228:29;-1:-1:-1;;;273:18:30;;;266:36;319:18;;6579:48:19;;;;;;;;;479:35588;;;;;748:40;;;;;;;;;;;;787:1;748:40;;;;;520:4:30;508:17;;;490:36;;478:2;463:18;748:40:19;;;;;;;;794:46;;;;;;;;;;;;839:1;794:46;;6640:89;;;;;;;;;;-1:-1:-1;6712:10:19;;6640:89;;;683:25:30;;;671:2;656:18;6640:89:19;537:177:30;28870:132:19;;;;;;;;;;-1:-1:-1;28870:132:19;;;;;:::i;:::-;;:::i;12429:292::-;;;;;;;;;;-1:-1:-1;12429:292:19;;;;;:::i;:::-;;:::i;7235:85::-;;;;;;;;;;-1:-1:-1;7309:4:19;;7235:85;;13333:556;;;;;;;;;;;;;:::i;8471:1660::-;;;;;;:::i;:::-;;:::i;1388:94::-;;;;;;;;;;;;-1:-1:-1;;1388:94:19;;;;;7556:1:30;7545:21;;;;7527:40;;7515:2;7500:18;1388:94:19;7385:188:30;11957:192:19;;;:::i;5305:814::-;;;;;;;;;;-1:-1:-1;5305:814:19;;;;;:::i;:::-;;:::i;7838:145::-;;;;;;;;;;-1:-1:-1;7838:145:19;;;;;:::i;:::-;;:::i;:::-;;;8907:14:30;;8900:22;8882:41;;8870:2;8855:18;7838:145:19;8742:187:30;8177:185:19;;;;;;;;;;-1:-1:-1;8177:185:19;;;;;:::i;:::-;;:::i;7506:139::-;;;;;;;;;;-1:-1:-1;7506:139:19;;;;;:::i;:::-;7580:4;7603:25;;;:14;:25;;;;;:35;;;;;;7506:139;12795:532;;;;;;;;;;;;;:::i;10970:732::-;;;;;;;;;;-1:-1:-1;10970:732:19;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;29008:159::-;;;;;;;;;;-1:-1:-1;29008:159:19;;;;;:::i;:::-;;:::i;13963:205::-;;;;;;;;;;;;;:::i;17208:6399::-;;;;;;;;;;-1:-1:-1;17208:6399:19;;;;;:::i;:::-;;:::i;2071:101:0:-;;;;;;;;;;;;;:::i;6351:185:19:-;;;;;;;;;;-1:-1:-1;6351:185:19;;;;;:::i;:::-;;:::i;23613:1139::-;;;;;;:::i;:::-;;:::i;4084:22::-;;;;;;;;;;;;;;;;1062:79;;;;;;;;;;;;-1:-1:-1;;1062:79:19;;1441:85:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;24758:1040:19:-;;;;;;;;;;-1:-1:-1;24758:1040:19;;;;;:::i;:::-;;:::i;14366:109::-;;;;;;;;;;-1:-1:-1;14366:109:19;;;;;:::i;:::-;-1:-1:-1;;;;;14452:16:19;14426:7;14452:16;;;:10;:16;;;;;;;14366:109;694:48;;;;;;;;;;;;741:1;694:48;;583;;;;;;;;;;;;626:5;583:48;;;;;17376:6:30;17364:19;;;17346:38;;17334:2;17319:18;583:48:19;17202:188:30;11786:165:19;;;:::i;35334:302::-;;;;;;;;;;-1:-1:-1;35334:302:19;;;;;:::i;:::-;;:::i;27962:697::-;;;;;;;;;;-1:-1:-1;27962:697:19;;;;;:::i;:::-;;:::i;1646:42::-;;;;;;;;;;;;1687:1;1646:42;;1147:82;;;;;;;;;;;;-1:-1:-1;;1147:82:19;;15102:1589;;;;;;:::i;:::-;;:::i;979:77::-;;;;;;;;;;;;-1:-1:-1;;979:77:19;;1488:50;;;;;;;;;;;;-1:-1:-1;;1488:50:19;;14481:121;;;;;;;;;;-1:-1:-1;14481:121:19;;;;;:::i;:::-;-1:-1:-1;;;;;14573:22:19;14547:7;14573:22;;;:16;:22;;;;;;;14481:121;7125:104;;;;;;;;;;-1:-1:-1;7203:19:19;;-1:-1:-1;;;7203:19:19;;;;7125:104;;1594:46;;;;;;;;;;;;1639:1;1594:46;;1235:71;;;;;;;;;;;;-1:-1:-1;;1235:71:19;;7028:91;;;;;;;;;;-1:-1:-1;7105:7:19;;;;7028:91;;1312:70;;;;;;;;;;;;-1:-1:-1;;1312:70:19;;12220:106;;;:::i;25804:2153::-;;;;;;;;;;-1:-1:-1;25804:2153:19;;;;;:::i;:::-;;:::i;637:50::-;;;;;;;;;;;;683:4;637:50;;914:59;;;;;;;;;;;;-1:-1:-1;;914:59:19;;1544:44;;;;;;;;;;;;-1:-1:-1;;1544:44:19;;3557:20;;;;;;;;;;-1:-1:-1;3557:20:19;;;;-1:-1:-1;;;;;3557:20:19;;;6840:92;;;;;;;;;;-1:-1:-1;6912:13:19;;6840:92;;847:61;;;;;;;;;;;;-1:-1:-1;;847:61:19;;7326:174;;;;;;;;;;-1:-1:-1;7326:174:19;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2321:198:0:-;;;;;;;;;;-1:-1:-1;2321:198:0;;;;;:::i;:::-;;:::i;14801:104:19:-;;;;;;;;;;-1:-1:-1;14801:104:19;;;;;:::i;:::-;-1:-1:-1;;;;;14884:14:19;14858:7;14884:14;;;:8;:14;;;;;;;14801:104;6938:84;;;;;;;;;;-1:-1:-1;7007:8:19;;6938:84;;6735:99;;;;;;;;;;-1:-1:-1;6820:6:19;;-1:-1:-1;;;;;6820:6:19;6735:99;;28870:132;28942:7;28968:27;28989:5;28968:20;:27::i;:::-;28961:34;28870:132;-1:-1:-1;;28870:132:19:o;12429:292::-;12499:10;12490:20;;;;:8;:20;;;;;;:30;-1:-1:-1;12490:30:19;12482:49;;;;-1:-1:-1;;;12482:49:19;;;;;;;:::i;:::-;12550:10;12541:20;;;;:8;:20;;;;;:30;;12565:6;;12541:20;:30;;12565:6;;12541:30;:::i;:::-;;;;-1:-1:-1;;12599:34:19;;12582:12;;12599:10;;12622:6;;12582:12;12599:34;12582:12;12599:34;12622:6;12599:10;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12581:52;;;12651:7;12643:26;;;;-1:-1:-1;;;12643:26:19;;;;;;;:::i;:::-;12684:30;12695:10;12707:6;12684:30;;;;;;;:::i;:::-;;;;;;;;12472:249;12429:292;:::o;13333:556::-;13416:10;13430:1;13396:31;;;:19;:31;;;;;;13388:54;;;;-1:-1:-1;;;13388:54:19;;;;;;;:::i;:::-;13535:19;;13508:10;13488:31;;;;:19;:31;;;;;;-1:-1:-1;;;13535:19:19;;;;;;13473:46;;:12;:46;:::i;:::-;:81;;13452:134;;;;-1:-1:-1;;;13452:134:19;;;;;;;:::i;:::-;13627:10;13596:11;13610:28;;;:16;:28;;;;;;;;;;13648:32;;;;13690:19;:31;;;;;;:35;;;13753:34;13610:28;;13627:10;13610:28;;13596:11;13753:34;13596:11;13753:34;13610:28;13627:10;13753:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13735:52;;;13805:7;13797:26;;;;-1:-1:-1;;;13797:26:19;;;;;;;:::i;:::-;13838:44;13863:10;13875:6;13838:44;;;;;;;:::i;8471:1660::-;8652:4;4624:9;4637:10;4624:23;4616:42;;;;-1:-1:-1;;;4616:42:19;;24776:2:30;4616:42:19;;;24758:21:30;24815:1;24795:18;;;24788:29;-1:-1:-1;;;24833:18:30;;;24826:36;24879:18;;4616:42:19;24574:329:30;4616:42:19;8738:107:::1;8778:5;8797:11;8822:13;8738:26;:107::i;:::-;8875:10;8864:22;::::0;;;:10:::1;:22;::::0;;;;;:27;:64;::::1;;;-1:-1:-1::0;8912:10:19::1;8895:28;::::0;;;:16:::1;:28;::::0;;;;;:33;8864:64:::1;8856:83;;;::::0;-1:-1:-1;;;8856:83:19;;25110:2:30;8856:83:19::1;::::0;::::1;25092:21:30::0;25149:1;25129:18;;;25122:29;-1:-1:-1;;;25167:18:30;;;25160:36;25213:18;;8856:83:19::1;24908:329:30::0;8856:83:19::1;8990:10;8970:31;::::0;;;:19:::1;:31;::::0;;;;;:36;8949:89:::1;;;::::0;-1:-1:-1;;;8949:89:19;;25444:2:30;8949:89:19::1;::::0;::::1;25426:21:30::0;25483:1;25463:18;;;25456:29;-1:-1:-1;;;25501:18:30;;;25494:36;25547:18;;8949:89:19::1;25242:329:30::0;8949:89:19::1;9109:25;;;;;;;:::i;:::-;;;;;;;;;;;;;9099:36;;;;;;9080:13;9063:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;9053:42;;;;;;:82:::0;9049:700:::1;;9172:13;;9159:9;:26;;9151:45;;;;-1:-1:-1::0;;;9151:45:19::1;;;;;;;:::i;:::-;9221:10;9210:22;::::0;;;:10:::1;:22;::::0;;;;9235:9:::1;9210:34:::0;;9049:700:::1;;;9321:26;;;;;;;:::i;:::-;;;;;;;;;;;;;9311:37;;;;;;9292:13;9275:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;9265:42;;;;;;:83:::0;9261:488:::1;;9385:13;;9372:9;:26;;9364:45;;;;-1:-1:-1::0;;;9364:45:19::1;;;;;;;:::i;:::-;9440:10;9423:28;::::0;;;:16:::1;:28;::::0;;;;9454:9:::1;9423:40:::0;;9261:488:::1;;;9515:13;::::0;:17:::1;::::0;9531:1:::1;9515:17;:::i;:::-;9502:9;:30;;9494:49;;;;-1:-1:-1::0;;;9494:49:19::1;;;;;;;:::i;:::-;9557:17;9577:13;9589:1;9577:9;:13;:::i;:::-;9557:33:::0;-1:-1:-1;9629:13:19::1;9641:1;9629:9;:13;:::i;:::-;:18:::0;:52:::1;;9665:16;:12:::0;9680:1:::1;9665:16;:::i;:::-;9629:52;;;9650:12;9629:52;9615:10;9604:22;::::0;;;:10:::1;:22;::::0;;;;;;;:77;;;;9695:16:::1;:28:::0;;;:43;9261:488:::1;9759:10;:12:::0;;;:10:::1;:12;::::0;::::1;:::i;:::-;::::0;;;-1:-1:-1;;9814:223:19::1;::::0;;::::1;::::0;::::1;::::0;;9850:10:::1;::::0;9814:223;;;9884:10:::1;9814:223;::::0;;::::1;::::0;;;;;;;;;;;;;;;;::::1;;::::0;;;;;;;;;;-1:-1:-1;9781:30:19;;;:18:::1;:30:::0;;;;;;;:256;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;9781:256:19::1;-1:-1:-1::0;;;;;9781:256:19;;::::1;::::0;;;::::1;::::0;;;;9814:223;;9781:30;:256:::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;9781:256:19::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;9781:256:19::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;-1:-1:-1;;9781:256:19::1;::::0;::::1;;::::0;;;::::1;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;;10061:10:19::1;::::0;10052:43:::1;::::0;;30305:25:30;;;10085:9:19::1;30361:2:30::0;30346:18;;30339:34;10073:10:19::1;::::0;-1:-1:-1;10052:43:19::1;::::0;30278:18:30;10052:43:19::1;;;;;;;-1:-1:-1::0;10113:10:19::1;::::0;4668:1:::1;8471:1660:::0;;;;;;:::o;11957:192::-;4519:33;4541:10;4519:21;:33::i;:::-;4511:52;;;;-1:-1:-1;;;4511:52:19;;;;;;;:::i;:::-;12056:10:::1;12039:28;::::0;;;:16:::1;:28;::::0;;;;:41;;12071:9:::1;::::0;12039:28;:41:::1;::::0;12071:9;;12039:41:::1;:::i;:::-;::::0;;;-1:-1:-1;;12095:47:19::1;::::0;::::1;::::0;::::1;::::0;12120:10:::1;::::0;12132:9:::1;::::0;12095:47:::1;:::i;:::-;;;;;;;;11957:192::o:0;5305:814::-;3268:19:1;3291:13;;;;;;3290:14;;3336:34;;;;-1:-1:-1;3354:12:1;;3369:1;3354:12;;;;:16;3336:34;3335:108;;;-1:-1:-1;3415:4:1;1476:19:3;:23;;;3376:66:1;;-1:-1:-1;3425:12:1;;;;;:17;3376:66;3314:201;;;;-1:-1:-1;;;3314:201:1;;30920:2:30;3314:201:1;;;30902:21:30;30959:2;30939:18;;;30932:30;30998:34;30978:18;;;30971:62;-1:-1:-1;;;31049:18:30;;;31042:44;31103:19;;3314:201:1;30718:410:30;3314:201:1;3525:12;:16;;-1:-1:-1;;3525:16:1;3540:1;3525:16;;;3551:65;;;;3585:13;:20;;-1:-1:-1;;3585:20:1;;;;;3551:65;5645:3:19::1;5624:17;:24;;;;5616:43;;;::::0;-1:-1:-1;;;5616:43:19;;31335:2:30;5616:43:19::1;::::0;::::1;31317:21:30::0;31374:1;31354:18;;;31347:29;-1:-1:-1;;;31392:18:30;;;31385:36;31438:18;;5616:43:19::1;31133:329:30::0;5616:43:19::1;5699:10;5677:18;:32;;5669:51;;;::::0;-1:-1:-1;;;5669:51:19;;31669:2:30;5669:51:19::1;::::0;::::1;31651:21:30::0;31708:1;31688:18;;;31681:29;-1:-1:-1;;;31726:18:30;;;31719:36;31772:18;;5669:51:19::1;31467:329:30::0;5669:51:19::1;5760:2;5738:18;:24;;;;5730:43;;;::::0;-1:-1:-1;;;5730:43:19;;32003:2:30;5730:43:19::1;::::0;::::1;31985:21:30::0;32042:1;32022:18;;;32015:29;-1:-1:-1;;;32060:18:30;;;32053:36;32106:18;;5730:43:19::1;31801:329:30::0;5730:43:19::1;5783:26;:24;:26::i;:::-;5819:6;:31:::0;;-1:-1:-1;;;;;5819:31:19;::::1;-1:-1:-1::0;;;;;;5819:31:19;;::::1;;::::0;;5860:13:::1;:34:::0;;;5904:8:::1;:24:::0;;;5938:7:::1;:27:::0;;::::1;5975:40:::0;;::::1;-1:-1:-1::0;;;5975:40:19::1;-1:-1:-1::0;;;;;;5975:40:19;;;5938:27;;::::1;5975:40:::0;::::1;::::0;;6025:4:::1;:21:::0;;;6056:12:::1;:28:::0;;;6094:7:::1;:18:::0;;;::::1;;-1:-1:-1::0;;6094:18:19;;::::1;;::::0;;3636:99:1;;;;3686:5;3670:21;;-1:-1:-1;;3670:21:1;;;3710:14;;-1:-1:-1;490:36:30;;3710:14:1;;478:2:30;463:18;3710:14:1;;;;;;;3636:99;3258:483;5305:814:19;;;;;;;;:::o;7838:145::-;7898:4;7921:18;7934:4;7921:12;:18::i;:::-;:55;;;;-1:-1:-1;7963:13:19;;-1:-1:-1;;;;;7943:16:19;;;;;;:10;:16;;;;;;:33;;7914:62;7838:145;-1:-1:-1;;7838:145:19:o;8177:185::-;8246:4;8277:27;8299:4;8277:21;:27::i;:::-;:78;;;;-1:-1:-1;8342:13:19;;-1:-1:-1;;;;;8316:22:19;;;;;;:16;:22;;;;;;:39;;8262:93;8177:185;-1:-1:-1;;8177:185:19:o;12795:532::-;12872:10;12886:1;12852:31;;;:19;:31;;;;;;12844:54;;;;-1:-1:-1;;;12844:54:19;;;;;;;:::i;:::-;12991:19;;12964:10;12944:31;;;;:19;:31;;;;;;-1:-1:-1;;;12991:19:19;;;;;;12929:46;;:12;:46;:::i;:::-;:81;;12908:134;;;;-1:-1:-1;;;12908:134:19;;;;;;;:::i;:::-;13077:10;13052:11;13066:22;;;:10;:22;;;;;;;;;;13098:26;;;;13134:19;:31;;;;;;:35;;;13197:34;13066:22;;13077:10;13066:22;;13052:11;13197:34;13052:11;13197:34;13066:22;13077:10;13197:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13179:52;;;13249:7;13241:26;;;;-1:-1:-1;;;13241:26:19;;;;;;;:::i;:::-;13282:38;13301:10;13313:6;13282:38;;;;;;;:::i;10970:732::-;11056:26;11094:44;11178:11;:18;-1:-1:-1;;;;;11141:65:19;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11141:65:19;;;;;;;;;;;;;;;;;11094:112;;11216:10;11246:6;11241:421;11262:11;:18;11258:1;:22;11241:421;;;11301:7;11311:11;11323:1;11311:14;;;;;;;;:::i;:::-;;;;;;;;;;;;11374:22;;;;:18;:22;;;;;;;:31;;;11311:14;;-1:-1:-1;11361:45:19;;-1:-1:-1;;;;;11374:31:19;11361:12;:45::i;:::-;:119;;;-1:-1:-1;11448:22:19;;;;:18;:22;;;;;:31;;;11426:54;;-1:-1:-1;;;;;11448:31:19;11426:21;:54::i;:::-;11360:170;;;;-1:-1:-1;11501:22:19;;;;:18;:22;;;;;:29;;;;;11360:170;11339:313;;;11590:22;;;;:18;:22;;;;;;;;;11563:49;;;;;;;;;;;;;;;-1:-1:-1;;;;;11563:49:19;;;;;;;;;;;;;;;11590:22;;11563:49;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11563:49:19;;;-1:-1:-1;;11563:49:19;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;11581:5;11563:24;;;;;;;;:::i;:::-;;;;;;:49;;;;11630:7;;;;;:::i;:::-;;;;11339:313;-1:-1:-1;11282:3:19;;;;:::i;:::-;;;;11241:421;;;-1:-1:-1;11678:17:19;;10970:732;-1:-1:-1;;;10970:732:19:o;29008:159::-;29101:7;29127:33;29154:5;29127:26;:33::i;13963:205::-;4407:24;4420:10;4407:12;:24::i;:::-;4399:43;;;;-1:-1:-1;;;4399:43:19;;;;;;;:::i;:::-;14043:10:::1;14023:31;::::0;;;:19:::1;:31;::::0;;;;;:36;14015:55:::1;;;::::0;-1:-1:-1;;;14015:55:19;;32668:2:30;14015:55:19::1;::::0;::::1;32650:21:30::0;32707:1;32687:18;;;32680:29;-1:-1:-1;;;32725:18:30;;;32718:36;32771:18;;14015:55:19::1;32466:329:30::0;14015:55:19::1;14100:10;14080:31;::::0;;;:19:::1;:31;::::0;;;;;;14114:12:::1;14080:46:::0;;14141:20;::::1;::::0;::::1;::::0;::::1;:::i;17208:6399::-:0;17442:6;2505:21:2;:19;:21::i;:::-;17460:17:19::1;17480:27;17501:5;17480:20;:27::i;:::-;17633:26;::::0;;;:15:::1;:26;::::0;;;;;;;-1:-1:-1;787:1:19::1;17633:44;:26:::0;;::::1;:44;;17612:97;;;;-1:-1:-1::0;;;17612:97:19::1;;;;;;;:::i;:::-;17783:33;::::0;;::::1;::::0;17740:144;;-1:-1:-1;;;17740:144:19;;:18:::1;::::0;:25:::1;::::0;:144:::1;::::0;17783:33;17834:9;;17861;;17740:144:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17719:197;;;;-1:-1:-1::0;;;17719:197:19::1;;;;;;;:::i;:::-;17958:15;17934:41:::0;::::1;17926:60;;;::::0;-1:-1:-1;;;17926:60:19;;34319:2:30;17926:60:19::1;::::0;::::1;34301:21:30::0;34358:1;34338:18;;;34331:29;-1:-1:-1;;;34376:18:30;;;34369:36;34422:18;;17926:60:19::1;34117:329:30::0;17926:60:19::1;17997:35;18035:148;18063:5;18082:17;18113;18144:6;18164:9;18035:14;:148::i;:::-;17997:186:::0;-1:-1:-1;18215:85:19;;;18194:138:::1;;;::::0;-1:-1:-1;;;18194:138:19;;34653:2:30;18194:138:19::1;::::0;::::1;34635:21:30::0;34692:1;34672:18;;;34665:29;-1:-1:-1;;;34710:18:30;;;34703:36;34756:18;;18194:138:19::1;34451:329:30::0;18194:138:19::1;18363:96:::0;;;18342:149:::1;;;::::0;-1:-1:-1;;;18342:149:19;;34987:2:30;18342:149:19::1;::::0;::::1;34969:21:30::0;35026:1;35006:18;;;34999:29;-1:-1:-1;;;35044:18:30;;;35037:36;35090:18;;18342:149:19::1;34785:329:30::0;18342:149:19::1;18522:84:::0;;;18501:137:::1;;;::::0;-1:-1:-1;;;18501:137:19;;35321:2:30;18501:137:19::1;::::0;::::1;35303:21:30::0;35360:1;35340:18;;;35333:29;-1:-1:-1;;;35378:18:30;;;35371:36;35424:18;;18501:137:19::1;35119:329:30::0;18501:137:19::1;18669:104:::0;;;18648:157:::1;;;::::0;-1:-1:-1;;;18648:157:19;;35655:2:30;18648:157:19::1;::::0;::::1;35637:21:30::0;35694:1;35674:18;;;35667:29;-1:-1:-1;;;35712:18:30;;;35705:36;35758:18;;18648:157:19::1;35453:329:30::0;18648:157:19::1;18836:52:::0;;;18815:105:::1;;;::::0;-1:-1:-1;;;18815:105:19;;35989:2:30;18815:105:19::1;::::0;::::1;35971:21:30::0;36028:1;36008:18;;;36001:29;-1:-1:-1;;;36046:18:30;;;36039:36;36092:18;;18815:105:19::1;35787:329:30::0;18815:105:19::1;18982:1;18951:28;:32;:109;;;-1:-1:-1::0;;;18999:61:19;::::1;18951:109;:188;;;-1:-1:-1::0;;;19076:63:19;::::1;18951:188;18930:241;;;::::0;-1:-1:-1;;;18930:241:19;;36323:2:30;18930:241:19::1;::::0;::::1;36305:21:30::0;36362:1;36342:18;;;36335:29;-1:-1:-1;;;36380:18:30;;;36373:36;36426:18;;18930:241:19::1;36121:329:30::0;18930:241:19::1;19290:23;::::0;;;:12:::1;:23;::::0;;;;:33;19199:154:::1;::::0;19229:5;;19248:28;;19290:33:::1;;19337:6:::0;19199:16:::1;:154::i;:::-;19182:816;;;19425:16;::::0;::::1;::::0;19470:33:::1;::::0;;::::1;::::0;-1:-1:-1;;;;;19459:45:19::1;19378:23;19459:45:::0;;;:10:::1;:45;::::0;;;;;19378:23;;19404:114:::1;::::0;:3:::1;:114::i;:::-;19378:140;;19644:18;19595:10;:45;19606:5;:33;;;-1:-1:-1::0;;;;;19595:45:19::1;-1:-1:-1::0;;;;;19595:45:19::1;;;;;;;;;;;;;:67;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;19708:33:19::1;::::0;;::::1;::::0;19681:137;;-1:-1:-1;;;;;;;;;;;19681:137:19;::::1;::::0;19759:18;;19795:9;;19681:137:::1;:::i;:::-;;;;;;;;19916:7;::::0;19869:22:::1;::::0;19927:3:::1;::::0;19895:28:::1;::::0;19916:7:::1;;19895:18:::0;:28:::1;:::i;:::-;19894:36;;;;:::i;:::-;19869:61;;19944:43;19960:10;19972:14;19944:15;:43::i;:::-;19364:634;;19182:816;-1:-1:-1::0;;20025:61:19;::::1;::::0;:140:::1;;-1:-1:-1::0;;;20102:63:19;::::1;20025:140;20008:447;;;20225:26;::::0;;;:15:::1;:26;::::0;;;;;;;:49;;-1:-1:-1;;20225:49:19::1;839:1;20225:49;::::0;;20295:12:::1;:23:::0;;;;;;20288:30;;-1:-1:-1;;20288:30:19;;;20337:58;;30305:25:30;;;30346:18;;;30339:34;;;20337:58:19::1;::::0;30278:18:30;20337:58:19::1;;;;;;;20416:28:::0;-1:-1:-1;20409:35:19::1;::::0;-1:-1:-1;20409:35:19::1;20008:447;20711:50;::::0;-1:-1:-1;;;20711:50:19;;20671:28;;20711:6:::1;::::0;:24:::1;::::0;:50:::1;::::0;20736:5;;20671:28;;20711:50:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;;20812:1:19::1;20776:23:::0;;;:12:::1;:23;::::0;;;;:33;::::1;;:37:::0;;-1:-1:-1;20772:2614:19::1;;20829:17;20865:23:::0;;;:12:::1;:23;::::0;;;;:31;-1:-1:-1;;;20865:31:19;::::1;;;20861:285;;;20931:109;20956:17;21009:5;:13;;;20995:5;:11;;;:27;;;;:::i;:::-;20931:3;:109::i;:::-;20916:124;;20861:285;;;21094:37;21098:17;21117:5;:13;;;21094:3;:37::i;:::-;21079:52;;20861:285;21159:64;21175:5;:33;;;21210:12;21159:15;:64::i;:::-;21237:20;21260:32;21280:12:::0;21260:17;:32:::1;:::i;:::-;21237:55;;21329:4;;21311:15;:22;21307:829;;;21453:22;::::0;::::1;::::0;:152:::1;::::0;21436:12:::1;::::0;-1:-1:-1;;;;;21453:27:19::1;::::0;683:4:::1;::::0;21564:15;;21436:12;21453:152;21436:12;21453:152;21564:15;21453:27;683:4;21453:152:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21435:170;;;-1:-1:-1::0;;;;;;;;;;;21656:5:19::1;:22;;;21700:15;21737:7;21766:9;21628:165;;;;;;;;;:::i;:::-;;;;;;;;21817:7;21812:310;;21966:137;22007:5;:33;;;22066:15;21966;:137::i;:::-;21335:801;21307:829;20815:1331;;20772:2614;;;22222:20;::::0;::::1;::::0;22186:17;;22222:51;::::1;;;;22262:5;:11;;;22246:12;:27;;22222:51;22218:656;;;22294:16;22315:5;:21;;;-1:-1:-1::0;;;;;22315:26:19::1;22372:5;:14;;;22315:149;;22419:5;:11;;;22453:5;:10;;;22315:149;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22293:171;;;22552:5;:21;;;-1:-1:-1::0;;;;;22487:269:19::1;22520:10;-1:-1:-1::0;;;;;22487:269:19::1;-1:-1:-1::0;;;;;;;;;;;22595:5:19::1;:14;;;22631:5;:11;;;22664:5;:10;;;22696:11;22729:9;22487:269;;;;;;;;;;:::i;:::-;;;;;;;;22779:11;22775:85;;;22830:11;::::0;::::1;::::0;22814:27:::1;::::0;;::::1;:::i;:::-;;;22775:85;22275:599;22218:656;22906:4;;22891:12;:19;22887:489;;;23027:22;::::0;::::1;::::0;:149:::1;::::0;23010:12:::1;::::0;-1:-1:-1;;;;;23027:27:19::1;::::0;683:4:::1;::::0;23138:12;;23010;23027:149;23010:12;23027:149;23138:12;23027:27;683:4;23027:149:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23009:167;;;-1:-1:-1::0;;;;;;;;;;;23227:5:19::1;:22;;;23271:12;23305:7;23334:9;23199:162;;;;;;;;;:::i;:::-;;;;;;;;22912:464;22887:489;22152:1234;20772:2614;23395:26;::::0;;;:15:::1;:26;::::0;;;;;;;:49;;-1:-1:-1;;23395:49:19::1;839:1;23395:49;::::0;;23461:12:::1;:23:::0;;;;;;23454:30;;-1:-1:-1;;23454:30:19;;;23499:56;;683:25:30;;;23395:26:19;;23499:56:::1;::::0;656:18:30;23499:56:19::1;;;;;;;-1:-1:-1::0;23572:28:19;-1:-1:-1;;2536:1:2::1;2547:20:::0;1787:1;3053:7;:22;2873:209;2547:20;17208:6399:19;;;;;;;:::o;2071:101:0:-;1334:13;:11;:13::i;:::-;2135:30:::1;2162:1;2135:18;:30::i;:::-;2071:101::o:0;6351:185:19:-;6459:11;6218:7;:5;:7::i;:::-;-1:-1:-1;;;;;6204:21:19;:10;-1:-1:-1;;;;;6204:21:19;;:91;;;-1:-1:-1;6255:31:19;;;;:18;:31;;;;;:40;;;-1:-1:-1;;;;;6255:40:19;6241:10;:54;6204:91;6183:144;;;;-1:-1:-1;;;6183:144:19;;41264:2:30;6183:144:19;;;41246:21:30;41303:1;41283:18;;;41276:29;-1:-1:-1;;;41321:18:30;;;41314:36;41367:18;;6183:144:19;41062:329:30;6183:144:19;-1:-1:-1;6482:31:19::1;::::0;;;:18:::1;:31;::::0;;;;;:38:::1;;:47:::0;;-1:-1:-1;;6482:47:19::1;::::0;::::1;;::::0;;;::::1;::::0;;6351:185::o;23613:1139::-;23814:41;23836:5;:18;;;23814:21;:41::i;:::-;23806:60;;;;-1:-1:-1;;;23806:60:19;;41598:2:30;23806:60:19;;;41580:21:30;41637:1;41617:18;;;41610:29;-1:-1:-1;;;41655:18:30;;;41648:36;41701:18;;23806:60:19;41396:329:30;23806:60:19;23915:9;23898:5;:13;;;23884:5;:11;;;:27;;;;:::i;:::-;:40;;23876:59;;;;-1:-1:-1;;;23876:59:19;;41932:2:30;23876:59:19;;;41914:21:30;41971:1;41951:18;;;41944:29;-1:-1:-1;;;41989:18:30;;;41982:36;42035:18;;23876:59:19;41730:329:30;23876:59:19;23972:5;:22;;;23953:41;;:15;:41;;23945:60;;;;-1:-1:-1;;;23945:60:19;;42266:2:30;23945:60:19;;;42248:21:30;42305:1;42285:18;;;42278:29;-1:-1:-1;;;42323:18:30;;;42316:36;42369:18;;23945:60:19;42064:329:30;23945:60:19;24042:5;:16;;;24023:35;;:15;:35;;24015:54;;;;-1:-1:-1;;;24015:54:19;;42600:2:30;24015:54:19;;;42582:21:30;42639:1;42619:18;;;42612:29;-1:-1:-1;;;42657:18:30;;;42650:36;42703:18;;24015:54:19;42398:329:30;24015:54:19;24103:5;:17;;;24087:33;;:12;:33;;24079:52;;;;-1:-1:-1;;;24079:52:19;;42934:2:30;24079:52:19;;;42916:21:30;42973:1;42953:18;;;42946:29;-1:-1:-1;;;42991:18:30;;;42984:36;43037:18;;24079:52:19;42732:329:30;24079:52:19;24141:17;24161:22;24177:5;24161:15;:22::i;:::-;24240:18;;;;24214:67;;-1:-1:-1;;;24214:67:19;;24141:42;;-1:-1:-1;24214:18:19;;:25;;:67;;24141:42;;24271:9;;24214:67;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24193:120;;;;-1:-1:-1;;;24193:120:19;;;;;;;:::i;:::-;24324:42;24369:33;;;:22;:33;;;;;;;;24421:14;:25;;;;;;:35;;;;;:44;24413:63;;;;-1:-1:-1;;;24413:63:19;;;;;;;:::i;:::-;24494:26;;-1:-1:-1;;;;;24494:26:19;:40;24486:59;;;;-1:-1:-1;;;24486:59:19;;;;;;;:::i;:::-;24555:33;;;;:22;:33;;;;;;;;;:41;;;;-1:-1:-1;;;;;;24555:41:19;;;-1:-1:-1;;;;;24555:41:19;;;;;;;;;;-1:-1:-1;24555:41:19;;;;;;;;;;;;;;;;;;;:33;:41;;;;;;;;:::i;:::-;-1:-1:-1;24555:41:19;;;;;;;;;-1:-1:-1;;;;;;24555:41:19;-1:-1:-1;;;;;24555:41:19;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;24555:41:19;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;24555:41:19;-1:-1:-1;;;;;24555:41:19;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;24555:41:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;24555:41:19;;;;;;;-1:-1:-1;;;24555:41:19;;;;;;;;;;;-1:-1:-1;;;;24555:41:19;-1:-1:-1;;;24555:41:19;;;;;-1:-1:-1;;;;24555:41:19;;-1:-1:-1;;;24555:41:19;;;;;;;;;-1:-1:-1;;;;;;;;24555:41:19;-1:-1:-1;;;24555:41:19;;;;;;;-1:-1:-1;;;;24555:41:19;;-1:-1:-1;;;24555:41:19;;;;;;;;;;;-1:-1:-1;;;;24555:41:19;-1:-1:-1;;;24555:41:19;;;;;;;;;;;;;;-1:-1:-1;24606:25:19;;;:14;:25;;;;;;;;;24651:15;24606:60;;;;24681:64;;24718:9;30305:25:30;;30346:18;;;30339:34;24706:10:19;;24606:25;;24681:64;;30278:18:30;24681:64:19;;;;;;;23796:956;;23613:1139;;:::o;1441:85:0:-;1513:6;;-1:-1:-1;;;;;1513:6:0;;1441:85::o;24758:1040:19:-;2505:21:2;:19;:21::i;:::-;24847:32:19::1;24882:33:::0;;;:22:::1;:33;::::0;;;;24934:16;;-1:-1:-1;;;;;24934:16:19::1;24926:49;;;;-1:-1:-1::0;;;24926:49:19::1;;;;;;;:::i;:::-;25024:16;::::0;::::1;::::0;-1:-1:-1;;;25024:16:19;::::1;;;25006:15;:34;:82:::0;::::1;;;-1:-1:-1::0;25071:17:19::1;::::0;::::1;::::0;-1:-1:-1;;;25071:17:19;::::1;;;25056:12;:32;25006:82;24985:135;;;::::0;-1:-1:-1;;;24985:135:19;;45291:2:30;24985:135:19::1;::::0;::::1;45273:21:30::0;45330:1;45310:18;;;45303:29;-1:-1:-1;;;45348:18:30;;;45341:36;45394:18;;24985:135:19::1;45089:329:30::0;24985:135:19::1;25131:20;25168:5;:13;;;25154:5;:11;;;:27;;;;:::i;:::-;25219:22;::::0;::::1;::::0;25271:16:::1;::::0;::::1;::::0;25219:22;25306:18;::::1;::::0;-1:-1:-1;;;;;25306:18:19;;::::1;25191:25;25289:36:::0;;;:16:::1;:36;::::0;;;;;25131:50;;-1:-1:-1;25219:22:19;::::1;::::0;25267:59:::1;::::0;25271:16;25267:3:::1;:59::i;:::-;25353:18;::::0;::::1;::::0;-1:-1:-1;;;;;25353:18:19::1;25336:36;::::0;;;:16:::1;:36;::::0;;;;:47;;25252:74;;-1:-1:-1;25252:74:19;;25336:36;;;:47:::1;::::0;25252:74;;25336:47:::1;:::i;:::-;::::0;;;-1:-1:-1;;25409:18:19::1;::::0;::::1;::::0;25399:49:::1;::::0;-1:-1:-1;;;;;;;;;;;25399:49:19;::::1;::::0;-1:-1:-1;;;;;25409:18:19;;::::1;::::0;25429:7;;25438:9;;25399:49:::1;:::i;:::-;;;;;;;;25547:22;::::0;::::1;::::0;25463:116:::1;::::0;;45597:25:30;;;-1:-1:-1;;;;;25547:22:19;;::::1;45653:2:30::0;45638:18;;45631:60;25495:9:19;;25463:116:::1;::::0;45570:18:30;25463:116:19::1;;;;;;;25597:33;::::0;;;:22:::1;:33;::::0;;;;25590:40;;-1:-1:-1;;;;;;25590:40:19;;::::1;::::0;;;;::::1;::::0;;;;::::1;::::0;;25597:33;25590:40:::1;;::::0;::::1;25597:33:::0;25590:40:::1;:::i;:::-;;::::0;::::1;::::0;;-1:-1:-1;;;;;;25590:40:19::1;::::0;;::::1;;::::0;::::1;;;:::i;:::-;;;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;25590:40:19::1;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;25590:40:19::1;;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;;;;25590:40:19;;;25640:25;;;:14:::1;:25;::::0;;;;;-1:-1:-1;25640:35:19;;::::1;:42:::0;;-1:-1:-1;;25640:42:19::1;::::0;;::::1;::::0;;25708:50;-1:-1:-1;;;;;25708:22:19;::::1;::::0;25738:15;;25590:40;25708:50;25590:40;25708:50;25738:15;25708:22;:50:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25693:65;;;25776:4;25768:23;;;::::0;-1:-1:-1;;;25768:23:19;;45904:2:30;25768:23:19::1;::::0;::::1;45886:21:30::0;45943:1;45923:18;;;45916:29;-1:-1:-1;;;45961:18:30;;;45954:36;46007:18;;25768:23:19::1;45702:329:30::0;25768:23:19::1;24837:961;;;;;2547:20:2::0;1787:1;3053:7;:22;2873:209;2547:20;24758:1040:19;:::o;11786:165::-;4407:24;4420:10;4407:12;:24::i;:::-;4399:43;;;;-1:-1:-1;;;4399:43:19;;;;;;;:::i;:::-;11864:10:::1;11853:22;::::0;;;:10:::1;:22;::::0;;;;:35;;11879:9:::1;::::0;11853:22;:35:::1;::::0;11879:9;;11853:35:::1;:::i;:::-;::::0;;;-1:-1:-1;;11903:41:19::1;::::0;::::1;::::0;::::1;::::0;11922:10:::1;::::0;11934:9:::1;::::0;11903:41:::1;:::i;35334:302::-:0;35420:7;35551:6;:13;35568:2;35551:19;35543:38;;;;-1:-1:-1;;;35543:38:19;;46238:2:30;35543:38:19;;;46220:21:30;46277:1;46257:18;;;46250:29;-1:-1:-1;;;46295:18:30;;;46288:36;46341:18;;35543:38:19;46036:329:30;35543:38:19;35599:30;35618:6;35626:2;35599:18;:30::i;:::-;35592:37;;;35334:302;-1:-1:-1;;35334:302:19:o;27962:697::-;28105:4;28121:23;28200:16;28210:5;28200:9;:16::i;:::-;28234:5;:22;;;28282:5;:16;;;28274:25;;28317:5;:33;;;28170:194;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;28147:227;;;;;;28121:253;;28384:32;28466:15;28516:6;;;;;;;;;-1:-1:-1;;;;;28516:6:19;-1:-1:-1;;;;;28516:34:19;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;28516:36:19;;;;;;;;;;;;:::i;:::-;28419:143;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;28419:143:19;;;;;;;;;;28644:7;;-1:-1:-1;;;28579:73:19;;28419:143;;-1:-1:-1;28579:8:19;;:27;;:73;;28607:14;;28419:143;;28644:7;;;;;28579:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;15102:1589::-;15223:4;4407:24;4420:10;4407:12;:24::i;:::-;4399:43;;;;-1:-1:-1;;;4399:43:19;;;;;;;:::i;:::-;2505:21:2::1;:19;:21::i;:::-;15274:5:19::2;:33;;;-1:-1:-1::0;;;;;15260:47:19::2;:10;-1:-1:-1::0;;;;;15260:47:19::2;;15239:100;;;::::0;-1:-1:-1;;;15239:100:19;;49105:2:30;15239:100:19::2;::::0;::::2;49087:21:30::0;49144:1;49124:18;;;49117:29;-1:-1:-1;;;49162:18:30;;;49155:36;49208:18;;15239:100:19::2;48903:329:30::0;15239:100:19::2;15441:11;::::0;::::2;::::0;15379:33:::2;::::0;;::::2;::::0;-1:-1:-1;;;;;15370:43:19::2;;::::0;;;:8:::2;:43;::::0;;;:55:::2;::::0;15416:9:::2;::::0;15370:55:::2;:::i;:::-;:82;;15349:135;;;;-1:-1:-1::0;;;15349:135:19::2;;;;;;;:::i;:::-;15495:17;15515:27;15536:5;15515:20;:27::i;:::-;741:1;15573:26:::0;;;:15:::2;:26;::::0;;;;;15495:47;;-1:-1:-1;15573:52:19::2;:26;:52:::0;15552:105:::2;;;::::0;-1:-1:-1;;;15552:105:19;;49439:2:30;15552:105:19::2;::::0;::::2;49421:21:30::0;49478:1;49458:18;;;49451:29;-1:-1:-1;;;49496:18:30;;;49489:36;49542:18;;15552:105:19::2;49237:329:30::0;15552:105:19::2;15668:61;15684:5;:33;;;15719:9;15668:15;:61::i;:::-;15875:14;::::0;::::2;::::0;:34:::2;::::0;626:5:::2;::::0;15875:34:::2;:::i;:::-;15862:47;;:9;:47;;15841:100;;;::::0;-1:-1:-1;;;15841:100:19;;49950:2:30;15841:100:19::2;::::0;::::2;49932:21:30::0;49989:1;49969:18;;;49962:29;-1:-1:-1;;;50007:18:30;;;50000:36;50053:18;;15841:100:19::2;49748:329:30::0;15841:100:19::2;15952:12;15969:5;:21;;;-1:-1:-1::0;;;;;15969:26:19::2;16018:5;:14;;;15969:125;;16057:5;:11;;;16083:5;:10;;;15969:125;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;15951:143:19;;-1:-1:-1;;16132:16:19::2;16113:15;:35;;16105:54;;;::::0;-1:-1:-1;;;16105:54:19;;50284:2:30;16105:54:19::2;::::0;::::2;50266:21:30::0;50323:1;50303:18;;;50296:29;-1:-1:-1;;;50341:18:30;;;50334:36;50387:18;;16105:54:19::2;50082:329:30::0;16105:54:19::2;16169:23;::::0;;;:12:::2;:23;::::0;;;;:59;;-1:-1:-1;;16169:59:19::2;16212:15;16169:59;;;::::0;;16239:153;::::2;;;16266:23;::::0;;;:12:::2;:23;::::0;;;;;;:38;;-1:-1:-1;;;;16266:38:19::2;-1:-1:-1::0;;;16266:38:19::2;::::0;;16334:33;::::2;::::0;16369:11:::2;::::0;::::2;::::0;16318:63:::2;::::0;16334:33;16318:15:::2;:63::i;:::-;16455:5;:21;;;-1:-1:-1::0;;;;;16406:201:19::2;16431:10;-1:-1:-1::0;;;;;16406:201:19::2;-1:-1:-1::0;;;;;;;;;;;16490:5:19::2;:14;;;16518:5;:11;;;16543:5;:10;;;16567:7;16588:9;16406:201;;;;;;;;;;:::i;:::-;;;;;;;;16617:26;::::0;;;:15:::2;:26;::::0;;;;;:43;;-1:-1:-1;;16617:43:19::2;787:1;16617:43;::::0;;16677:7;-1:-1:-1;2547:20:2::1;1787:1:::0;3053:7;:22;2873:209;2547:20:::1;15102:1589:19::0;;;:::o;12220:106::-;4407:24;4420:10;4407:12;:24::i;:::-;4399:43;;;;-1:-1:-1;;;4399:43:19;;;;;;;:::i;:::-;12281:38:::1;12297:10;12309:9;12281:15;:38::i;25804:2153::-:0;2505:21:2;:19;:21::i;:::-;4519:33:19::1;4541:10;4519:21;:33::i;:::-;4511:52;;;;-1:-1:-1::0;;;4511:52:19::1;;;;;;;:::i;:::-;26065:25:::2;::::0;;;:14:::2;:25;::::0;;;;:35:::2;;::::0;::::2;;:44;26057:63;;;;-1:-1:-1::0;;;26057:63:19::2;;;;;;;:::i;:::-;26130:32;26165:33:::0;;;:22:::2;:33;::::0;;;;26216:16;;-1:-1:-1;;;;;26216:16:19::2;26208:49;;;;-1:-1:-1::0;;;26208:49:19::2;;;;;;;:::i;:::-;26307:26;::::0;-1:-1:-1;;;26307:26:19;;26267:37:::2;::::0;26307:8:::2;::::0;:19:::2;::::0;:26:::2;::::0;26327:5;;26307:26:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;::::0;;::::2;-1:-1:-1::0;;26307:26:19::2;::::0;::::2;;::::0;::::2;::::0;;;::::2;::::0;::::2;:::i;:::-;26267:66;;26343:19;26376:8;:28;26405:7;1687:1;26405:26;;;;;;;;:::i;:::-;;;;;;;:35;;;26376:65;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;::::0;;::::2;-1:-1:-1::0;;26376:65:19::2;::::0;::::2;;::::0;::::2;::::0;;;::::2;::::0;::::2;:::i;:::-;26365:88;;;;;;;;;;;;:::i;:::-;26343:110;;26484:11;26471:9;:24;26463:43;;;::::0;-1:-1:-1;;;26463:43:19;;53050:2:30;26463:43:19::2;::::0;::::2;53032:21:30::0;53089:1;53069:18;;;53062:29;-1:-1:-1;;;53107:18:30;;;53100:36;53153:18;;26463:43:19::2;52848:329:30::0;26463:43:19::2;26538:18;::::0;::::2;::::0;-1:-1:-1;;;;;26538:18:19::2;26524:10;:32;26516:51;;;::::0;-1:-1:-1;;;26516:51:19;;53384:2:30;26516:51:19::2;::::0;::::2;53366:21:30::0;53423:1;53403:18;;;53396:29;-1:-1:-1;;;53441:18:30;;;53434:36;53487:18;;26516:51:19::2;53182:329:30::0;26516:51:19::2;26815:27;::::0;::::2;::::0;26598:6:::2;::::0;26653:25:::2;::::0;-1:-1:-1;;;26653:25:19;;-1:-1:-1;;;26815:27:19;;::::2;;;::::0;-1:-1:-1;;;;;26598:6:19;;::::2;::::0;:37:::2;::::0;26653:8:::2;::::0;:18:::2;::::0;:25:::2;::::0;26672:5;;26653:25:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26696:18;26732:17;26767:18;26598:201;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:246;;26577:299;;;::::0;-1:-1:-1;;;26577:299:19;;54759:2:30;26577:299:19::2;::::0;::::2;54741:21:30::0;54798:1;54778:18;;;54771:29;-1:-1:-1;;;54816:18:30;;;54809:36;54862:18;;26577:299:19::2;54557:329:30::0;26577:299:19::2;26909:7;1639:1;26909:30;;;;;;;;:::i;:::-;;;;;;;:36;;;26949:6;26909:47;;;;:::i;:::-;-1:-1:-1::0;;;;;26894:62:19::2;:5;:11;;;:62;;26886:81;;;::::0;-1:-1:-1;;;26886:81:19;;55355:2:30;26886:81:19::2;::::0;::::2;55337:21:30::0;55394:1;55374:18;;;55367:29;-1:-1:-1;;;55412:18:30;;;55405:36;55458:18;;26886:81:19::2;55153:329:30::0;26886:81:19::2;26995:29;27027:8;:29;27057:7;1639:1;27057:30;;;;;;;;:::i;:::-;;::::0;;::::2;::::0;;;;;;;:52:::2;::::0;27111:7:::2;::::0;27027:92:::2;::::0;-1:-1:-1;;;;;;27027:92:19::2;::::0;;;;;;::::2;::::0;27057:52;27111:7:::2;;::::0;27027:92:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;::::0;;::::2;-1:-1:-1::0;;27027:92:19::2;::::0;::::2;;::::0;::::2;::::0;;;::::2;::::0;::::2;:::i;:::-;26995:124;;27183:16;27173:27;;;;;;27147:5;:21;;27137:32;;;;;;:::i;:::-;;;;;;;;:63;27129:82;;;::::0;-1:-1:-1;;;27129:82:19;;56846:2:30;27129:82:19::2;::::0;::::2;56828:21:30::0;56885:1;56865:18;;;56858:29;-1:-1:-1;;;56903:18:30;;;56896:36;56949:18;;27129:82:19::2;56644:329:30::0;27129:82:19::2;27239:124;::::0;;::::2;::::0;::::2;::::0;;;;-1:-1:-1;;;;;27239:124:19;;::::2;::::0;;;;::::2;::::0;::::2;;::::0;::::2;::::0;::::2;::::0;::::2;::::0;;::::2;::::0;27279:5;;27239:124;;;;::::2;::::0;::::2;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;27239:124:19;;;-1:-1:-1;;27239:124:19::2;::::0;::::2;::::0;-1:-1:-1;;;;;27239:124:19::2;;::::0;::::2;::::0;::::2;::::0;::::2;::::0;;;;;;;::::2;::::0;::::2;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;27239:124:19;;;-1:-1:-1;;27239:124:19::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;;;;;::::2;::::0;;::::2;::::0;;::::2;::::0;;;;::::2;::::0;::::2;::::0;;;;;;;::::2;::::0;::::2;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;27239:124:19;;;-1:-1:-1;;27239:124:19::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;;::::2;::::0;::::2;::::0;;::::2;::::0;;;;-1:-1:-1;;;27239:124:19;::::2;::::0;::::2;::::0;;;;::::2;-1:-1:-1::0;;;27239:124:19;::::2;::::0;::::2;::::0;;;;-1:-1:-1;;;27239:124:19;::::2;;::::0;;;;-1:-1:-1;;;27239:124:19;::::2;::::0;::::2;::::0;;;;-1:-1:-1;;;27239:124:19;::::2;::::0;::::2;::::0;;;;-1:-1:-1;;;27239:124:19;;::::2;;;::::0;;;;27302:11;27331:18;27239:22:::2;:124::i;:::-;27222:428;;;27424:16;::::0;::::2;::::0;27475:18:::2;::::0;::::2;::::0;-1:-1:-1;;;;;27475:18:19::2;27388:12;27458:36:::0;;;:16:::2;:36;::::0;;;;;27388:12;;27403:105:::2;::::0;:3:::2;:105::i;:::-;27539:18;::::0;::::2;::::0;-1:-1:-1;;;;;27539:18:19::2;27522:36;::::0;;;:16:::2;:36;::::0;;;;:47;;27388:120;;-1:-1:-1;27388:120:19;;27522:36;;;:47:::2;::::0;27388:120;;27522:47:::2;:::i;:::-;::::0;;;-1:-1:-1;;27598:18:19::2;::::0;::::2;::::0;27588:51:::2;::::0;-1:-1:-1;;;;;;;;;;;27588:51:19;::::2;::::0;-1:-1:-1;;;;;27598:18:19;;::::2;::::0;27618:7;;27627:11;;27588:51:::2;:::i;:::-;;;;;;;;27374:276;27222:428;27675:18;::::0;::::2;::::0;27737:13:::2;::::0;::::2;::::0;27723:11:::2;::::0;::::2;::::0;27661:9:::2;::::0;-1:-1:-1;;;;;27675:18:19::2;::::0;27723:27:::2;::::0;::::2;:::i;:::-;27675:93;::::0;::::2;::::0;;;;;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27660:108;;;27786:4;27778:23;;;::::0;-1:-1:-1;;;27778:23:19;;57180:2:30;27778:23:19::2;::::0;::::2;57162:21:30::0;57219:1;57199:18;;;57192:29;-1:-1:-1;;;57237:18:30;;;57230:36;57283:18;;27778:23:19::2;56978:329:30::0;27778:23:19::2;27819:35;::::0;;;:22:::2;:35;::::0;;;;27812:42;;-1:-1:-1;;;;;;27812:42:19;;::::2;::::0;;;;::::2;::::0;;;;::::2;::::0;;27819:35;27812:42:::2;;::::0;::::2;27819:35:::0;27812:42:::2;:::i;:::-;;::::0;::::2;::::0;;-1:-1:-1;;;;;;27812:42:19::2;::::0;;::::2;;::::0;::::2;;;:::i;:::-;;;::::0;::::2;::::0;;;::::2;::::0;::::2;::::0;;;::::2;::::0;::::2;::::0;;-1:-1:-1;;;;;;27812:42:19::2;::::0;;::::2;::::0;::::2;::::0;::::2;::::0;::::2;:::i;:::-;-1:-1:-1::0;27812:42:19::2;;::::0;::::2;::::0;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;;;;;27812:42:19;;;27864:27;;;:14:::2;:27;::::0;;;;;27812:42;27864:37;;::::2;:44:::0;;-1:-1:-1;;27864:44:19::2;::::0;;::::2;::::0;;27923:27;27879:11;;27923:27:::2;::::0;::::2;26047:1910;;;;;2547:20:2::0;1787:1;3053:7;:22;2873:209;2547:20;25804:2153:19;;;;;:::o;7326:174::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7460:33:19;;;:22;:33;;;;;;7453:40;;;;;;;;;-1:-1:-1;;;;;7453:40:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7453:40:19;;7460:33;;7453:40;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7453:40:19;;;-1:-1:-1;;7453:40:19;;;;-1:-1:-1;;;;;7453:40:19;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7453:40:19;;;-1:-1:-1;;7453:40:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7453:40:19;;;-1:-1:-1;;7453:40:19;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7453:40:19;;;;;;;;;-1:-1:-1;;;7453:40:19;;;;;;;;-1:-1:-1;;;7453:40:19;;;;;;;-1:-1:-1;;;7453:40:19;;;;;;;;-1:-1:-1;;;7453:40:19;;;;;;;;-1:-1:-1;;;7453:40:19;;;;;;;;;;7326:174;-1:-1:-1;;7326:174:19:o;2321:198:0:-;1334:13;:11;:13::i;:::-;-1:-1:-1;;;;;2409:22:0;::::1;2401:73;;;::::0;-1:-1:-1;;;2401:73:0;;57514:2:30;2401:73:0::1;::::0;::::1;57496:21:30::0;57553:2;57533:18;;;57526:30;57592:34;57572:18;;;57565:62;-1:-1:-1;;;57643:18:30;;;57636:36;57689:19;;2401:73:0::1;57312:402:30::0;2401:73:0::1;2484:28;2503:8;2484:18;:28::i;29173:839:19:-:0;29271:7;29315:5;:16;;;-1:-1:-1;;;;;29298:33:19;29306:4;-1:-1:-1;;;;;29298:33:19;;29290:52;;;;-1:-1:-1;;;29290:52:19;;57921:2:30;29290:52:19;;;57903:21:30;57960:1;57940:18;;;57933:29;-1:-1:-1;;;57978:18:30;;;57971:36;58024:18;;29290:52:19;57719:329:30;29290:52:19;29392:21;;;;29381:6;;-1:-1:-1;;;;;29373:40:19;;;29381:6;;29373:40;29352:93;;;;-1:-1:-1;;;29352:93:19;;58255:2:30;29352:93:19;;;58237:21:30;58294:1;58274:18;;;58267:29;-1:-1:-1;;;58312:18:30;;;58305:36;58358:18;;29352:93:19;58053:329:30;29352:93:19;29476:5;:22;;;:29;29509:2;29476:35;:86;;;;29527:5;:22;;;:29;29560:2;29527:35;29476:86;29455:139;;;;-1:-1:-1;;;29455:139:19;;58589:2:30;29455:139:19;;;58571:21:30;58628:1;58608:18;;;58601:29;-1:-1:-1;;;58646:18:30;;;58639:36;58692:18;;29455:139:19;58387:329:30;29455:139:19;29625:5;:33;;;:40;29669:2;29625:46;29604:99;;;;-1:-1:-1;;;29604:99:19;;58923:2:30;29604:99:19;;;58905:21:30;58962:1;58942:18;;;58935:29;-1:-1:-1;;;58980:18:30;;;58973:36;59026:18;;29604:99:19;58721:329:30;29604:99:19;29765:8;;29748:5;:13;;;29734:5;:11;;;:27;;;;:::i;:::-;:39;;29713:92;;;;-1:-1:-1;;;29713:92:19;;59257:2:30;29713:92:19;;;59239:21:30;59296:1;59276:18;;;59269:29;-1:-1:-1;;;59314:18:30;;;59307:36;59360:18;;29713:92:19;59055:329:30;29713:92:19;29898:5;:20;;;29891:28;;29863:5;:24;;;29856:32;;:63;;;;:::i;:::-;-1:-1:-1;;;;;29836:83:19;:16;:83;;29815:136;;;;-1:-1:-1;;;29815:136:19;;59776:2:30;29815:136:19;;;59758:21:30;59815:1;59795:18;;;59788:29;-1:-1:-1;;;59833:18:30;;;59826:36;59879:18;;29815:136:19;59574:329:30;29815:136:19;29979:25;;-1:-1:-1;;;29979:25:19;;:6;;:18;;:25;;29998:5;;29979:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;29979:25:19;;;;;;;;;;;;:::i;:::-;29969:36;;;;;;29962:43;;29173:839;;;:::o;10216:748::-;10413:1;10397:5;10391:19;:23;10383:42;;;;-1:-1:-1;;;10383:42:19;;60390:2:30;10383:42:19;;;60372:21:30;60429:1;60409:18;;;60402:29;-1:-1:-1;;;60447:18:30;;;60440:36;60493:18;;10383:42:19;60188:329:30;10383:42:19;10484:1;10462:11;10456:25;:29;10435:82;;;;-1:-1:-1;;;10435:82:19;;60724:2:30;10435:82:19;;;60706:21:30;60763:1;60743:18;;;60736:29;-1:-1:-1;;;60781:18:30;;;60774:36;60827:18;;10435:82:19;60522:329:30;10435:82:19;10679:25;;;;;;;:::i;:::-;;;;;;;;;;;;;10669:36;;;;;;10638:13;10621:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;10611:42;;;;;;:94;:205;;;;10789:26;;;;;;;:::i;:::-;;;;;;;;;;;;;10779:37;;;;;;10748:13;10731:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;10721:42;;;;;;:95;10611:205;:314;;;-1:-1:-1;10900:24:19;;-1:-1:-1;;;10900:24:19;;;61058:19:30;61093:11;;10900:24:19;;;;;;;;;;;;10890:35;;;;;;10859:13;10842:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;10832:42;;;;;;:93;10611:314;10590:367;;;;-1:-1:-1;;;10590:367:19;;61317:2:30;10590:367:19;;;61299:21:30;61356:1;61336:18;;;61329:29;-1:-1:-1;;;61374:18:30;;;61367:36;61420:18;;10590:367:19;61115:329:30;10590:367:19;10216:748;;;:::o;31096:157::-;-1:-1:-1;;;;;31186:22:19;;31163:4;31186:22;;;:16;:22;;;;;;:26;;;;:60;;-1:-1:-1;;;;;;;31216:25:19;;;;;:19;:25;;;;;;:30;;31096:157::o;1104:111:0:-;5363:13:1;;;;;;;5355:69;;;;-1:-1:-1;;;5355:69:1;;61651:2:30;5355:69:1;;;61633:21:30;61690:2;61670:18;;;61663:30;61729:34;61709:18;;;61702:62;-1:-1:-1;;;61780:18:30;;;61773:41;61831:19;;5355:69:1;61449:407:30;5355:69:1;1176:32:0::1;929:10:4::0;1176:18:0::1;:32::i;30948:142:19:-:0;-1:-1:-1;;;;;31029:16:19;;31006:4;31029:16;;;:10;:16;;;;;;:20;;;;:54;;-1:-1:-1;;;;;;;31053:25:19;;;;;:19;:25;;;;;;:30;;30948:142::o;30018:243::-;30167:16;;30123:7;;-1:-1:-1;;;;;30150:33:19;30158:4;30150:33;30142:52;;;;-1:-1:-1;;;30142:52:19;;62063:2:30;30142:52:19;;;62045:21:30;62102:1;62082:18;;;62075:29;-1:-1:-1;;;62120:18:30;;;62113:36;62166:18;;30142:52:19;61861:329:30;30142:52:19;30222:31;;-1:-1:-1;;;30222:31:19;;:6;;:24;;:31;;30247:5;;30222:31;;;:::i;2580:287:2:-;1830:1;2712:7;;:19;2704:63;;;;-1:-1:-1;;;2704:63:2;;64847:2:30;2704:63:2;;;64829:21:30;64886:2;64866:18;;;64859:30;64925:33;64905:18;;;64898:61;64976:18;;2704:63:2;64645:355:30;2704:63:2;1830:1;2842:7;:18;2580:287::o;31680:628:19:-;31936:6;;32099:22;;;;32162:33;;;;31903:6;32209:28;;;:12;:28;;;;;:38;31903:6;;-1:-1:-1;;;;;31936:6:19;;:39;;31989:17;;32020:6;;32040:17;;32071:14;;32143:4;;32162:33;32209:38;;:42;;;;:82;;-1:-1:-1;32255:28:19;;;;:12;:28;;;;;:36;-1:-1:-1;;;32255:36:19;;;;32209:82;31936:365;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;31921:380;31680:628;-1:-1:-1;;;;;;31680:628:19:o;32730:1576::-;32902:4;32992:1;32983:6;:10;:59;;;;;33029:5;:13;;;33015:5;:11;;;:27;;;;:::i;:::-;33005:6;32997:45;32983:59;32979:102;;;-1:-1:-1;33065:5:19;33058:12;;32979:102;33130:6;;:59;;-1:-1:-1;;;33130:59:19;;;;;683:25:30;;;33091:36:19;;-1:-1:-1;;;;;33130:6:19;;:51;;656:18:30;;33130:59:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;33130:59:19;;;;;;;;;;;;:::i;:::-;33091:98;;33240:1;33207:23;:30;:34;33199:67;;;;-1:-1:-1;;;33199:67:19;;66275:2:30;33199:67:19;;;66257:21:30;66314:2;66294:18;;;66287:30;-1:-1:-1;;;66333:18:30;;;66326:50;66393:18;;33199:67:19;66073:344:30;33199:67:19;33277:34;33314:67;33348:23;33314:20;:67::i;:::-;33277:104;;33521:14;33565:5;:20;;;33538:5;:24;;;:47;;;;:::i;:::-;33521:64;;;;33628:9;33599:26;:38;33595:81;;;33660:5;33653:12;;;;;;;33595:81;33731:13;33748:1;33731:18;33727:60;;33772:4;33765:11;;;;;;;33727:60;33833:6;;33907:26;;;;33797:33;;-1:-1:-1;;;;;33833:6:19;;:51;;:6;;33898:35;;;;:6;:35;:::i;:::-;:39;;;;:::i;:::-;33833:114;;;;;;;;;;;;;683:25:30;;671:2;656:18;;537:177;33833:114:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;33833:114:19;;;;;;;;;;;;:::i;:::-;33797:150;;33995:1;33965:20;:27;:31;33957:50;;;;-1:-1:-1;;;33957:50:19;;66624:2:30;33957:50:19;;;66606:21:30;66663:1;66643:18;;;66636:29;-1:-1:-1;;;66681:18:30;;;66674:36;66727:18;;33957:50:19;66422:329:30;33957:50:19;34018:31;34052:64;34086:20;34052;:64::i;:::-;34018:98;;34226:5;:14;;;34200:40;;:23;:40;;;;:::i;:::-;34184:13;:56;34180:98;;;34263:4;34256:11;;;;;;;;;34180:98;-1:-1:-1;34294:5:19;;32730:1576;-1:-1:-1;;;;;;;;;32730:1576:19:o;30267:94::-;30318:4;30345:1;30341;:5;:13;;30353:1;30341:13;;;30349:1;30341:13;30334:20;30267:94;-1:-1:-1;;;30267:94:19:o;30434:145::-;-1:-1:-1;;;;;30504:14:19;;;;;;:8;:14;;;;;:24;;30522:6;;30504:14;:24;;30522:6;;30504:24;:::i;:::-;;;;-1:-1:-1;;30543:29:19;;;;;;30559:4;;30565:6;;30543:29;:::i;1599:130:0:-;929:10:4;1662:7:0;:5;:7::i;:::-;-1:-1:-1;;;;;1662:23:0;;1654:68;;;;-1:-1:-1;;;1654:68:0;;66958:2:30;1654:68:0;;;66940:21:30;;;66977:18;;;66970:30;67036:34;67016:18;;;67009:62;67088:18;;1654:68:0;66756:356:30;2673:187:0;2765:6;;;-1:-1:-1;;;;;2781:17:0;;;-1:-1:-1;;;;;;2781:17:0;;;;;;;2813:40;;2765:6;;;2781:17;2765:6;;2813:40;;2746:16;;2813:40;2736:124;2673:187;:::o;35701:364:19:-;35804:6;35843:10;:6;35852:1;35843:10;:::i;:::-;35830:2;:9;:23;;35822:42;;;;-1:-1:-1;;;35822:42:19;;67319:2:30;35822:42:19;;;67301:21:30;67358:1;67338:18;;;67331:29;-1:-1:-1;;;67376:18:30;;;67369:36;67422:18;;35822:42:19;67117:329:30;35822:42:19;36055:2;36035;36038:10;:6;36047:1;36038:10;:::i;:::-;36035:14;;;;;;;;:::i;:::-;;;;;;;36022:35;;36007:2;35987;35990:10;:6;35999:1;35990:10;:::i;:::-;35987:14;;;;;;;;:::i;:::-;;;;;;;35974:35;;35960:1;35940:2;35943:10;:6;35952:1;35943:10;:::i;:::-;35940:14;;;;;;;;:::i;:::-;;;;;35903:10;;35940:14;;;;;35927:34;;;;35903:2;;35906:6;;35903:10;;;;;;:::i;:::-;;;;;;;35890:72;:120;:168;;-1:-1:-1;35701:364:19;;;;:::o;30585:145::-;-1:-1:-1;;;;;30655:14:19;;;;;;:8;:14;;;;;:24;;30673:6;;30655:14;:24;;30673:6;;30655:24;:::i;:::-;;;;-1:-1:-1;;30694:29:19;;;;;;30710:4;;30716:6;;30694:29;:::i;34312:853::-;34522:6;;:51;;-1:-1:-1;;;34522:51:19;;;;;683:25:30;;;34467:4:19;;;;-1:-1:-1;;;;;34522:6:19;;;;:40;;656:18:30;;34522:51:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;34522:51:19;;;;;;;;;;;;:::i;:::-;34483:90;;34624:1;34591:23;:30;:34;34583:53;;;;-1:-1:-1;;;34583:53:19;;67653:2:30;34583:53:19;;;67635:21:30;67692:1;67672:18;;;67665:29;-1:-1:-1;;;67710:18:30;;;67703:36;67756:18;;34583:53:19;67451:329:30;34583:53:19;34647:34;34684:45;34705:23;34684:20;:45::i;:::-;34908:12;;34887:18;;;;34830:25;;;;:14;:25;;;;;:42;34647:82;;-1:-1:-1;34908:12:19;;34830:75;;;;;;:::i;:::-;:90;;;;:::i;:::-;34801:26;:119;34797:161;;;34943:4;34936:11;;;;;;34797:161;35046:5;:16;;;35028:34;;:15;:34;:70;;;;35081:5;:17;;;35066:32;;:12;:32;35028:70;35024:112;;;35121:4;35114:11;;;;;;35024:112;-1:-1:-1;35153:5:19;;34312:853;-1:-1:-1;;;;;34312:853:19:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;719:127:30:-;780:10;775:3;771:20;768:1;761:31;811:4;808:1;801:15;835:4;832:1;825:15;851:255;923:2;917:9;965:6;953:19;;-1:-1:-1;;;;;987:34:30;;1023:22;;;984:62;981:88;;;1049:18;;:::i;:::-;1085:2;1078:22;851:255;:::o;1111:::-;1183:2;1177:9;1225:6;1213:19;;-1:-1:-1;;;;;1247:34:30;;1283:22;;;1244:62;1241:88;;;1309:18;;:::i;1371:253::-;1443:2;1437:9;1485:4;1473:17;;-1:-1:-1;;;;;1505:34:30;;1541:22;;;1502:62;1499:88;;;1567:18;;:::i;1629:275::-;1700:2;1694:9;1765:2;1746:13;;-1:-1:-1;;1742:27:30;1730:40;;-1:-1:-1;;;;;1785:34:30;;1821:22;;;1782:62;1779:88;;;1847:18;;:::i;:::-;1883:2;1876:22;1629:275;;-1:-1:-1;1629:275:30:o;1909:177::-;1977:20;;-1:-1:-1;;;;;;2026:35:30;;2016:46;;2006:74;;2076:1;2073;2066:12;2091:131;-1:-1:-1;;;;;2166:31:30;;2156:42;;2146:70;;2212:1;2209;2202:12;2227:134;2295:20;;2324:31;2295:20;2324:31;:::i;2366:186::-;2414:4;-1:-1:-1;;;;;2436:30:30;;2433:56;;;2469:18;;:::i;:::-;-1:-1:-1;2535:2:30;2514:15;-1:-1:-1;;2510:29:30;2541:4;2506:40;;2366:186::o;2557:462::-;2599:5;2652:3;2645:4;2637:6;2633:17;2629:27;2619:55;;2670:1;2667;2660:12;2619:55;2706:6;2693:20;2737:48;2753:31;2781:2;2753:31;:::i;:::-;2737:48;:::i;:::-;2810:2;2801:7;2794:19;2856:3;2849:4;2844:2;2836:6;2832:15;2828:26;2825:35;2822:55;;;2873:1;2870;2863:12;2822:55;2938:2;2931:4;2923:6;2919:17;2912:4;2903:7;2899:18;2886:55;2986:1;2961:16;;;2979:4;2957:27;2950:38;;;;2965:7;2557:462;-1:-1:-1;;;2557:462:30:o;3024:163::-;3091:20;;3151:10;3140:22;;3130:33;;3120:61;;3177:1;3174;3167:12;3192:160;3258:20;;3318:1;3307:20;;;3297:31;;3287:59;;3342:1;3339;3332:12;3357:159;3424:20;;3484:6;3473:18;;3463:29;;3453:57;;3506:1;3503;3496:12;3521:118;3607:5;3600:13;3593:21;3586:5;3583:32;3573:60;;3629:1;3626;3619:12;3644:128;3709:20;;3738:28;3709:20;3738:28;:::i;3777:2005::-;3834:5;3882:6;3870:9;3865:3;3861:19;3857:32;3854:52;;;3902:1;3899;3892:12;3854:52;3924:22;;:::i;:::-;3915:31;;3969:29;3988:9;3969:29;:::i;:::-;3962:5;3955:44;4031:38;4065:2;4054:9;4050:18;4031:38;:::i;:::-;4026:2;4019:5;4015:14;4008:62;4102:38;4136:2;4125:9;4121:18;4102:38;:::i;:::-;4097:2;4086:14;;4079:62;4192:2;4177:18;;4164:32;-1:-1:-1;;;;;4245:14:30;;;4242:34;;;4272:1;4269;4262:12;4242:34;4308:45;4349:3;4340:6;4329:9;4325:22;4308:45;:::i;:::-;4303:2;4296:5;4292:14;4285:69;4387:39;4421:3;4410:9;4406:19;4387:39;:::i;:::-;4381:3;4374:5;4370:15;4363:64;4480:3;4469:9;4465:19;4452:33;4436:49;;4510:2;4500:8;4497:16;4494:36;;;4526:1;4523;4516:12;4494:36;4563:47;4606:3;4595:8;4584:9;4580:24;4563:47;:::i;:::-;4557:3;4550:5;4546:15;4539:72;4672:3;4661:9;4657:19;4644:33;4638:3;4631:5;4627:15;4620:58;4739:3;4728:9;4724:19;4711:33;4705:3;4698:5;4694:15;4687:58;4764:3;4754:13;;4799:38;4833:2;4822:9;4818:18;4799:38;:::i;:::-;4794:2;4787:5;4783:14;4776:62;4857:3;4847:13;;4913:2;4902:9;4898:18;4885:32;4942:2;4932:8;4929:16;4926:36;;;4958:1;4955;4948:12;4926:36;4994:47;5037:3;5026:8;5015:9;5011:24;4994:47;:::i;:::-;4989:2;4982:5;4978:14;4971:71;;;;5061:3;5096:37;5129:2;5118:9;5114:18;5096:37;:::i;:::-;5080:14;;;5073:61;5153:3;5188:36;5205:18;;;5188:36;:::i;:::-;5172:14;;;5165:60;5244:3;5292:18;;;5279:32;5263:14;;;5256:56;5331:3;5366:37;5384:18;;;5366:37;:::i;:::-;5350:14;;;5343:61;5423:3;5458:37;5476:18;;;5458:37;:::i;:::-;5442:14;;;5435:61;5515:3;5550:37;5568:18;;;5550:37;:::i;:::-;5534:14;;;5527:61;5608:3;5644:38;5662:19;;;5644:38;:::i;:::-;5627:15;;;5620:63;5703:3;5739:36;5755:19;;;5739:36;:::i;:::-;5722:15;;;5715:61;5726:5;3777:2005;-1:-1:-1;;3777:2005:30:o;5787:351::-;5874:6;5927:2;5915:9;5906:7;5902:23;5898:32;5895:52;;;5943:1;5940;5933:12;5895:52;5970:23;;-1:-1:-1;;;;;6005:30:30;;6002:50;;;6048:1;6045;6038:12;6002:50;6071:61;6124:7;6115:6;6104:9;6100:22;6071:61;:::i;6325:180::-;6384:6;6437:2;6425:9;6416:7;6412:23;6408:32;6405:52;;;6453:1;6450;6443:12;6405:52;-1:-1:-1;6476:23:30;;6325:180;-1:-1:-1;6325:180:30:o;6510:870::-;6623:6;6631;6639;6647;6700:3;6688:9;6679:7;6675:23;6671:33;6668:53;;;6717:1;6714;6707:12;6668:53;6744:23;;-1:-1:-1;;;;;6816:14:30;;;6813:34;;;6843:1;6840;6833:12;6813:34;6866:49;6907:7;6898:6;6887:9;6883:22;6866:49;:::i;:::-;6856:59;;6968:2;6957:9;6953:18;6940:32;6924:48;;6997:2;6987:8;6984:16;6981:36;;;7013:1;7010;7003:12;6981:36;7036:51;7079:7;7068:8;7057:9;7053:24;7036:51;:::i;:::-;7026:61;;7137:2;7126:9;7122:18;7109:32;7096:45;;7150:28;7172:5;7150:28;:::i;:::-;7197:5;;-1:-1:-1;7255:2:30;7240:18;;7227:32;;7271:16;;;7268:36;;;7300:1;7297;7290:12;7268:36;;7323:51;7366:7;7355:8;7344:9;7340:24;7323:51;:::i;:::-;7313:61;;;6510:870;;;;;;;:::o;7578:811::-;7703:6;7711;7719;7727;7735;7743;7751;7759;7812:3;7800:9;7791:7;7787:23;7783:33;7780:53;;;7829:1;7826;7819:12;7780:53;7868:9;7855:23;7887:31;7912:5;7887:31;:::i;:::-;7937:5;-1:-1:-1;7989:2:30;7974:18;;7961:32;;-1:-1:-1;8040:2:30;8025:18;;8012:32;;-1:-1:-1;8063:37:30;8096:2;8081:18;;8063:37;:::i;:::-;8053:47;;8119:38;8152:3;8141:9;8137:19;8119:38;:::i;:::-;8109:48;;8204:3;8193:9;8189:19;8176:33;8166:43;;8256:3;8245:9;8241:19;8228:33;8218:43;;8313:3;8302:9;8298:19;8285:33;8327:30;8349:7;8327:30;:::i;:::-;8376:7;8366:17;;;7578:811;;;;;;;;;;;:::o;8394:247::-;8453:6;8506:2;8494:9;8485:7;8481:23;8477:32;8474:52;;;8522:1;8519;8512:12;8474:52;8561:9;8548:23;8580:31;8605:5;8580:31;:::i;9119:183::-;9179:4;-1:-1:-1;;;;;9201:30:30;;9198:56;;;9234:18;;:::i;:::-;-1:-1:-1;9279:1:30;9275:14;9291:4;9271:25;;9119:183::o;9307:891::-;9391:6;9422:2;9465;9453:9;9444:7;9440:23;9436:32;9433:52;;;9481:1;9478;9471:12;9433:52;9508:23;;-1:-1:-1;;;;;9543:30:30;;9540:50;;;9586:1;9583;9576:12;9540:50;9609:22;;9662:4;9654:13;;9650:27;-1:-1:-1;9640:55:30;;9691:1;9688;9681:12;9640:55;9727:2;9714:16;9750:60;9766:43;9806:2;9766:43;:::i;9750:60::-;9844:15;;;9926:1;9922:10;;;;9914:19;;9910:28;;;9875:12;;;;9950:19;;;9947:39;;;9982:1;9979;9972:12;9947:39;10006:11;;;;10026:142;10042:6;10037:3;10034:15;10026:142;;;10108:17;;10096:30;;10059:12;;;;10146;;;;10026:142;;;10187:5;9307:891;-1:-1:-1;;;;;;;9307:891:30:o;10203:104::-;-1:-1:-1;;;;;10269:31:30;10257:44;;10203:104::o;10312:250::-;10397:1;10407:113;10421:6;10418:1;10415:13;10407:113;;;10497:11;;;10491:18;10478:11;;;10471:39;10443:2;10436:10;10407:113;;;-1:-1:-1;;10554:1:30;10536:16;;10529:27;10312:250::o;10567:271::-;10609:3;10647:5;10641:12;10674:6;10669:3;10662:19;10690:76;10759:6;10752:4;10747:3;10743:14;10736:4;10729:5;10725:16;10690:76;:::i;:::-;10820:2;10799:15;-1:-1:-1;;10795:29:30;10786:39;;;;10827:4;10782:50;;10567:271;-1:-1:-1;;10567:271:30:o;10843:1665::-;11055:4;11084:2;11124;11113:9;11109:18;11154:2;11143:9;11136:21;11177:6;11212;11206:13;11243:6;11235;11228:22;11269:2;11259:12;;11302:2;11291:9;11287:18;11280:25;;11364:2;11354:6;11351:1;11347:14;11336:9;11332:30;11328:39;11402:2;11394:6;11390:15;11423:1;11433:1046;11447:6;11444:1;11441:13;11433:1046;;;11512:22;;;-1:-1:-1;;11508:36:30;11496:49;;11568:13;;11636:9;;11621:25;;11693:11;;;11687:18;-1:-1:-1;;;;;11683:44:30;11666:15;;;11659:69;11767:11;;;11761:18;11604:4;11799:15;;;11792:27;;;11604:4;11846:48;11878:15;;;11761:18;11846:48;:::i;:::-;11832:62;;;11917:4;11970:2;11966;11962:11;11956:18;12023:6;12015;12011:19;12006:2;11998:6;11994:15;11987:44;12058:41;12092:6;12076:14;12058:41;:::i;:::-;12044:55;;;;12122:4;12191:2;12187;12183:11;12177:18;12170:26;12163:34;12158:2;12150:6;12146:15;12139:59;;12221:4;12274:2;12270;12266:11;12260:18;12238:40;;12327:6;12319;12315:19;12310:2;12302:6;12298:15;12291:44;;12358:41;12392:6;12376:14;12358:41;:::i;:::-;12457:12;;;;12348:51;-1:-1:-1;;;12422:15:30;;;;11469:1;11462:9;11433:1046;;;-1:-1:-1;12496:6:30;;10843:1665;-1:-1:-1;;;;;;;;10843:1665:30:o;12513:1911::-;12571:5;12619:6;12607:9;12602:3;12598:19;12594:32;12591:52;;;12639:1;12636;12629:12;12591:52;12661:22;;:::i;:::-;12652:31;;12706:29;12725:9;12706:29;:::i;:::-;12699:5;12692:44;12768:38;12802:2;12791:9;12787:18;12768:38;:::i;:::-;12763:2;12752:14;;12745:62;12858:2;12843:18;;12830:32;-1:-1:-1;;;;;12911:14:30;;;12908:34;;;12938:1;12935;12928:12;12908:34;12974:45;13015:3;13006:6;12995:9;12991:22;12974:45;:::i;:::-;12969:2;12962:5;12958:14;12951:69;13052:38;13086:2;13075:9;13071:18;13052:38;:::i;:::-;13047:2;13040:5;13036:14;13029:62;13144:3;13133:9;13129:19;13116:33;13100:49;;13174:2;13164:8;13161:16;13158:36;;;13190:1;13187;13180:12;13158:36;13227:47;13270:3;13259:8;13248:9;13244:24;13227:47;:::i;:::-;13221:3;13214:5;13210:15;13203:72;13336:3;13325:9;13321:19;13308:33;13302:3;13295:5;13291:15;13284:58;13403:3;13392:9;13388:19;13375:33;13369:3;13362:5;13358:15;13351:58;13442:37;13474:3;13463:9;13459:19;13442:37;:::i;:::-;13436:3;13429:5;13425:15;13418:62;13499:3;13489:13;;13555:2;13544:9;13540:18;13527:32;13584:2;13574:8;13571:16;13568:36;;;13600:1;13597;13590:12;13568:36;13636:47;13679:3;13668:8;13657:9;13653:24;13636:47;:::i;:::-;13631:2;13624:5;13620:14;13613:71;;;;13703:3;13766:2;13755:9;13751:18;13738:32;13733:2;13726:5;13722:14;13715:56;;13790:3;13825:37;13858:2;13847:9;13843:18;13825:37;:::i;:::-;13809:14;;;13802:61;13882:3;13917:37;13935:18;;;13917:37;:::i;:::-;13901:14;;;13894:61;13974:3;14009:37;14027:18;;;14009:37;:::i;:::-;13993:14;;;13986:61;14066:3;14101:37;14119:18;;;14101:37;:::i;:::-;14085:14;;;14078:61;14158:3;14193:37;14211:18;;;14193:37;:::i;:::-;14177:14;;;14170:61;14250:3;14285:37;14303:18;;;14285:37;:::i;:::-;14269:14;;;14262:61;14343:3;14379:38;14397:19;;;14379:38;:::i;14429:353::-;14517:6;14570:2;14558:9;14549:7;14545:23;14541:32;14538:52;;;14586:1;14583;14576:12;14538:52;14613:23;;-1:-1:-1;;;;;14648:30:30;;14645:50;;;14691:1;14688;14681:12;14645:50;14714:62;14768:7;14759:6;14748:9;14744:22;14714:62;:::i;14787:1036::-;14937:6;14945;14953;14961;14969;15022:3;15010:9;15001:7;14997:23;14993:33;14990:53;;;15039:1;15036;15029:12;14990:53;15066:23;;-1:-1:-1;;;;;15138:14:30;;;15135:34;;;15165:1;15162;15155:12;15135:34;15188:61;15241:7;15232:6;15221:9;15217:22;15188:61;:::i;:::-;15178:71;;15302:2;15291:9;15287:18;15274:32;15258:48;;15331:2;15321:8;15318:16;15315:36;;;15347:1;15344;15337:12;15315:36;15370:51;15413:7;15402:8;15391:9;15387:24;15370:51;:::i;:::-;15360:61;;15474:2;15463:9;15459:18;15446:32;15430:48;;15503:2;15493:8;15490:16;15487:36;;;15519:1;15516;15509:12;15487:36;15542:51;15585:7;15574:8;15563:9;15559:24;15542:51;:::i;:::-;15532:61;;15646:2;15635:9;15631:18;15618:32;15602:48;;15675:2;15665:8;15662:16;15659:36;;;15691:1;15688;15681:12;15659:36;;15714:51;15757:7;15746:8;15735:9;15731:24;15714:51;:::i;:::-;14787:1036;;;;-1:-1:-1;14787:1036:30;;15812:3;15797:19;15784:33;;14787:1036;-1:-1:-1;;;14787:1036:30:o;16008:309::-;16073:6;16081;16134:2;16122:9;16113:7;16109:23;16105:32;16102:52;;;16150:1;16147;16140:12;16102:52;16186:9;16173:23;16163:33;;16246:2;16235:9;16231:18;16218:32;16259:28;16281:5;16259:28;:::i;:::-;16306:5;16296:15;;;16008:309;;;;;:::o;16322:572::-;16428:6;16436;16489:2;16477:9;16468:7;16464:23;16460:32;16457:52;;;16505:1;16502;16495:12;16457:52;16532:23;;-1:-1:-1;;;;;16604:14:30;;;16601:34;;;16631:1;16628;16621:12;16601:34;16654:62;16708:7;16699:6;16688:9;16684:22;16654:62;:::i;:::-;16644:72;;16769:2;16758:9;16754:18;16741:32;16725:48;;16798:2;16788:8;16785:16;16782:36;;;16814:1;16811;16804:12;16782:36;;16837:51;16880:7;16869:8;16858:9;16854:24;16837:51;:::i;:::-;16827:61;;;16322:572;;;;;:::o;16899:203::-;-1:-1:-1;;;;;17063:32:30;;;;17045:51;;17033:2;17018:18;;16899:203::o;17395:320::-;17463:6;17516:2;17504:9;17495:7;17491:23;17487:32;17484:52;;;17532:1;17529;17522:12;17484:52;17559:23;;-1:-1:-1;;;;;17594:30:30;;17591:50;;;17637:1;17634;17627:12;17591:50;17660:49;17701:7;17692:6;17681:9;17677:22;17660:49;:::i;17720:570::-;17825:6;17833;17886:2;17874:9;17865:7;17861:23;17857:32;17854:52;;;17902:1;17899;17892:12;17854:52;17929:23;;-1:-1:-1;;;;;18001:14:30;;;17998:34;;;18028:1;18025;18018:12;17998:34;18051:61;18104:7;18095:6;18084:9;18080:22;18051:61;:::i;18295:1316::-;18424:6;18432;18440;18448;18456;18509:3;18497:9;18488:7;18484:23;18480:33;18477:53;;;18526:1;18523;18516:12;18477:53;18549:23;;;-1:-1:-1;18591:2:30;18629:18;;;18616:32;-1:-1:-1;;;;;18697:14:30;;;18694:34;;;18724:1;18721;18714:12;18694:34;18747:49;18788:7;18779:6;18768:9;18764:22;18747:49;:::i;:::-;18737:59;;18843:2;18832:9;18828:18;18815:32;18805:42;;18894:2;18883:9;18879:18;18866:32;18856:42;;18951:3;18940:9;18936:19;18923:33;18907:49;;18981:2;18971:8;18968:16;18965:36;;;18997:1;18994;18987:12;18965:36;-1:-1:-1;19020:24:30;;19075:4;19067:13;;19063:27;-1:-1:-1;19053:55:30;;19104:1;19101;19094:12;19053:55;19140:2;19127:16;19163:60;19179:43;19219:2;19179:43;:::i;19163:60::-;19257:15;;;19339:1;19335:10;;;;19327:19;;19323:28;;;19288:12;;;;19363:19;;;19360:39;;;19395:1;19392;19385:12;19360:39;19419:11;;;;19439:142;19455:6;19450:3;19447:15;19439:142;;;19521:17;;19509:30;;19472:12;;;;19559;;;;19439:142;;;19600:5;19590:15;;;;;;;18295:1316;;;;;;;;:::o;20042:2437::-;20229:2;20218:9;20211:21;20241:53;20290:2;20279:9;20275:18;20266:6;20260:13;20241:53;:::i;:::-;20192:4;20341:2;20333:6;20329:15;20323:22;20354:52;20402:2;20391:9;20387:18;20373:12;20354:52;:::i;:::-;;20455:2;20447:6;20443:15;20437:22;20478:6;20520:2;20515;20504:9;20500:18;20493:30;20546:54;20595:3;20584:9;20580:19;20564:14;20546:54;:::i;:::-;20532:68;;20649:2;20641:6;20637:15;20631:22;20662:55;20712:3;20701:9;20697:19;20681:14;20662:55;:::i;:::-;;20766:3;20758:6;20754:16;20748:23;20794:2;20790:7;20862:2;20850:9;20842:6;20838:22;20834:31;20828:3;20817:9;20813:19;20806:60;20889:41;20923:6;20907:14;20889:41;:::i;:::-;20875:55;;20985:3;20977:6;20973:16;20967:23;20961:3;20950:9;20946:19;20939:52;21046:3;21038:6;21034:16;21028:23;21022:3;21011:9;21007:19;21000:52;21101:3;21093:6;21089:16;21083:23;21061:45;;21125:3;21137:52;21185:2;21174:9;21170:18;21154:14;19922:1;19911:20;19899:33;;19847:91;21137:52;21238:2;21230:6;21226:15;21220:22;21198:44;;;21261:3;21328:2;21316:9;21308:6;21304:22;21300:31;21295:2;21284:9;21280:18;21273:59;21355:41;21389:6;21373:14;21355:41;:::i;:::-;21421:15;;;21415:22;21456:3;21475:18;;;21468:30;;;;21535:15;;21529:22;21341:55;;-1:-1:-1;21529:22:30;-1:-1:-1;21570:3:30;;-1:-1:-1;21582:53:30;21616:18;;;21529:22;20019:10;20008:22;19996:35;;19943:94;21582:53;21672:15;;21666:22;;-1:-1:-1;21707:3:30;21719:53;21753:18;;;21666:22;20019:10;20008:22;19996:35;;19943:94;21719:53;21809:15;;21803:22;;-1:-1:-1;21844:3:30;21856:53;21890:18;;;21803:22;17183:6;17172:18;17160:31;;17107:90;21856:53;21946:15;;21940:22;;-1:-1:-1;21982:3:30;21994:54;22028:19;;;21940:22;17183:6;17172:18;17160:31;;17107:90;21994:54;22086:16;;22080:23;;-1:-1:-1;22123:3:30;22135:55;22170:19;;;22080:23;20019:10;20008:22;19996:35;;19943:94;22135:55;22228:16;;22222:23;;-1:-1:-1;22265:3:30;22277:55;22312:19;;;22222:23;20019:10;20008:22;19996:35;;19943:94;22277:55;22370:16;;22364:23;20019:10;20008:22;;22431:18;;;19996:35;22364:23;-1:-1:-1;22396:54:30;-1:-1:-1;22467:6:30;;20042:2437;-1:-1:-1;;;;20042:2437:30:o;22484:329::-;22686:2;22668:21;;;22725:1;22705:18;;;22698:29;-1:-1:-1;;;22758:2:30;22743:18;;22736:36;22804:2;22789:18;;22484:329::o;22818:127::-;22879:10;22874:3;22870:20;22867:1;22860:31;22910:4;22907:1;22900:15;22934:4;22931:1;22924:15;22950:128;23017:9;;;23038:11;;;23035:37;;;23052:18;;:::i;23293:329::-;23495:2;23477:21;;;23534:1;23514:18;;;23507:29;-1:-1:-1;;;23567:2:30;23552:18;;23545:36;23613:2;23598:18;;23293:329::o;23627:274::-;-1:-1:-1;;;;;23819:32:30;;;;23801:51;;23883:2;23868:18;;23861:34;23789:2;23774:18;;23627:274::o;23906:329::-;24108:2;24090:21;;;24147:1;24127:18;;;24120:29;-1:-1:-1;;;24180:2:30;24165:18;;24158:36;24226:2;24211:18;;23906:329::o;24240:::-;24442:2;24424:21;;;24481:1;24461:18;;;24454:29;-1:-1:-1;;;24514:2:30;24499:18;;24492:36;24560:2;24545:18;;24240:329::o;25576:255::-;-1:-1:-1;;;25778:20:30;;25823:1;25814:11;;25576:255::o;25836:289::-;25967:3;26005:6;25999:13;26021:66;26080:6;26075:3;26068:4;26060:6;26056:17;26021:66;:::i;:::-;26103:16;;;;;25836:289;-1:-1:-1;;25836:289:30:o;26130:329::-;26332:2;26314:21;;;26371:1;26351:18;;;26344:29;-1:-1:-1;;;26404:2:30;26389:18;;26382:36;26450:2;26435:18;;26130:329::o;26464:256::-;-1:-1:-1;;;26666:21:30;;26712:1;26703:11;;26464:256::o;26725:168::-;26798:9;;;26829;;26846:15;;;26840:22;;26826:37;26816:71;;26867:18;;:::i;26898:127::-;26959:10;26954:3;26950:20;26947:1;26940:31;26990:4;26987:1;26980:15;27014:4;27011:1;27004:15;27030:120;27070:1;27096;27086:35;;27101:18;;:::i;:::-;-1:-1:-1;27135:9:30;;27030:120::o;27155:112::-;27187:1;27213;27203:35;;27218:18;;:::i;:::-;-1:-1:-1;27252:9:30;;27155:112::o;27272:125::-;27337:9;;;27358:10;;;27355:36;;;27371:18;;:::i;27402:135::-;27441:3;27462:17;;;27459:43;;27482:18;;:::i;:::-;-1:-1:-1;27529:1:30;27518:13;;27402:135::o;27542:380::-;27621:1;27617:12;;;;27664;;;27685:61;;27739:4;27731:6;27727:17;27717:27;;27685:61;27792:2;27784:6;27781:14;27761:18;27758:38;27755:161;;27838:10;27833:3;27829:20;27826:1;27819:31;27873:4;27870:1;27863:15;27901:4;27898:1;27891:15;27755:161;;27542:380;;;:::o;28053:545::-;28155:2;28150:3;28147:11;28144:448;;;28191:1;28216:5;28212:2;28205:17;28261:4;28257:2;28247:19;28331:2;28319:10;28315:19;28312:1;28308:27;28302:4;28298:38;28367:4;28355:10;28352:20;28349:47;;;-1:-1:-1;28390:4:30;28349:47;28445:2;28440:3;28436:12;28433:1;28429:20;28423:4;28419:31;28409:41;;28500:82;28518:2;28511:5;28508:13;28500:82;;;28563:17;;;28544:1;28533:13;28500:82;;;28504:3;;;28053:545;;;:::o;28774:1352::-;28894:10;;-1:-1:-1;;;;;28916:30:30;;28913:56;;;28949:18;;:::i;:::-;28978:97;29068:6;29028:38;29060:4;29054:11;29028:38;:::i;:::-;29022:4;28978:97;:::i;:::-;29130:4;;29194:2;29183:14;;29211:1;29206:663;;;;29913:1;29930:6;29927:89;;;-1:-1:-1;29982:19:30;;;29976:26;29927:89;-1:-1:-1;;28731:1:30;28727:11;;;28723:24;28719:29;28709:40;28755:1;28751:11;;;28706:57;30029:81;;29176:944;;29206:663;28000:1;27993:14;;;28037:4;28024:18;;-1:-1:-1;;29242:20:30;;;29360:236;29374:7;29371:1;29368:14;29360:236;;;29463:19;;;29457:26;29442:42;;29555:27;;;;29523:1;29511:14;;;;29390:19;;29360:236;;;29364:3;29624:6;29615:7;29612:19;29609:201;;;29685:19;;;29679:26;-1:-1:-1;;29768:1:30;29764:14;;;29780:3;29760:24;29756:37;29752:42;29737:58;29722:74;;29609:201;-1:-1:-1;;;;;29856:1:30;29840:14;;;29836:22;29823:36;;-1:-1:-1;28774:1352:30:o;30384:329::-;30586:2;30568:21;;;30625:1;30605:18;;;30598:29;-1:-1:-1;;;30658:2:30;30643:18;;30636:36;30704:2;30689:18;;30384:329::o;32334:127::-;32395:10;32390:3;32386:20;32383:1;32376:31;32426:4;32423:1;32416:15;32450:4;32447:1;32440:15;32800:329;33002:2;32984:21;;;33041:1;33021:18;;;33014:29;-1:-1:-1;;;33074:2:30;33059:18;;33052:36;33120:2;33105:18;;32800:329::o;33134:394::-;33374:1;33370;33365:3;33361:11;33357:19;33349:6;33345:32;33334:9;33327:51;33414:6;33409:2;33398:9;33394:18;33387:34;33457:2;33452;33441:9;33437:18;33430:30;33308:4;33477:45;33518:2;33507:9;33503:18;33495:6;33477:45;:::i;33533:245::-;33600:6;33653:2;33641:9;33632:7;33628:23;33624:32;33621:52;;;33669:1;33666;33659:12;33621:52;33701:9;33695:16;33720:28;33742:5;33720:28;:::i;33783:329::-;33985:2;33967:21;;;34024:1;34004:18;;;33997:29;-1:-1:-1;;;34057:2:30;34042:18;;34035:36;34103:2;34088:18;;33783:329::o;36455:345::-;-1:-1:-1;;;;;36675:32:30;;;;36657:51;;36739:2;36724:18;;36717:34;;;;36782:2;36767:18;;36760:34;36645:2;36630:18;;36455:345::o;37169:2269::-;37284:12;;-1:-1:-1;;;;;;37122:35:30;37110:48;;37222:3;37250:6;37348:4;37341:5;37337:16;37331:23;37363:48;37405:4;37400:3;37396:14;37382:12;37363:48;:::i;:::-;;37459:4;37452:5;37448:16;37442:23;37474:50;37518:4;37513:3;37509:14;37493;37474:50;:::i;:::-;;37572:4;37565:5;37561:16;37555:23;37610:2;37603:4;37598:3;37594:14;37587:26;37634:47;37677:2;37672:3;37668:12;37652:14;37634:47;:::i;:::-;37622:59;;;37729:4;37722:5;37718:16;37712:23;37744:50;37788:4;37783:3;37779:14;37763;37744:50;:::i;:::-;;37842:4;37835:5;37831:16;37825:23;37890:3;37884:4;37880:14;37873:4;37868:3;37864:14;37857:38;37918:39;37952:4;37936:14;37918:39;:::i;:::-;37904:53;;;38006:4;37999:5;37995:16;37989:23;37982:4;37977:3;37973:14;37966:47;38062:4;38055:5;38051:16;38045:23;38038:4;38033:3;38029:14;38022:47;38088:6;38142:2;38135:5;38131:14;38125:21;38155:48;38199:2;38194:3;38190:12;38174:14;38155:48;:::i;:::-;;;38222:6;38276:2;38269:5;38265:14;38259:21;38322:3;38314:6;38310:16;38305:2;38300:3;38296:12;38289:38;38350:41;38384:6;38368:14;38350:41;:::i;:::-;38336:55;;;;38410:6;38464:2;38457:5;38453:14;38447:21;38477:47;38520:2;38515:3;38511:12;38495:14;20019:10;20008:22;19996:35;;19943:94;38477:47;;;38543:6;38597:2;38590:5;38586:14;38580:21;38610:46;38652:2;38647:3;38643:12;38627:14;19922:1;19911:20;19899:33;;19847:91;38610:46;-1:-1:-1;;38675:6:30;38717:14;;;38711:21;38697:12;;;38690:43;38752:6;38795:14;;;38789:21;20019:10;20008:22;;;38853:12;;;19996:35;;;;38885:6;38929:14;;;38923:21;20008:22;;38988:12;;;19996:35;39020:6;39064:14;;;39058:21;20008:22;;;39123:12;;;19996:35;39156:6;39200:15;;;39194:22;17183:6;17172:18;39260:13;;;17160:31;39294:6;39338:15;;;39332:22;8716:13;;8709:21;39396:13;;;8697:34;39363:47;8646:91;39443:346;39664:2;39653:9;39646:21;39627:4;39684:56;39736:2;39725:9;39721:18;39713:6;39684:56;:::i;:::-;39676:64;;39776:6;39771:2;39760:9;39756:18;39749:34;39443:346;;;;;:::o;39794:435::-;-1:-1:-1;;;;;40045:32:30;;;;40027:51;;40109:2;40094:18;;40087:34;;;;40164:14;40157:22;40152:2;40137:18;;40130:50;40211:2;40196:18;;40189:34;40014:3;39999:19;;39794:435::o;40526:531::-;40790:10;40782:6;40778:23;40767:9;40760:42;40838:6;40833:2;40822:9;40818:18;40811:34;40881:3;40876:2;40865:9;40861:18;40854:31;40741:4;40902:46;40943:3;40932:9;40928:19;40920:6;40902:46;:::i;:::-;40991:14;;40984:22;40979:2;40964:18;;40957:50;-1:-1:-1;41038:3:30;41023:19;41016:35;40894:54;40526:531;-1:-1:-1;;;40526:531:30:o;43066:329::-;43268:2;43250:21;;;43307:1;43287:18;;;43280:29;-1:-1:-1;;;43340:2:30;43325:18;;43318:36;43386:2;43371:18;;43066:329::o;44755:::-;44957:2;44939:21;;;44996:1;44976:18;;;44969:29;-1:-1:-1;;;45029:2:30;45014:18;;45007:36;45075:2;45060:18;;44755:329::o;46370:656::-;46631:6;46626:3;46619:19;46601:3;46667:6;46661:13;46683:73;46749:6;46744:2;46739:3;46735:12;46730:2;46722:6;46718:15;46683:73;:::i;:::-;46784:6;46779:3;46775:16;46765:26;;46852:1;46848;46844:2;46840:10;46836:18;46832:23;46824:6;46820:36;46815:2;46811;46807:11;46800:57;46888:6;46882:13;46904:74;46969:8;46964:2;46960;46956:11;46951:2;46943:6;46939:15;46904:74;:::i;:::-;46998:17;47017:2;46994:26;;46370:656;-1:-1:-1;;;;;;46370:656:30:o;47031:441::-;47084:5;47137:3;47130:4;47122:6;47118:17;47114:27;47104:55;;47155:1;47152;47145:12;47104:55;47184:6;47178:13;47215:48;47231:31;47259:2;47231:31;:::i;47215:48::-;47288:2;47279:7;47272:19;47334:3;47327:4;47322:2;47314:6;47310:15;47306:26;47303:35;47300:55;;;47351:1;47348;47341:12;47300:55;47364:77;47438:2;47431:4;47422:7;47418:18;47411:4;47403:6;47399:17;47364:77;:::i;47477:335::-;47556:6;47609:2;47597:9;47588:7;47584:23;47580:32;47577:52;;;47625:1;47622;47615:12;47577:52;47652:16;;-1:-1:-1;;;;;47680:30:30;;47677:50;;;47723:1;47720;47713:12;47677:50;47746:60;47798:7;47789:6;47778:9;47774:22;47746:60;:::i;47817:608::-;-1:-1:-1;;;48179:3:30;48172:16;48217:6;48213:1;48208:3;48204:11;48197:27;-1:-1:-1;;;48249:2:30;48244:3;48240:12;48233:25;48154:3;48287:6;48281:13;48303:75;48371:6;48366:2;48361:3;48357:12;48350:4;48342:6;48338:17;48303:75;:::i;:::-;48398:16;;;;48416:2;48394:25;;47817:608;-1:-1:-1;;;47817:608:30:o;48430:468::-;48653:2;48642:9;48635:21;48616:4;48679:45;48720:2;48709:9;48705:18;48697:6;48679:45;:::i;:::-;48772:9;48764:6;48760:22;48755:2;48744:9;48740:18;48733:50;48800:33;48826:6;48818;48800:33;:::i;:::-;48792:41;;;48883:6;48876:14;48869:22;48864:2;48853:9;48849:18;48842:50;48430:468;;;;;;:::o;49571:172::-;49638:10;49668;;;49680;;;49664:27;;49703:11;;;49700:37;;;49717:18;;:::i;:::-;49700:37;49571:172;;;;:::o;50416:226::-;50571:2;50560:9;50553:21;50534:4;50591:45;50632:2;50621:9;50617:18;50609:6;50591:45;:::i;50647:2007::-;50771:6;50802:2;50845;50833:9;50824:7;50820:23;50816:32;50813:52;;;50861:1;50858;50851:12;50813:52;50888:16;;-1:-1:-1;;;;;50953:14:30;;;50950:34;;;50980:1;50977;50970:12;50950:34;51018:6;51007:9;51003:22;50993:32;;51063:7;51056:4;51052:2;51048:13;51044:27;51034:55;;51085:1;51082;51075:12;51034:55;51114:2;51108:9;51137:60;51153:43;51193:2;51153:43;:::i;51137:60::-;51231:15;;;51313:1;51309:10;;;;51301:19;;51297:28;;;51262:12;;;;51337:19;;;51334:39;;;51369:1;51366;51359:12;51334:39;51401:2;51397;51393:11;51413:1211;51429:6;51424:3;51421:15;51413:1211;;;51508:3;51502:10;51544:2;51531:11;51528:19;51525:109;;;51588:1;51617:2;51613;51606:14;51525:109;51657:20;;51700:4;51728:16;;;-1:-1:-1;;51724:30:30;51720:39;-1:-1:-1;51717:129:30;;;51800:1;51829:2;51825;51818:14;51717:129;51872:22;;:::i;:::-;51936:2;51932;51928:11;51922:18;51988:2;51979:7;51975:16;51966:7;51963:29;51953:127;;52034:1;52063:2;52059;52052:14;51953:127;52093:22;;52139:2;52176:12;;;52170:19;52205:16;;;52202:109;;;52263:1;52293:3;52288;52281:16;52202:109;52347:64;52403:7;52398:2;52387:8;52383:2;52379:17;52375:26;52347:64;:::i;:::-;52331:14;;;52324:88;-1:-1:-1;52436:2:30;52481:12;;;52475:19;52458:15;;;52451:44;;;;52538:11;;;;52532:18;52515:15;;;52508:43;52564:18;;52602:12;;;;51446;;51413:1211;;;-1:-1:-1;52643:5:30;50647:2007;-1:-1:-1;;;;;;;;50647:2007:30:o;52659:184::-;52729:6;52782:2;52770:9;52761:7;52757:23;52753:32;52750:52;;;52798:1;52795;52788:12;52750:52;-1:-1:-1;52821:16:30;;52659:184;-1:-1:-1;52659:184:30:o;53516:848::-;53742:4;53790:3;53779:9;53775:19;53821:6;53810:9;53803:25;53847:2;53885:6;53880:2;53869:9;53865:18;53858:34;53928:6;53923:2;53912:9;53908:18;53901:34;53971:3;53966:2;53955:9;53951:18;53944:31;53995:6;54030;54024:13;54061:6;54053;54046:22;54099:3;54088:9;54084:19;54077:26;;54138:2;54130:6;54126:15;54112:29;;54159:1;54169:169;54183:6;54180:1;54177:13;54169:169;;;54244:13;;54232:26;;54313:15;;;;54278:12;;;;54205:1;54198:9;54169:169;;;-1:-1:-1;54355:3:30;;53516:848;-1:-1:-1;;;;;;;;;53516:848:30:o;54891:257::-;-1:-1:-1;;;;;55012:10:30;;;55024;;;55008:27;55055:20;;;;54962:18;55094:24;;;55084:58;;55122:18;;:::i;:::-;55084:58;;54891:257;;;;:::o;55487:307::-;55664:2;55653:9;55646:21;55627:4;55684:45;55725:2;55714:9;55710:18;55702:6;55684:45;:::i;:::-;55676:53;;55779:6;55772:14;55765:22;55760:2;55749:9;55745:18;55738:50;55487:307;;;;;:::o;55799:840::-;55925:3;55954:1;55987:6;55981:13;56017:36;56043:9;56017:36;:::i;:::-;56072:1;56089:18;;;56116:133;;;;56263:1;56258:356;;;;56082:532;;56116:133;-1:-1:-1;;56149:24:30;;56137:37;;56222:14;;56215:22;56203:35;;56194:45;;;-1:-1:-1;56116:133:30;;56258:356;56289:6;56286:1;56279:17;56319:4;56364:2;56361:1;56351:16;56389:1;56403:165;56417:6;56414:1;56411:13;56403:165;;;56495:14;;56482:11;;;56475:35;56538:16;;;;56432:10;;56403:165;;;56407:3;;;56597:6;56592:3;56588:16;56581:23;;56082:532;-1:-1:-1;56630:3:30;;55799:840;-1:-1:-1;;;;;;55799:840:30:o;59389:180::-;-1:-1:-1;;;;;59494:10:30;;;59506;;;59490:27;;59529:11;;;59526:37;;;59543:18;;:::i;59908:275::-;60101:2;60090:9;60083:21;60064:4;60121:56;60173:2;60162:9;60158:18;60150:6;60121:56;:::i;65005:1063::-;65375:4;65404:3;65434:2;65423:9;65416:21;65460:45;65501:2;65490:9;65486:18;65478:6;65460:45;:::i;:::-;65446:59;;65541:6;65536:2;65525:9;65521:18;65514:34;65596:9;65588:6;65584:22;65579:2;65568:9;65564:18;65557:50;65630:33;65656:6;65648;65630:33;:::i;:::-;65616:47;;65699:6;65694:2;65683:9;65679:18;65672:34;65755:9;65747:6;65743:22;65737:3;65726:9;65722:19;65715:51;65789:33;65815:6;65807;65789:33;:::i;:::-;-1:-1:-1;;;;;65859:32:30;;65879:3;65838:19;;65831:61;65929:22;;;65923:3;65908:19;;65901:51;65775:47;-1:-1:-1;65969:33:30;65775:47;65987:6;65969:33;:::i;:::-;65961:41;;;66053:6;66046:14;66039:22;66033:3;66022:9;66018:19;66011:51;65005:1063;;;;;;;;;;;:::o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.18;\npragma experimental ABIEncoderV2;\n\nimport \"./Bridge.sol\";\nimport \"./Quotes.sol\";\nimport \"./SignatureValidator.sol\";\nimport \"@rsksmart/btc-transaction-solidity-helper/contracts/BtcUtils.sol\";\nimport \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol\";\n\n/**\n @title Contract that assists with the Flyover protocol\n */\n\ncontract LiquidityBridgeContract is Initializable, OwnableUpgradeable, ReentrancyGuardUpgradeable {\n uint16 constant public MAX_CALL_GAS_COST = 35000;\n uint16 constant public MAX_REFUND_GAS_LIMIT = 2300;\n\n uint8 constant public UNPROCESSED_QUOTE_CODE = 0;\n uint8 constant public CALL_DONE_CODE = 1;\n uint8 constant public PROCESSED_QUOTE_CODE = 2;\n\n int16 constant public BRIDGE_REFUNDED_USER_ERROR_CODE = - 100;\n int16 constant public BRIDGE_REFUNDED_LP_ERROR_CODE = - 200;\n int16 constant public BRIDGE_UNPROCESSABLE_TX_NOT_CONTRACT_ERROR_CODE = - 300;\n int16 constant public BRIDGE_UNPROCESSABLE_TX_INVALID_SENDER_ERROR_CODE = - 301;\n int16 constant public BRIDGE_UNPROCESSABLE_TX_ALREADY_PROCESSED_ERROR_CODE = - 302;\n int16 constant public BRIDGE_UNPROCESSABLE_TX_VALIDATIONS_ERROR = - 303;\n int16 constant public BRIDGE_UNPROCESSABLE_TX_VALUE_ZERO_ERROR = - 304;\n int16 constant public BRIDGE_UNPROCESSABLE_TX_UTXO_AMOUNT_SENT_BELOW_MINIMUM_ERROR =\n - 305;\n int16 constant public BRIDGE_GENERIC_ERROR = - 900;\n uint constant public MAX_UINT = 2 ** 256 - 1;\n uint constant public PAY_TO_ADDRESS_OUTPUT = 0;\n uint constant public QUOTE_HASH_OUTPUT = 1;\n\n struct Registry {\n uint32 timestamp;\n bool success;\n }\n\n struct PegoutRecord {\n uint256 depositTimestamp;\n bool completed;\n }\n\n struct LiquidityProvider {\n uint id;\n address provider;\n string name;\n string apiBaseUrl;\n bool status;\n string providerType;\n }\n\n event Register(uint id, address indexed from, uint256 amount);\n event Deposit(address from, uint256 amount);\n event CollateralIncrease(address from, uint256 amount);\n event PegoutCollateralIncrease(address from, uint256 amount);\n event Withdrawal(address from, uint256 amount);\n event WithdrawCollateral(address from, uint256 amount);\n event PegoutWithdrawCollateral(address from, uint256 amount);\n event Resigned(address from);\n event CallForUser(\n address indexed from,\n address indexed dest,\n uint gasLimit,\n uint value,\n bytes data,\n bool success,\n bytes32 quoteHash\n );\n event PegInRegistered(bytes32 indexed quoteHash, int256 transferredAmount);\n event Penalized(address liquidityProvider, uint penalty, bytes32 quoteHash);\n event BridgeCapExceeded(bytes32 quoteHash, int256 errorCode);\n event BalanceIncrease(address dest, uint amount);\n event BalanceDecrease(address dest, uint amount);\n event Refund(address dest, uint amount, bool success, bytes32 quoteHash);\n event PegOut(\n address from,\n uint256 amount,\n bytes32 quotehash,\n uint processed\n );\n event PegOutRefunded(bytes32 indexed quoteHash);\n event PegOutDeposit(\n bytes32 indexed quoteHash,\n address indexed sender,\n uint256 amount,\n uint256 timestamp\n );\n event PegOutUserRefunded(\n bytes32 indexed quoteHash,\n uint256 value,\n address userAddress\n );\n\n Bridge public bridge;\n mapping(address => uint256) private balances;\n mapping(address => uint256) private collateral;\n mapping(address => uint256) private pegoutCollateral;\n mapping(uint => LiquidityProvider) private liquidityProviders;\n mapping(bytes32 => Registry) private callRegistry;\n mapping(address => uint256) private resignationBlockNum;\n\n uint256 private minCollateral;\n uint256 private minPegIn;\n\n uint32 private rewardP;\n uint32 private resignDelayInBlocks;\n uint private dust;\n uint public providerId;\n\n uint private btcBlockTime;\n bool private mainnet;\n\n mapping(bytes32 => uint8) private processedQuotes;\n mapping(bytes32 => Quotes.PegOutQuote) private registeredPegoutQuotes;\n mapping(bytes32 => PegoutRecord) private pegoutRegistry;\n\n modifier onlyRegistered() {\n require(isRegistered(msg.sender), \"LBC001\");\n _;\n }\n\n modifier onlyRegisteredForPegout() {\n require(isRegisteredForPegout(msg.sender), \"LBC001\");\n _;\n }\n\n modifier onlyEoa() {\n require(tx.origin == msg.sender, \"LBC003\");\n _;\n }\n\n /**\n @param _bridgeAddress The address of the bridge contract\n @param _minimumCollateral The minimum required collateral for liquidity providers\n @param _minimumPegIn The minimum peg-in amount\n @param _rewardPercentage The percentage of the penalty fee that an honest party\n // receives when calling registerPegIn in case of a liquidity provider misbehaving\n @param _resignDelayBlocks The number of block confirmations that a liquidity\n // provider needs to wait before it can withdraw its collateral\n @param _dustThreshold Amount that is considered dust\n */\n function initialize(\n address payable _bridgeAddress,\n uint256 _minimumCollateral,\n uint256 _minimumPegIn,\n uint32 _rewardPercentage,\n uint32 _resignDelayBlocks,\n uint _dustThreshold,\n uint _btcBlockTime,\n bool _mainnet\n ) public initializer {\n require(_rewardPercentage <= 100, \"LBC004\");\n require(_minimumCollateral >= 0.03 ether, \"LBC072\");\n require(_resignDelayBlocks >= 60, \"LBC073\");\n __Ownable_init_unchained();\n bridge = Bridge(_bridgeAddress);\n minCollateral = _minimumCollateral;\n minPegIn = _minimumPegIn;\n rewardP = _rewardPercentage;\n resignDelayInBlocks = _resignDelayBlocks;\n dust = _dustThreshold;\n btcBlockTime = _btcBlockTime;\n mainnet = _mainnet;\n }\n\n modifier onlyOwnerAndProvider(uint _providerId) {\n require(\n msg.sender == owner() ||\n msg.sender == liquidityProviders[_providerId].provider,\n \"LBC005\"\n );\n _;\n }\n\n function setProviderStatus(\n uint _providerId,\n bool status\n ) public onlyOwnerAndProvider(_providerId) {\n liquidityProviders[_providerId].status = status;\n }\n\n receive() external payable {\n require(msg.sender == address(bridge), \"LBC007\");\n }\n\n function getProviderIds() external view returns (uint) {\n return providerId;\n }\n\n function getBridgeAddress() external view returns (address) {\n return address(bridge);\n }\n\n function getMinCollateral() public view returns (uint) {\n return minCollateral;\n }\n\n function getMinPegIn() external view returns (uint) {\n return minPegIn;\n }\n\n function getRewardPercentage() external view returns (uint) {\n return rewardP;\n }\n\n function getResignDelayBlocks() external view returns (uint) {\n return resignDelayInBlocks;\n }\n\n function getDustThreshold() external view returns (uint) {\n return dust;\n }\n\n function getRegisteredPegOutQuote(\n bytes32 quoteHash\n ) external view returns (Quotes.PegOutQuote memory) {\n return registeredPegoutQuotes[quoteHash];\n }\n\n function isPegOutQuoteCompleted(bytes32 quoteHash) external view returns (bool) {\n return pegoutRegistry[quoteHash].completed;\n }\n\n /**\n @dev Checks whether a liquidity provider can deliver a pegin service\n @return Whether the liquidity provider is registered and has enough locked collateral\n */\n function isOperational(address addr) external view returns (bool) {\n return isRegistered(addr) && collateral[addr] >= minCollateral;\n }\n\n /**\n @dev Checks whether a liquidity provider can deliver a pegout service\n @return Whether the liquidity provider is registered and has enough locked collateral\n */\n function isOperationalForPegout(address addr) external view returns (bool) {\n return\n isRegisteredForPegout(addr) &&\n pegoutCollateral[addr] >= minCollateral;\n }\n\n /**\n @dev Registers msg.sender as a liquidity provider with msg.value as collateral\n */\n function register(\n string memory _name,\n string memory _apiBaseUrl,\n bool _status,\n string memory _providerType\n ) external payable onlyEoa returns (uint) {\n //require(collateral[msg.sender] == 0, \"Already registered\");\n validateRegisterParameters(\n _name,\n _apiBaseUrl,\n _providerType\n );\n\n require(collateral[msg.sender] == 0 && pegoutCollateral[msg.sender] == 0, \"LBC070\");\n require(\n resignationBlockNum[msg.sender] == 0,\n \"LBC009\"\n );\n\n if (keccak256(abi.encodePacked(_providerType)) == keccak256(abi.encodePacked(\"pegin\"))) {\n require(msg.value >= minCollateral, \"LBC008\");\n collateral[msg.sender] = msg.value;\n } else if (keccak256(abi.encodePacked(_providerType)) == keccak256(abi.encodePacked(\"pegout\"))) {\n require(msg.value >= minCollateral, \"LBC008\");\n pegoutCollateral[msg.sender] = msg.value;\n } else {\n require(msg.value >= minCollateral * 2, \"LBC008\");\n uint halfMsgValue = msg.value / 2;\n collateral[msg.sender] = msg.value % 2 == 0 ? halfMsgValue : halfMsgValue + 1;\n pegoutCollateral[msg.sender] = halfMsgValue;\n }\n\n providerId++;\n liquidityProviders[providerId] = LiquidityProvider({\n id: providerId,\n provider: msg.sender,\n name: _name,\n apiBaseUrl: _apiBaseUrl,\n status: _status,\n providerType: _providerType\n });\n emit Register(providerId, msg.sender, msg.value);\n return (providerId);\n }\n\n /**\n @dev Validates input parameters for the register function\n */\n function validateRegisterParameters(\n string memory _name,\n string memory _apiBaseUrl,\n string memory _providerType\n ) internal pure {\n require(bytes(_name).length > 0, \"LBC010\");\n require(\n bytes(_apiBaseUrl).length > 0,\n \"LBC017\"\n );\n\n // Check if _providerType is one of the valid strings\n require(\n keccak256(abi.encodePacked(_providerType)) ==\n keccak256(abi.encodePacked(\"pegin\")) ||\n keccak256(abi.encodePacked(_providerType)) ==\n keccak256(abi.encodePacked(\"pegout\")) ||\n keccak256(abi.encodePacked(_providerType)) ==\n keccak256(abi.encodePacked(\"both\")),\n \"LBC018\"\n );\n }\n\n function getProviders(\n uint[] memory providerIds\n ) external view returns (LiquidityProvider[] memory) {\n LiquidityProvider[] memory providersToReturn = new LiquidityProvider[](\n providerIds.length\n );\n uint count = 0;\n\n for (uint i = 0; i < providerIds.length; i++) {\n uint id = providerIds[i];\n if (\n (isRegistered(liquidityProviders[id].provider) ||\n isRegisteredForPegout(liquidityProviders[id].provider)) &&\n liquidityProviders[id].status\n ) {\n providersToReturn[count] = liquidityProviders[id];\n count++;\n }\n }\n return providersToReturn;\n }\n\n /**\n @dev Increases the amount of collateral of the sender\n */\n function addCollateral() external payable onlyRegistered {\n collateral[msg.sender] += msg.value;\n emit CollateralIncrease(msg.sender, msg.value);\n }\n\n function addPegoutCollateral() external payable onlyRegisteredForPegout {\n pegoutCollateral[msg.sender] += msg.value;\n emit PegoutCollateralIncrease(msg.sender, msg.value);\n }\n\n /**\n @dev Increases the balance of the sender\n */\n function deposit() external payable onlyRegistered {\n increaseBalance(msg.sender, msg.value);\n }\n\n /**\n @dev Used to withdraw funds\n @param amount The amount to withdraw\n */\n function withdraw(uint256 amount) external {\n require(balances[msg.sender] >= amount, \"LBC019\");\n balances[msg.sender] -= amount;\n (bool success,) = msg.sender.call{value: amount}(\"\");\n require(success, \"LBC020\");\n emit Withdrawal(msg.sender, amount);\n }\n\n /**\n @dev Used to withdraw the locked collateral\n */\n function withdrawCollateral() external {\n require(resignationBlockNum[msg.sender] > 0, \"LBC021\");\n require(\n block.number - resignationBlockNum[msg.sender] >=\n resignDelayInBlocks,\n \"LBC022\"\n );\n uint amount = collateral[msg.sender];\n collateral[msg.sender] = 0;\n resignationBlockNum[msg.sender] = 0;\n (bool success,) = msg.sender.call{value: amount}(\"\");\n require(success, \"LBC020\");\n emit WithdrawCollateral(msg.sender, amount);\n }\n\n function withdrawPegoutCollateral() external {\n require(resignationBlockNum[msg.sender] > 0, \"LBC021\");\n require(\n block.number - resignationBlockNum[msg.sender] >=\n resignDelayInBlocks,\n \"LBC022\"\n );\n uint amount = pegoutCollateral[msg.sender];\n pegoutCollateral[msg.sender] = 0;\n resignationBlockNum[msg.sender] = 0;\n (bool success,) = msg.sender.call{value: amount}(\"\");\n require(success, \"LBC020\");\n emit PegoutWithdrawCollateral(msg.sender, amount);\n }\n\n /**\n @dev Used to resign as a liquidity provider\n */\n function resign() external onlyRegistered {\n require(resignationBlockNum[msg.sender] == 0, \"LBC023\");\n resignationBlockNum[msg.sender] = block.number;\n emit Resigned(msg.sender);\n }\n\n /**\n @dev Returns the amount of collateral of a liquidity provider\n @param addr The address of the liquidity provider\n @return The amount of locked collateral\n */\n function getCollateral(address addr) external view returns (uint256) {\n return collateral[addr];\n }\n\n function getPegoutCollateral(address addr) external view returns (uint256) {\n return pegoutCollateral[addr];\n }\n\n /**\n @dev Returns the amount of funds of a liquidity provider\n @param addr The address of the liquidity provider\n @return The balance of the liquidity provider\n */\n function getBalance(address addr) external view returns (uint256) {\n return balances[addr];\n }\n\n /**\n @dev Performs a call on behalf of a user\n @param quote The quote that identifies the service\n @return Boolean indicating whether the call was successful\n */\n function callForUser(\n Quotes.PeginQuote memory quote\n ) external payable onlyRegistered nonReentrant returns (bool) {\n require(\n msg.sender == quote.liquidityProviderRskAddress,\n \"LBC024\"\n );\n require(\n balances[quote.liquidityProviderRskAddress] + msg.value >=\n quote.value,\n \"LBC019\"\n );\n\n bytes32 quoteHash = validateAndHashQuote(quote);\n require(\n processedQuotes[quoteHash] == UNPROCESSED_QUOTE_CODE,\n \"LBC025\"\n );\n\n increaseBalance(quote.liquidityProviderRskAddress, msg.value);\n\n // This check ensures that the call cannot be performed with less gas than the agreed amount\n require(\n gasleft() >= quote.gasLimit + MAX_CALL_GAS_COST,\n \"LBC026\"\n );\n (bool success,) = quote.contractAddress.call{\n gas: quote.gasLimit,\n value: quote.value\n }(quote.data);\n\n require(block.timestamp <= type(uint32).max, \"LBC027\");\n callRegistry[quoteHash].timestamp = uint32(block.timestamp);\n\n if (success) {\n callRegistry[quoteHash].success = true;\n decreaseBalance(quote.liquidityProviderRskAddress, quote.value);\n }\n emit CallForUser(\n msg.sender,\n quote.contractAddress,\n quote.gasLimit,\n quote.value,\n quote.data,\n success,\n quoteHash\n );\n processedQuotes[quoteHash] = CALL_DONE_CODE;\n return success;\n }\n\n /**\n @dev Registers a peg-in transaction with the bridge and pays to the involved parties\n @param quote The quote of the service\n @param signature The signature of the quote\n @param btcRawTransaction The peg-in transaction\n @param partialMerkleTree The merkle tree path that proves transaction inclusion\n @param height The block that contains the peg-in transaction\n @return The total peg-in amount received from the bridge contract or an error code\n */\n function registerPegIn(\n Quotes.PeginQuote memory quote,\n bytes memory signature,\n bytes memory btcRawTransaction,\n bytes memory partialMerkleTree,\n uint256 height\n ) public nonReentrant returns (int256) {\n bytes32 quoteHash = validateAndHashQuote(quote);\n\n // TODO: allow multiple registerPegIns for the same quote with different transactions\n require(\n processedQuotes[quoteHash] <= CALL_DONE_CODE,\n \"LBC028\"\n );\n require(\n SignatureValidator.verify(\n quote.liquidityProviderRskAddress,\n quoteHash,\n signature\n ),\n \"LBC029\"\n );\n require(height < uint256(int256(type(int32).max)), \"LBC030\");\n\n int256 transferredAmountOrErrorCode = registerBridge(\n quote,\n btcRawTransaction,\n partialMerkleTree,\n height,\n quoteHash\n );\n\n require(\n transferredAmountOrErrorCode !=\n BRIDGE_UNPROCESSABLE_TX_VALIDATIONS_ERROR,\n \"LBC031\"\n );\n require(\n transferredAmountOrErrorCode !=\n BRIDGE_UNPROCESSABLE_TX_ALREADY_PROCESSED_ERROR_CODE,\n \"LBC032\"\n );\n require(\n transferredAmountOrErrorCode !=\n BRIDGE_UNPROCESSABLE_TX_VALUE_ZERO_ERROR,\n \"LBC033\"\n );\n require(\n transferredAmountOrErrorCode !=\n BRIDGE_UNPROCESSABLE_TX_UTXO_AMOUNT_SENT_BELOW_MINIMUM_ERROR,\n \"LBC034\"\n );\n require(\n transferredAmountOrErrorCode != BRIDGE_GENERIC_ERROR,\n \"LBC035\"\n );\n require(\n transferredAmountOrErrorCode > 0 ||\n transferredAmountOrErrorCode == BRIDGE_REFUNDED_LP_ERROR_CODE ||\n transferredAmountOrErrorCode == BRIDGE_REFUNDED_USER_ERROR_CODE,\n \"LBC036\"\n );\n\n if (\n shouldPenalizeLP(\n quote,\n transferredAmountOrErrorCode,\n callRegistry[quoteHash].timestamp,\n height\n )\n ) {\n uint penalizationAmount = min(\n quote.penaltyFee,\n collateral[quote.liquidityProviderRskAddress]\n ); // prevent underflow when collateral is less than penalty fee.\n collateral[quote.liquidityProviderRskAddress] -= penalizationAmount;\n emit Penalized(\n quote.liquidityProviderRskAddress,\n penalizationAmount,\n quoteHash\n );\n\n // pay reward to sender\n uint256 punisherReward = (penalizationAmount * rewardP) / 100;\n increaseBalance(msg.sender, punisherReward);\n }\n\n if (\n transferredAmountOrErrorCode == BRIDGE_REFUNDED_LP_ERROR_CODE ||\n transferredAmountOrErrorCode == BRIDGE_REFUNDED_USER_ERROR_CODE\n ) {\n // Bridge cap exceeded\n processedQuotes[quoteHash] = PROCESSED_QUOTE_CODE;\n delete callRegistry[quoteHash];\n emit BridgeCapExceeded(quoteHash, transferredAmountOrErrorCode);\n return transferredAmountOrErrorCode;\n }\n\n // the amount is safely assumed positive because it's already been\n // validated in lines 287/298 there's no (negative) error code being returned by the bridge.\n uint transferredAmount = uint(transferredAmountOrErrorCode);\n\n Quotes.checkAgreedAmount(quote, transferredAmount);\n\n if (callRegistry[quoteHash].timestamp > 0) {\n uint refundAmount;\n\n if (callRegistry[quoteHash].success) {\n refundAmount = min(\n transferredAmount,\n quote.value + quote.callFee\n );\n } else {\n refundAmount = min(transferredAmount, quote.callFee);\n }\n increaseBalance(quote.liquidityProviderRskAddress, refundAmount);\n uint remainingAmount = transferredAmount - refundAmount;\n\n if (remainingAmount > dust) {\n // refund rskRefundAddress, if remaining amount greater than dust\n (bool success,) = quote.rskRefundAddress.call{\n gas: MAX_REFUND_GAS_LIMIT,\n value: remainingAmount\n }(\"\");\n emit Refund(\n quote.rskRefundAddress,\n remainingAmount,\n success,\n quoteHash\n );\n\n if (!success) {\n // transfer funds to LP instead, if for some reason transfer to rskRefundAddress was unsuccessful\n increaseBalance(\n quote.liquidityProviderRskAddress,\n remainingAmount\n );\n }\n }\n } else {\n uint refundAmount = transferredAmount;\n\n if (quote.callOnRegister && refundAmount >= quote.value) {\n (bool callSuccess,) = quote.contractAddress.call{\n gas: quote.gasLimit,\n value: quote.value\n }(quote.data);\n emit CallForUser(\n msg.sender,\n quote.contractAddress,\n quote.gasLimit,\n quote.value,\n quote.data,\n callSuccess,\n quoteHash\n );\n\n if (callSuccess) {\n refundAmount -= quote.value;\n }\n }\n if (refundAmount > dust) {\n // refund rskRefundAddress, if refund amount greater than dust\n (bool success,) = quote.rskRefundAddress.call{\n gas: MAX_REFUND_GAS_LIMIT,\n value: refundAmount\n }(\"\");\n emit Refund(\n quote.rskRefundAddress,\n refundAmount,\n success,\n quoteHash\n );\n }\n }\n processedQuotes[quoteHash] = PROCESSED_QUOTE_CODE;\n delete callRegistry[quoteHash];\n emit PegInRegistered(quoteHash, transferredAmountOrErrorCode);\n return transferredAmountOrErrorCode;\n }\n\n function depositPegout( // TODO convert to calldata when contract size issues are fixed\n Quotes.PegOutQuote memory quote,\n bytes memory signature\n ) external payable {\n require(isRegisteredForPegout(quote.lpRskAddress), \"LBC037\");\n require(quote.value + quote.callFee <= msg.value, \"LBC063\");\n require(block.timestamp <= quote.depositDateLimit, \"LBC065\");\n require(block.timestamp <= quote.expireDate, \"LBC046\");\n require(block.number <= quote.expireBlock, \"LBC047\");\n bytes32 quoteHash = hashPegoutQuote(quote);\n require(\n SignatureValidator.verify(quote.lpRskAddress, quoteHash, signature),\n \"LBC029\"\n );\n\n Quotes.PegOutQuote storage registeredQuote = registeredPegoutQuotes[quoteHash];\n\n require(pegoutRegistry[quoteHash].completed == false, \"LBC064\");\n require(registeredQuote.lbcAddress == address(0), \"LBC028\");\n registeredPegoutQuotes[quoteHash] = quote;\n pegoutRegistry[quoteHash].depositTimestamp = block.timestamp;\n emit PegOutDeposit(quoteHash, msg.sender, msg.value, block.timestamp);\n }\n\n function refundUserPegOut(\n bytes32 quoteHash\n ) public nonReentrant {\n Quotes.PegOutQuote storage quote = registeredPegoutQuotes[quoteHash];\n\n require(quote.lbcAddress != address(0), \"LBC042\");\n require(\n block.timestamp > quote.expireDate &&\n block.number > quote.expireBlock,\n \"LBC041\"\n );\n\n uint valueToTransfer = quote.value + quote.callFee;\n address addressToTransfer = quote.rskRefundAddress;\n\n uint penalty = min(quote.penaltyFee, pegoutCollateral[quote.lpRskAddress]);\n pegoutCollateral[quote.lpRskAddress] -= penalty;\n\n emit Penalized(quote.lpRskAddress, penalty, quoteHash);\n emit PegOutUserRefunded(\n quoteHash,\n valueToTransfer,\n quote.rskRefundAddress\n );\n\n delete registeredPegoutQuotes[quoteHash];\n pegoutRegistry[quoteHash].completed = true;\n\n (bool sent,) = addressToTransfer.call{value: valueToTransfer}(\"\");\n require(sent, \"LBC044\");\n }\n\n function refundPegOut(\n bytes32 quoteHash,\n bytes memory btcTx,\n bytes32 btcBlockHeaderHash,\n uint256 partialMerkleTree,\n bytes32[] memory merkleBranchHashes\n ) public nonReentrant onlyRegisteredForPegout {\n require(pegoutRegistry[quoteHash].completed == false, \"LBC064\");\n Quotes.PegOutQuote storage quote = registeredPegoutQuotes[quoteHash];\n require(quote.lbcAddress != address(0), \"LBC042\");\n BtcUtils.TxRawOutput[] memory outputs = BtcUtils.getOutputs(btcTx);\n bytes32 txQuoteHash = abi.decode(BtcUtils.parseNullDataScript(outputs[QUOTE_HASH_OUTPUT].pkScript), (bytes32));\n require(quoteHash == txQuoteHash, \"LBC069\");\n require(msg.sender == quote.lpRskAddress, \"LBC048\");\n require(\n bridge.getBtcTransactionConfirmations(\n BtcUtils.hashBtcTx(btcTx),\n btcBlockHeaderHash,\n partialMerkleTree,\n merkleBranchHashes\n ) >= int(uint256(quote.transferConfirmations)),\n \"LBC049\"\n );\n require(quote.value <= outputs[PAY_TO_ADDRESS_OUTPUT].value * (10**10), \"LBC067\"); // satoshi to wei\n bytes memory btcTxDestination = BtcUtils.parsePayToPubKeyHash(outputs[PAY_TO_ADDRESS_OUTPUT]\n .pkScript, mainnet);\n require(keccak256(quote.deposityAddress) == keccak256(btcTxDestination), \"LBC068\");\n\n if (\n shouldPenalizePegOutLP(\n quote,\n txQuoteHash,\n btcBlockHeaderHash\n )\n ) {\n uint penalty = min(\n quote.penaltyFee,\n pegoutCollateral[quote.lpRskAddress]\n );\n pegoutCollateral[quote.lpRskAddress] -= penalty;\n emit Penalized(quote.lpRskAddress, penalty, txQuoteHash);\n }\n\n (bool sent,) = quote.lpRskAddress.call{\n value: quote.value + quote.callFee\n }(\"\");\n require(sent, \"LBC050\");\n\n delete registeredPegoutQuotes[txQuoteHash];\n pegoutRegistry[txQuoteHash].completed = true;\n emit PegOutRefunded(txQuoteHash);\n }\n\n function validatePeginDepositAddress(\n Quotes.PeginQuote memory quote,\n bytes memory depositAddress\n ) external view returns (bool) {\n bytes32 derivationValue = keccak256(\n bytes.concat(\n hashQuote(quote),\n quote.btcRefundAddress,\n bytes20(quote.lbcAddress),\n quote.liquidityProviderBtcAddress\n )\n );\n bytes memory flyoverRedeemScript = bytes.concat(\n hex\"20\",\n derivationValue,\n hex\"75\",\n bridge.getActivePowpegRedeemScript()\n );\n return BtcUtils.validateP2SHAdress(depositAddress, flyoverRedeemScript, mainnet);\n }\n\n /**\n @dev Calculates hash of a quote. Note: besides calculation this function also validates the quote.\n @param quote The quote of the service\n @return The hash of a quote\n */\n function hashQuote(Quotes.PeginQuote memory quote) public view returns (bytes32) {\n return validateAndHashQuote(quote);\n }\n\n function hashPegoutQuote(\n Quotes.PegOutQuote memory quote\n ) public view returns (bytes32) {\n return validateAndHashPegOutQuote(quote);\n }\n\n function validateAndHashQuote(\n Quotes.PeginQuote memory quote\n ) private view returns (bytes32) {\n require(address(this) == quote.lbcAddress, \"LBC051\");\n require(\n address(bridge) != quote.contractAddress,\n \"LBC052\"\n );\n require(\n quote.btcRefundAddress.length == 21 ||\n quote.btcRefundAddress.length == 33,\n \"LBC053\"\n );\n require(\n quote.liquidityProviderBtcAddress.length == 21,\n \"LBC054\"\n );\n require(\n quote.value + quote.callFee >= minPegIn,\n \"LBC055\"\n );\n require(\n type(uint32).max >= uint64(quote.agreementTimestamp) + uint64(quote.timeForDeposit),\n \"LBC071\"\n );\n\n return keccak256(Quotes.encodeQuote(quote));\n }\n\n function validateAndHashPegOutQuote(\n Quotes.PegOutQuote memory quote\n ) private view returns (bytes32) {\n require(address(this) == quote.lbcAddress, \"LBC056\");\n\n return keccak256(Quotes.encodePegOutQuote(quote));\n }\n\n function min(uint a, uint b) private pure returns (uint) {\n return a < b ? a : b;\n }\n\n // IMPORTANT: These methods should remain private at all costs\n function increaseBalance(address dest, uint amount) private {\n balances[dest] += amount;\n emit BalanceIncrease(dest, amount);\n }\n\n function decreaseBalance(address dest, uint amount) private {\n balances[dest] -= amount;\n emit BalanceDecrease(dest, amount);\n }\n\n /**\n @dev Checks if a liquidity provider is registered\n @param addr The address of the liquidity provider\n @return Boolean indicating whether the liquidity provider is registered\n */\n function isRegistered(address addr) private view returns (bool) {\n return collateral[addr] > 0 && resignationBlockNum[addr] == 0;\n }\n\n function isRegisteredForPegout(address addr) private view returns (bool) {\n return pegoutCollateral[addr] > 0 && resignationBlockNum[addr] == 0;\n }\n\n /**\n @dev Registers a transaction with the bridge contract\n @param quote The quote of the service\n @param btcRawTransaction The peg-in transaction\n @param partialMerkleTree The merkle tree path that proves transaction inclusion\n @param height The block that contains the transaction\n @return The total peg-in amount received from the bridge contract or an error code\n */\n function registerBridge(\n Quotes.PeginQuote memory quote,\n bytes memory btcRawTransaction,\n bytes memory partialMerkleTree,\n uint256 height,\n bytes32 derivationHash\n ) private returns (int256) {\n return\n bridge.registerFastBridgeBtcTransaction(\n btcRawTransaction,\n height,\n partialMerkleTree,\n derivationHash,\n quote.btcRefundAddress,\n payable(this),\n quote.liquidityProviderBtcAddress,\n callRegistry[derivationHash].timestamp > 0 && callRegistry[derivationHash].success\n );\n }\n\n /**\n @dev Checks if a liquidity provider should be penalized\n @param quote The quote of the service\n @param amount The transferred amount or an error code\n @param callTimestamp The time that the liquidity provider called callForUser\n @param height The block height where the peg-in transaction is included\n @return Boolean indicating whether the penalty applies\n */\n function shouldPenalizeLP(\n Quotes.PeginQuote memory quote,\n int256 amount,\n uint256 callTimestamp,\n uint256 height\n ) private view returns (bool) {\n // do not penalize if deposit amount is insufficient\n if (amount > 0 && uint256(amount) < quote.value + quote.callFee) {\n return false;\n }\n\n bytes memory firstConfirmationHeader = bridge\n .getBtcBlockchainBlockHeaderByHeight(height);\n require(firstConfirmationHeader.length > 0, \"Invalid block height\");\n\n uint256 firstConfirmationTimestamp = getBtcBlockTimestamp(\n firstConfirmationHeader\n );\n\n // do not penalize if deposit was not made on time\n // prevent overflow when collateral is less than penalty fee.\n uint timeLimit = quote.agreementTimestamp + quote.timeForDeposit;\n if (firstConfirmationTimestamp > timeLimit) {\n return false;\n }\n\n // penalize if call was not made\n if (callTimestamp == 0) {\n return true;\n }\n\n bytes memory nConfirmationsHeader = bridge\n .getBtcBlockchainBlockHeaderByHeight(\n height + quote.depositConfirmations - 1\n );\n require(nConfirmationsHeader.length > 0, \"LBC058\");\n\n uint256 nConfirmationsTimestamp = getBtcBlockTimestamp(\n nConfirmationsHeader\n );\n\n // penalize if the call was not made on time\n if (callTimestamp > nConfirmationsTimestamp + quote.callTime) {\n return true;\n }\n return false;\n }\n\n function shouldPenalizePegOutLP(\n Quotes.PegOutQuote memory quote,\n bytes32 quoteHash,\n bytes32 blockHash\n ) private view returns (bool) {\n bytes memory firstConfirmationHeader = bridge.getBtcBlockchainBlockHeaderByHash(blockHash);\n require(firstConfirmationHeader.length > 0, \"LBC059\");\n\n uint256 firstConfirmationTimestamp = getBtcBlockTimestamp(firstConfirmationHeader);\n\n // penalize if the transfer was not made on time\n if (firstConfirmationTimestamp > pegoutRegistry[quoteHash].depositTimestamp +\n quote.transferTime + btcBlockTime) {\n return true;\n }\n\n // penalize if LP is refunding after expiration\n if (block.timestamp > quote.expireDate || block.number > quote.expireBlock) {\n return true;\n }\n\n return false;\n }\n\n /**\n @dev Gets the timestamp of a Bitcoin block header\n @param header The block header\n @return The timestamp of the block header\n */\n function getBtcBlockTimestamp(\n bytes memory header\n ) public pure returns (uint256) {\n // bitcoin header is 80 bytes and timestamp is 4 bytes from byte 68 to byte 71 (both inclusive)\n require(header.length == 80, \"LBC061\");\n\n return sliceUint32FromLSB(header, 68);\n }\n\n // bytes must have at least 28 bytes before the uint32\n function sliceUint32FromLSB(\n bytes memory bs,\n uint offset\n ) internal pure returns (uint32) {\n require(bs.length >= offset + 4, \"LBC062\");\n\n return\n uint32(uint8(bs[offset])) |\n (uint32(uint8(bs[offset + 1])) << 8) |\n (uint32(uint8(bs[offset + 2])) << 16) |\n (uint32(uint8(bs[offset + 3])) << 24);\n }\n}\n", + "sourcePath": "/Users/luischavez/iov/liquidity-bridge-contract/contracts/LiquidityBridgeContract.sol", + "ast": { + "absolutePath": "project:/contracts/LiquidityBridgeContract.sol", + "exportedSymbols": { + "AddressUpgradeable": [ + 657 + ], + "Bridge": [ + 3208 + ], + "BtcUtils": [ + 2805 + ], + "ContextUpgradeable": [ + 699 + ], + "Initializable": [ + 300 + ], + "LiquidityBridgeContract": [ + 6933 + ], + "OwnableUpgradeable": [ + 131 + ], + "Quotes": [ + 10112 + ], + "ReentrancyGuardUpgradeable": [ + 373 + ], + "SignatureValidator": [ + 10454 + ] + }, + "id": 6934, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4068, + "literals": [ + "solidity", + "^", + "0.8", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "32:24:19" + }, + { + "id": 4069, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "57:33:19" + }, + { + "absolutePath": "project:/contracts/Bridge.sol", + "file": "./Bridge.sol", + "id": 4070, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 6934, + "sourceUnit": 3209, + "src": "92:22:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "project:/contracts/Quotes.sol", + "file": "./Quotes.sol", + "id": 4071, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 6934, + "sourceUnit": 10113, + "src": "115:22:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "project:/contracts/SignatureValidator.sol", + "file": "./SignatureValidator.sol", + "id": 4072, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 6934, + "sourceUnit": 10455, + "src": "138:34:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@rsksmart/btc-transaction-solidity-helper/contracts/BtcUtils.sol", + "file": "@rsksmart/btc-transaction-solidity-helper/contracts/BtcUtils.sol", + "id": 4073, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 6934, + "sourceUnit": 2806, + "src": "173:74:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol", + "file": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol", + "id": 4074, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 6934, + "sourceUnit": 132, + "src": "248:75:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol", + "file": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol", + "id": 4075, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 6934, + "sourceUnit": 374, + "src": "324:85:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 4077, + "name": "Initializable", + "nameLocations": [ + "515:13:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 300, + "src": "515:13:19" + }, + "id": 4078, + "nodeType": "InheritanceSpecifier", + "src": "515:13:19" + }, + { + "baseName": { + "id": 4079, + "name": "OwnableUpgradeable", + "nameLocations": [ + "530:18:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 131, + "src": "530:18:19" + }, + "id": 4080, + "nodeType": "InheritanceSpecifier", + "src": "530:18:19" + }, + { + "baseName": { + "id": 4081, + "name": "ReentrancyGuardUpgradeable", + "nameLocations": [ + "550:26:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 373, + "src": "550:26:19" + }, + "id": 4082, + "nodeType": "InheritanceSpecifier", + "src": "550:26:19" + } + ], + "canonicalName": "LiquidityBridgeContract", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 4076, + "nodeType": "StructuredDocumentation", + "src": "411:66:19", + "text": "@title Contract that assists with the Flyover protocol" + }, + "fullyImplemented": true, + "id": 6933, + "linearizedBaseContracts": [ + 6933, + 373, + 131, + 699, + 300 + ], + "name": "LiquidityBridgeContract", + "nameLocation": "488:23:19", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "functionSelector": "9d79b59b", + "id": 4085, + "mutability": "constant", + "name": "MAX_CALL_GAS_COST", + "nameLocation": "606:17:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "583:48:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 4083, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "583:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": { + "hexValue": "3335303030", + "id": 4084, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "626:5:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_35000_by_1", + "typeString": "int_const 35000" + }, + "value": "35000" + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "e1de16c6", + "id": 4088, + "mutability": "constant", + "name": "MAX_REFUND_GAS_LIMIT", + "nameLocation": "660:20:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "637:50:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 4086, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "637:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": { + "hexValue": "32333030", + "id": 4087, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "683:4:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_2300_by_1", + "typeString": "int_const 2300" + }, + "value": "2300" + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "9cd6557f", + "id": 4091, + "mutability": "constant", + "name": "UNPROCESSED_QUOTE_CODE", + "nameLocation": "716:22:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "694:48:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 4089, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "694:5:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "30", + "id": 4090, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "741:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "04ade855", + "id": 4094, + "mutability": "constant", + "name": "CALL_DONE_CODE", + "nameLocation": "770:14:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "748:40:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 4092, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "748:5:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "31", + "id": 4093, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "787:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "0a7bf57a", + "id": 4097, + "mutability": "constant", + "name": "PROCESSED_QUOTE_CODE", + "nameLocation": "816:20:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "794:46:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 4095, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "794:5:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "32", + "id": 4096, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "839:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "e8fcce71", + "id": 4101, + "mutability": "constant", + "name": "BRIDGE_REFUNDED_USER_ERROR_CODE", + "nameLocation": "869:31:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "847:61:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + }, + "typeName": { + "id": 4098, + "name": "int16", + "nodeType": "ElementaryTypeName", + "src": "847:5:19", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "value": { + "id": 4100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "903:5:19", + "subExpression": { + "hexValue": "313030", + "id": 4099, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "905:3:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_100_by_1", + "typeString": "int_const -100" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "e30e6ea3", + "id": 4105, + "mutability": "constant", + "name": "BRIDGE_REFUNDED_LP_ERROR_CODE", + "nameLocation": "936:29:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "914:59:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + }, + "typeName": { + "id": 4102, + "name": "int16", + "nodeType": "ElementaryTypeName", + "src": "914:5:19", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "value": { + "id": 4104, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "968:5:19", + "subExpression": { + "hexValue": "323030", + "id": 4103, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "970:3:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_200_by_1", + "typeString": "int_const 200" + }, + "value": "200" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_200_by_1", + "typeString": "int_const -200" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "ae76ce86", + "id": 4109, + "mutability": "constant", + "name": "BRIDGE_UNPROCESSABLE_TX_NOT_CONTRACT_ERROR_CODE", + "nameLocation": "1001:47:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "979:77:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + }, + "typeName": { + "id": 4106, + "name": "int16", + "nodeType": "ElementaryTypeName", + "src": "979:5:19", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "value": { + "id": 4108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "1051:5:19", + "subExpression": { + "hexValue": "333030", + "id": 4107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1053:3:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_300_by_1", + "typeString": "int_const 300" + }, + "value": "300" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_300_by_1", + "typeString": "int_const -300" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "8d597939", + "id": 4113, + "mutability": "constant", + "name": "BRIDGE_UNPROCESSABLE_TX_INVALID_SENDER_ERROR_CODE", + "nameLocation": "1084:49:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "1062:79:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + }, + "typeName": { + "id": 4110, + "name": "int16", + "nodeType": "ElementaryTypeName", + "src": "1062:5:19", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "value": { + "id": 4112, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "1136:5:19", + "subExpression": { + "hexValue": "333031", + "id": 4111, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1138:3:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_301_by_1", + "typeString": "int_const 301" + }, + "value": "301" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_301_by_1", + "typeString": "int_const -301" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "a93bb247", + "id": 4117, + "mutability": "constant", + "name": "BRIDGE_UNPROCESSABLE_TX_ALREADY_PROCESSED_ERROR_CODE", + "nameLocation": "1169:52:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "1147:82:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + }, + "typeName": { + "id": 4114, + "name": "int16", + "nodeType": "ElementaryTypeName", + "src": "1147:5:19", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "value": { + "id": 4116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "1224:5:19", + "subExpression": { + "hexValue": "333032", + "id": 4115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1226:3:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_302_by_1", + "typeString": "int_const 302" + }, + "value": "302" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_302_by_1", + "typeString": "int_const -302" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "c525cdd8", + "id": 4121, + "mutability": "constant", + "name": "BRIDGE_UNPROCESSABLE_TX_VALIDATIONS_ERROR", + "nameLocation": "1257:41:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "1235:71:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + }, + "typeName": { + "id": 4118, + "name": "int16", + "nodeType": "ElementaryTypeName", + "src": "1235:5:19", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "value": { + "id": 4120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "1301:5:19", + "subExpression": { + "hexValue": "333033", + "id": 4119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1303:3:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_303_by_1", + "typeString": "int_const 303" + }, + "value": "303" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_303_by_1", + "typeString": "int_const -303" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "cfb92f0a", + "id": 4125, + "mutability": "constant", + "name": "BRIDGE_UNPROCESSABLE_TX_VALUE_ZERO_ERROR", + "nameLocation": "1334:40:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "1312:70:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + }, + "typeName": { + "id": 4122, + "name": "int16", + "nodeType": "ElementaryTypeName", + "src": "1312:5:19", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "value": { + "id": 4124, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "1377:5:19", + "subExpression": { + "hexValue": "333034", + "id": 4123, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1379:3:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_304_by_1", + "typeString": "int_const 304" + }, + "value": "304" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_304_by_1", + "typeString": "int_const -304" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "418663a2", + "id": 4129, + "mutability": "constant", + "name": "BRIDGE_UNPROCESSABLE_TX_UTXO_AMOUNT_SENT_BELOW_MINIMUM_ERROR", + "nameLocation": "1410:60:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "1388:94:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + }, + "typeName": { + "id": 4126, + "name": "int16", + "nodeType": "ElementaryTypeName", + "src": "1388:5:19", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "value": { + "id": 4128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "1477:5:19", + "subExpression": { + "hexValue": "333035", + "id": 4127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1479:3:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_305_by_1", + "typeString": "int_const 305" + }, + "value": "305" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_305_by_1", + "typeString": "int_const -305" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "ae93b67b", + "id": 4133, + "mutability": "constant", + "name": "BRIDGE_GENERIC_ERROR", + "nameLocation": "1510:20:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "1488:50:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + }, + "typeName": { + "id": 4130, + "name": "int16", + "nodeType": "ElementaryTypeName", + "src": "1488:5:19", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "value": { + "id": 4132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "1533:5:19", + "subExpression": { + "hexValue": "393030", + "id": 4131, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1535:3:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_900_by_1", + "typeString": "int_const 900" + }, + "value": "900" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_900_by_1", + "typeString": "int_const -900" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "e5b5019a", + "id": 4140, + "mutability": "constant", + "name": "MAX_UINT", + "nameLocation": "1565:8:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "1544:44:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4134, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1544:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "commonType": { + "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", + "typeString": "int_const 1157...(70 digits omitted)...9935" + }, + "id": 4139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", + "typeString": "int_const 1157...(70 digits omitted)...9936" + }, + "id": 4137, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 4135, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1576:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "323536", + "id": 4136, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1581:3:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "value": "256" + }, + "src": "1576:8:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", + "typeString": "int_const 1157...(70 digits omitted)...9936" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 4138, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1587:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1576:12:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", + "typeString": "int_const 1157...(70 digits omitted)...9935" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "be6de4eb", + "id": 4143, + "mutability": "constant", + "name": "PAY_TO_ADDRESS_OUTPUT", + "nameLocation": "1615:21:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "1594:46:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4141, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1594:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 4142, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1639:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "a4a5ba50", + "id": 4146, + "mutability": "constant", + "name": "QUOTE_HASH_OUTPUT", + "nameLocation": "1667:17:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "1646:42:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4144, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1646:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 4145, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1687:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "public" + }, + { + "canonicalName": "LiquidityBridgeContract.Registry", + "id": 4151, + "members": [ + { + "constant": false, + "id": 4148, + "mutability": "mutable", + "name": "timestamp", + "nameLocation": "1728:9:19", + "nodeType": "VariableDeclaration", + "scope": 4151, + "src": "1721:16:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 4147, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1721:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4150, + "mutability": "mutable", + "name": "success", + "nameLocation": "1752:7:19", + "nodeType": "VariableDeclaration", + "scope": 4151, + "src": "1747:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4149, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1747:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "name": "Registry", + "nameLocation": "1702:8:19", + "nodeType": "StructDefinition", + "scope": 6933, + "src": "1695:71:19", + "visibility": "public" + }, + { + "canonicalName": "LiquidityBridgeContract.PegoutRecord", + "id": 4156, + "members": [ + { + "constant": false, + "id": 4153, + "mutability": "mutable", + "name": "depositTimestamp", + "nameLocation": "1810:16:19", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "1802:24:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4152, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1802:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4155, + "mutability": "mutable", + "name": "completed", + "nameLocation": "1841:9:19", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "1836:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4154, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1836:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "name": "PegoutRecord", + "nameLocation": "1779:12:19", + "nodeType": "StructDefinition", + "scope": 6933, + "src": "1772:85:19", + "visibility": "public" + }, + { + "canonicalName": "LiquidityBridgeContract.LiquidityProvider", + "id": 4169, + "members": [ + { + "constant": false, + "id": 4158, + "mutability": "mutable", + "name": "id", + "nameLocation": "1903:2:19", + "nodeType": "VariableDeclaration", + "scope": 4169, + "src": "1898:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4157, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1898:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4160, + "mutability": "mutable", + "name": "provider", + "nameLocation": "1923:8:19", + "nodeType": "VariableDeclaration", + "scope": 4169, + "src": "1915:16:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4159, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1915:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4162, + "mutability": "mutable", + "name": "name", + "nameLocation": "1948:4:19", + "nodeType": "VariableDeclaration", + "scope": 4169, + "src": "1941:11:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4161, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1941:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4164, + "mutability": "mutable", + "name": "apiBaseUrl", + "nameLocation": "1969:10:19", + "nodeType": "VariableDeclaration", + "scope": 4169, + "src": "1962:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4163, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1962:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4166, + "mutability": "mutable", + "name": "status", + "nameLocation": "1994:6:19", + "nodeType": "VariableDeclaration", + "scope": 4169, + "src": "1989:11:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4165, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1989:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4168, + "mutability": "mutable", + "name": "providerType", + "nameLocation": "2017:12:19", + "nodeType": "VariableDeclaration", + "scope": 4169, + "src": "2010:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4167, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2010:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "LiquidityProvider", + "nameLocation": "1870:17:19", + "nodeType": "StructDefinition", + "scope": 6933, + "src": "1863:173:19", + "visibility": "public" + }, + { + "anonymous": false, + "eventSelector": "a9d44d6e13bb3fee938c3f66d1103e91f8dc6b12d4405a55eea558e8f275aa6e", + "id": 4177, + "name": "Register", + "nameLocation": "2048:8:19", + "nodeType": "EventDefinition", + "parameters": { + "id": 4176, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4171, + "indexed": false, + "mutability": "mutable", + "name": "id", + "nameLocation": "2062:2:19", + "nodeType": "VariableDeclaration", + "scope": 4177, + "src": "2057:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4170, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2057:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4173, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "2082:4:19", + "nodeType": "VariableDeclaration", + "scope": 4177, + "src": "2066:20:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4172, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2066:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4175, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2096:6:19", + "nodeType": "VariableDeclaration", + "scope": 4177, + "src": "2088:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4174, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2088:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2056:47:19" + }, + "src": "2042:62:19" + }, + { + "anonymous": false, + "eventSelector": "e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c", + "id": 4183, + "name": "Deposit", + "nameLocation": "2115:7:19", + "nodeType": "EventDefinition", + "parameters": { + "id": 4182, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4179, + "indexed": false, + "mutability": "mutable", + "name": "from", + "nameLocation": "2131:4:19", + "nodeType": "VariableDeclaration", + "scope": 4183, + "src": "2123:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4178, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2123:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4181, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2145:6:19", + "nodeType": "VariableDeclaration", + "scope": 4183, + "src": "2137:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4180, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2137:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2122:30:19" + }, + "src": "2109:44:19" + }, + { + "anonymous": false, + "eventSelector": "456e0f4ea86ac283092c750200e8c877f6ad8901ae575f90e02081acd455af84", + "id": 4189, + "name": "CollateralIncrease", + "nameLocation": "2164:18:19", + "nodeType": "EventDefinition", + "parameters": { + "id": 4188, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4185, + "indexed": false, + "mutability": "mutable", + "name": "from", + "nameLocation": "2191:4:19", + "nodeType": "VariableDeclaration", + "scope": 4189, + "src": "2183:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4184, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2183:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4187, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2205:6:19", + "nodeType": "VariableDeclaration", + "scope": 4189, + "src": "2197:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4186, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2197:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2182:30:19" + }, + "src": "2158:55:19" + }, + { + "anonymous": false, + "eventSelector": "873d5a2949567203ad4f0cceef41c2813c87b9a397ee777d87a8acdaec2c6fa9", + "id": 4195, + "name": "PegoutCollateralIncrease", + "nameLocation": "2224:24:19", + "nodeType": "EventDefinition", + "parameters": { + "id": 4194, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4191, + "indexed": false, + "mutability": "mutable", + "name": "from", + "nameLocation": "2257:4:19", + "nodeType": "VariableDeclaration", + "scope": 4195, + "src": "2249:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4190, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2249:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4193, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2271:6:19", + "nodeType": "VariableDeclaration", + "scope": 4195, + "src": "2263:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4192, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2263:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2248:30:19" + }, + "src": "2218:61:19" + }, + { + "anonymous": false, + "eventSelector": "7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "id": 4201, + "name": "Withdrawal", + "nameLocation": "2290:10:19", + "nodeType": "EventDefinition", + "parameters": { + "id": 4200, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4197, + "indexed": false, + "mutability": "mutable", + "name": "from", + "nameLocation": "2309:4:19", + "nodeType": "VariableDeclaration", + "scope": 4201, + "src": "2301:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4196, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2301:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4199, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2323:6:19", + "nodeType": "VariableDeclaration", + "scope": 4201, + "src": "2315:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4198, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2315:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2300:30:19" + }, + "src": "2284:47:19" + }, + { + "anonymous": false, + "eventSelector": "a8e76b822fc682be77f3b1c822ea81f6bda5aed92ba82e6873bfd889f328d1d2", + "id": 4207, + "name": "WithdrawCollateral", + "nameLocation": "2342:18:19", + "nodeType": "EventDefinition", + "parameters": { + "id": 4206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4203, + "indexed": false, + "mutability": "mutable", + "name": "from", + "nameLocation": "2369:4:19", + "nodeType": "VariableDeclaration", + "scope": 4207, + "src": "2361:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4202, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2361:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4205, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2383:6:19", + "nodeType": "VariableDeclaration", + "scope": 4207, + "src": "2375:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4204, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2375:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2360:30:19" + }, + "src": "2336:55:19" + }, + { + "anonymous": false, + "eventSelector": "fc72299650b405e7b0480ca8fb0fb3948fb10a77ac02f797cc9de1f4aaa55db7", + "id": 4213, + "name": "PegoutWithdrawCollateral", + "nameLocation": "2402:24:19", + "nodeType": "EventDefinition", + "parameters": { + "id": 4212, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4209, + "indexed": false, + "mutability": "mutable", + "name": "from", + "nameLocation": "2435:4:19", + "nodeType": "VariableDeclaration", + "scope": 4213, + "src": "2427:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4208, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2427:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4211, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2449:6:19", + "nodeType": "VariableDeclaration", + "scope": 4213, + "src": "2441:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4210, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2441:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2426:30:19" + }, + "src": "2396:61:19" + }, + { + "anonymous": false, + "eventSelector": "a6674aa33cd1b7435474751667707bf05fde99e537d67043ec5f907782577d86", + "id": 4217, + "name": "Resigned", + "nameLocation": "2468:8:19", + "nodeType": "EventDefinition", + "parameters": { + "id": 4216, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4215, + "indexed": false, + "mutability": "mutable", + "name": "from", + "nameLocation": "2485:4:19", + "nodeType": "VariableDeclaration", + "scope": 4217, + "src": "2477:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4214, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2477:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2476:14:19" + }, + "src": "2462:29:19" + }, + { + "anonymous": false, + "eventSelector": "bfc7404e6fe464f0646fe2c6ab942b92d56be722bb39f8c6bc4830d2d32fb80d", + "id": 4233, + "name": "CallForUser", + "nameLocation": "2502:11:19", + "nodeType": "EventDefinition", + "parameters": { + "id": 4232, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4219, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "2539:4:19", + "nodeType": "VariableDeclaration", + "scope": 4233, + "src": "2523:20:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4218, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2523:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4221, + "indexed": true, + "mutability": "mutable", + "name": "dest", + "nameLocation": "2569:4:19", + "nodeType": "VariableDeclaration", + "scope": 4233, + "src": "2553:20:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4220, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2553:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4223, + "indexed": false, + "mutability": "mutable", + "name": "gasLimit", + "nameLocation": "2588:8:19", + "nodeType": "VariableDeclaration", + "scope": 4233, + "src": "2583:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4222, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2583:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4225, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "2611:5:19", + "nodeType": "VariableDeclaration", + "scope": 4233, + "src": "2606:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4224, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2606:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4227, + "indexed": false, + "mutability": "mutable", + "name": "data", + "nameLocation": "2632:4:19", + "nodeType": "VariableDeclaration", + "scope": 4233, + "src": "2626:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4226, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2626:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4229, + "indexed": false, + "mutability": "mutable", + "name": "success", + "nameLocation": "2651:7:19", + "nodeType": "VariableDeclaration", + "scope": 4233, + "src": "2646:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4228, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2646:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4231, + "indexed": false, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "2676:9:19", + "nodeType": "VariableDeclaration", + "scope": 4233, + "src": "2668:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4230, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2668:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2513:178:19" + }, + "src": "2496:196:19" + }, + { + "anonymous": false, + "eventSelector": "0629ae9d1dc61501b0ca90670a9a9b88daaf7504b54537b53e1219de794c63d2", + "id": 4239, + "name": "PegInRegistered", + "nameLocation": "2703:15:19", + "nodeType": "EventDefinition", + "parameters": { + "id": 4238, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4235, + "indexed": true, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "2735:9:19", + "nodeType": "VariableDeclaration", + "scope": 4239, + "src": "2719:25:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4234, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2719:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4237, + "indexed": false, + "mutability": "mutable", + "name": "transferredAmount", + "nameLocation": "2753:17:19", + "nodeType": "VariableDeclaration", + "scope": 4239, + "src": "2746:24:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 4236, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2746:6:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "2718:53:19" + }, + "src": "2697:75:19" + }, + { + "anonymous": false, + "eventSelector": "9685484093cc596fdaeab51abf645b1753dbb7d869bfd2eb21e2c646e47a36f4", + "id": 4247, + "name": "Penalized", + "nameLocation": "2783:9:19", + "nodeType": "EventDefinition", + "parameters": { + "id": 4246, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4241, + "indexed": false, + "mutability": "mutable", + "name": "liquidityProvider", + "nameLocation": "2801:17:19", + "nodeType": "VariableDeclaration", + "scope": 4247, + "src": "2793:25:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4240, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2793:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4243, + "indexed": false, + "mutability": "mutable", + "name": "penalty", + "nameLocation": "2825:7:19", + "nodeType": "VariableDeclaration", + "scope": 4247, + "src": "2820:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4242, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2820:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4245, + "indexed": false, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "2842:9:19", + "nodeType": "VariableDeclaration", + "scope": 4247, + "src": "2834:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4244, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2834:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2792:60:19" + }, + "src": "2777:76:19" + }, + { + "anonymous": false, + "eventSelector": "fb209329d5ab5b7bcb2e92f45f4534814b6e68fa5ad1f171dabc1d17d26f0ebe", + "id": 4253, + "name": "BridgeCapExceeded", + "nameLocation": "2864:17:19", + "nodeType": "EventDefinition", + "parameters": { + "id": 4252, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4249, + "indexed": false, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "2890:9:19", + "nodeType": "VariableDeclaration", + "scope": 4253, + "src": "2882:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4248, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2882:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4251, + "indexed": false, + "mutability": "mutable", + "name": "errorCode", + "nameLocation": "2908:9:19", + "nodeType": "VariableDeclaration", + "scope": 4253, + "src": "2901:16:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 4250, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2901:6:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "2881:37:19" + }, + "src": "2858:61:19" + }, + { + "anonymous": false, + "eventSelector": "42cfb81a915ac5a674852db250bf722637bee705a267633b68cab3a2dde06f53", + "id": 4259, + "name": "BalanceIncrease", + "nameLocation": "2930:15:19", + "nodeType": "EventDefinition", + "parameters": { + "id": 4258, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4255, + "indexed": false, + "mutability": "mutable", + "name": "dest", + "nameLocation": "2954:4:19", + "nodeType": "VariableDeclaration", + "scope": 4259, + "src": "2946:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4254, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2946:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4257, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2965:6:19", + "nodeType": "VariableDeclaration", + "scope": 4259, + "src": "2960:11:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4256, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2960:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2945:27:19" + }, + "src": "2924:49:19" + }, + { + "anonymous": false, + "eventSelector": "8e51a4493a6f66c76e13fd9e3b754eafbfe21343c04508deb61be8ccc0064587", + "id": 4265, + "name": "BalanceDecrease", + "nameLocation": "2984:15:19", + "nodeType": "EventDefinition", + "parameters": { + "id": 4264, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4261, + "indexed": false, + "mutability": "mutable", + "name": "dest", + "nameLocation": "3008:4:19", + "nodeType": "VariableDeclaration", + "scope": 4265, + "src": "3000:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4260, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3000:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4263, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3019:6:19", + "nodeType": "VariableDeclaration", + "scope": 4265, + "src": "3014:11:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4262, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3014:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2999:27:19" + }, + "src": "2978:49:19" + }, + { + "anonymous": false, + "eventSelector": "3052ea2f7e0d74fdc1c1e1f858ff1ae3d91ab1609717c3efedb95db603b255f6", + "id": 4275, + "name": "Refund", + "nameLocation": "3038:6:19", + "nodeType": "EventDefinition", + "parameters": { + "id": 4274, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4267, + "indexed": false, + "mutability": "mutable", + "name": "dest", + "nameLocation": "3053:4:19", + "nodeType": "VariableDeclaration", + "scope": 4275, + "src": "3045:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4266, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3045:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4269, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3064:6:19", + "nodeType": "VariableDeclaration", + "scope": 4275, + "src": "3059:11:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4268, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3059:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4271, + "indexed": false, + "mutability": "mutable", + "name": "success", + "nameLocation": "3077:7:19", + "nodeType": "VariableDeclaration", + "scope": 4275, + "src": "3072:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4270, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3072:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4273, + "indexed": false, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "3094:9:19", + "nodeType": "VariableDeclaration", + "scope": 4275, + "src": "3086:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4272, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3086:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3044:60:19" + }, + "src": "3032:73:19" + }, + { + "anonymous": false, + "eventSelector": "ed3e6789842b3369f529c844ab6575be53f29ffeabd4d8b84c04c8431535b1ec", + "id": 4285, + "name": "PegOut", + "nameLocation": "3116:6:19", + "nodeType": "EventDefinition", + "parameters": { + "id": 4284, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4277, + "indexed": false, + "mutability": "mutable", + "name": "from", + "nameLocation": "3140:4:19", + "nodeType": "VariableDeclaration", + "scope": 4285, + "src": "3132:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4276, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3132:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4279, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3162:6:19", + "nodeType": "VariableDeclaration", + "scope": 4285, + "src": "3154:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4278, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3154:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4281, + "indexed": false, + "mutability": "mutable", + "name": "quotehash", + "nameLocation": "3186:9:19", + "nodeType": "VariableDeclaration", + "scope": 4285, + "src": "3178:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4280, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3178:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4283, + "indexed": false, + "mutability": "mutable", + "name": "processed", + "nameLocation": "3210:9:19", + "nodeType": "VariableDeclaration", + "scope": 4285, + "src": "3205:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4282, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3205:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3122:103:19" + }, + "src": "3110:116:19" + }, + { + "anonymous": false, + "eventSelector": "b781856ec73fd0dc39351043d1634ea22cd3277b0866ab93e7ec1801766bb384", + "id": 4289, + "name": "PegOutRefunded", + "nameLocation": "3237:14:19", + "nodeType": "EventDefinition", + "parameters": { + "id": 4288, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4287, + "indexed": true, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "3268:9:19", + "nodeType": "VariableDeclaration", + "scope": 4289, + "src": "3252:25:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4286, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3252:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3251:27:19" + }, + "src": "3231:48:19" + }, + { + "anonymous": false, + "eventSelector": "b1bc7bfc0dab19777eb03aa0a5643378fc9f186c8fc5a36620d21136fbea570f", + "id": 4299, + "name": "PegOutDeposit", + "nameLocation": "3290:13:19", + "nodeType": "EventDefinition", + "parameters": { + "id": 4298, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4291, + "indexed": true, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "3329:9:19", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "3313:25:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4290, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3313:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4293, + "indexed": true, + "mutability": "mutable", + "name": "sender", + "nameLocation": "3364:6:19", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "3348:22:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4292, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3348:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4295, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3388:6:19", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "3380:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4294, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3380:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4297, + "indexed": false, + "mutability": "mutable", + "name": "timestamp", + "nameLocation": "3412:9:19", + "nodeType": "VariableDeclaration", + "scope": 4299, + "src": "3404:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4296, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3404:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3303:124:19" + }, + "src": "3284:144:19" + }, + { + "anonymous": false, + "eventSelector": "9ccbeffc442024e2a6ade18ff0978af9a4c4d6562ae38adb51ccf8256cf42b41", + "id": 4307, + "name": "PegOutUserRefunded", + "nameLocation": "3439:18:19", + "nodeType": "EventDefinition", + "parameters": { + "id": 4306, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4301, + "indexed": true, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "3483:9:19", + "nodeType": "VariableDeclaration", + "scope": 4307, + "src": "3467:25:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4300, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3467:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4303, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "3510:5:19", + "nodeType": "VariableDeclaration", + "scope": 4307, + "src": "3502:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4302, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3502:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4305, + "indexed": false, + "mutability": "mutable", + "name": "userAddress", + "nameLocation": "3533:11:19", + "nodeType": "VariableDeclaration", + "scope": 4307, + "src": "3525:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4304, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3525:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3457:93:19" + }, + "src": "3433:118:19" + }, + { + "constant": false, + "functionSelector": "e78cea92", + "id": 4310, + "mutability": "mutable", + "name": "bridge", + "nameLocation": "3571:6:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "3557:20:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + }, + "typeName": { + "id": 4309, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4308, + "name": "Bridge", + "nameLocations": [ + "3557:6:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3208, + "src": "3557:6:19" + }, + "referencedDeclaration": 3208, + "src": "3557:6:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 4314, + "mutability": "mutable", + "name": "balances", + "nameLocation": "3619:8:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "3583:44:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 4313, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 4311, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3591:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "3583:27:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 4312, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3602:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4318, + "mutability": "mutable", + "name": "collateral", + "nameLocation": "3669:10:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "3633:46:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 4317, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 4315, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3641:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "3633:27:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 4316, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3652:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4322, + "mutability": "mutable", + "name": "pegoutCollateral", + "nameLocation": "3721:16:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "3685:52:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 4321, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 4319, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3693:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "3685:27:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 4320, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3704:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4327, + "mutability": "mutable", + "name": "liquidityProviders", + "nameLocation": "3786:18:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "3743:61:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_LiquidityProvider_$4169_storage_$", + "typeString": "mapping(uint256 => struct LiquidityBridgeContract.LiquidityProvider)" + }, + "typeName": { + "id": 4326, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 4323, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3751:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "3743:34:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_LiquidityProvider_$4169_storage_$", + "typeString": "mapping(uint256 => struct LiquidityBridgeContract.LiquidityProvider)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 4325, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4324, + "name": "LiquidityProvider", + "nameLocations": [ + "3759:17:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4169, + "src": "3759:17:19" + }, + "referencedDeclaration": 4169, + "src": "3759:17:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$4169_storage_ptr", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4332, + "mutability": "mutable", + "name": "callRegistry", + "nameLocation": "3847:12:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "3810:49:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$4151_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContract.Registry)" + }, + "typeName": { + "id": 4331, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 4328, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3818:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "3810:28:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$4151_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContract.Registry)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 4330, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4329, + "name": "Registry", + "nameLocations": [ + "3829:8:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4151, + "src": "3829:8:19" + }, + "referencedDeclaration": 4151, + "src": "3829:8:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Registry_$4151_storage_ptr", + "typeString": "struct LiquidityBridgeContract.Registry" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4336, + "mutability": "mutable", + "name": "resignationBlockNum", + "nameLocation": "3901:19:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "3865:55:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 4335, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 4333, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3873:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "3865:27:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 4334, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3884:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4338, + "mutability": "mutable", + "name": "minCollateral", + "nameLocation": "3943:13:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "3927:29:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4337, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3927:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4340, + "mutability": "mutable", + "name": "minPegIn", + "nameLocation": "3978:8:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "3962:24:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4339, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3962:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4342, + "mutability": "mutable", + "name": "rewardP", + "nameLocation": "4008:7:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "3993:22:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 4341, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "3993:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4344, + "mutability": "mutable", + "name": "resignDelayInBlocks", + "nameLocation": "4036:19:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "4021:34:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 4343, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "4021:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4346, + "mutability": "mutable", + "name": "dust", + "nameLocation": "4074:4:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "4061:17:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4345, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4061:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "functionSelector": "8490a8df", + "id": 4348, + "mutability": "mutable", + "name": "providerId", + "nameLocation": "4096:10:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "4084:22:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4347, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4084:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 4350, + "mutability": "mutable", + "name": "btcBlockTime", + "nameLocation": "4126:12:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "4113:25:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4349, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4113:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4352, + "mutability": "mutable", + "name": "mainnet", + "nameLocation": "4157:7:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "4144:20:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4351, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4144:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4356, + "mutability": "mutable", + "name": "processedQuotes", + "nameLocation": "4205:15:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "4171:49:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + }, + "typeName": { + "id": 4355, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 4353, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4179:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "4171:25:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 4354, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "4190:5:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4361, + "mutability": "mutable", + "name": "registeredPegoutQuotes", + "nameLocation": "4273:22:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "4226:69:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegOutQuote_$9919_storage_$", + "typeString": "mapping(bytes32 => struct Quotes.PegOutQuote)" + }, + "typeName": { + "id": 4360, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 4357, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4234:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "4226:38:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegOutQuote_$9919_storage_$", + "typeString": "mapping(bytes32 => struct Quotes.PegOutQuote)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 4359, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4358, + "name": "Quotes.PegOutQuote", + "nameLocations": [ + "4245:6:19", + "4252:11:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9919, + "src": "4245:18:19" + }, + "referencedDeclaration": 9919, + "src": "4245:18:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 4366, + "mutability": "mutable", + "name": "pegoutRegistry", + "nameLocation": "4342:14:19", + "nodeType": "VariableDeclaration", + "scope": 6933, + "src": "4301:55:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegoutRecord_$4156_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContract.PegoutRecord)" + }, + "typeName": { + "id": 4365, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 4362, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4309:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "4301:32:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegoutRecord_$4156_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContract.PegoutRecord)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 4364, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4363, + "name": "PegoutRecord", + "nameLocations": [ + "4320:12:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4156, + "src": "4320:12:19" + }, + "referencedDeclaration": 4156, + "src": "4320:12:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegoutRecord_$4156_storage_ptr", + "typeString": "struct LiquidityBridgeContract.PegoutRecord" + } + } + }, + "visibility": "private" + }, + { + "body": { + "id": 4377, + "nodeType": "Block", + "src": "4389:71:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 4370, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4420:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4424:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4420:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4369, + "name": "isRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6589, + "src": "4407:12:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 4372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4407:24:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303031", + "id": 4373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4433:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a509ede2323476f3f5be48987391c5516e4ea8116b376287322ed2188be0e53c", + "typeString": "literal_string \"LBC001\"" + }, + "value": "LBC001" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a509ede2323476f3f5be48987391c5516e4ea8116b376287322ed2188be0e53c", + "typeString": "literal_string \"LBC001\"" + } + ], + "id": 4368, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4399:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4399:43:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4375, + "nodeType": "ExpressionStatement", + "src": "4399:43:19" + }, + { + "id": 4376, + "nodeType": "PlaceholderStatement", + "src": "4452:1:19" + } + ] + }, + "id": 4378, + "name": "onlyRegistered", + "nameLocation": "4372:14:19", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 4367, + "nodeType": "ParameterList", + "parameters": [], + "src": "4386:2:19" + }, + "src": "4363:97:19", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4389, + "nodeType": "Block", + "src": "4501:80:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 4382, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4541:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4545:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4541:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4381, + "name": "isRegisteredForPegout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6609, + "src": "4519:21:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 4384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4519:33:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303031", + "id": 4385, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4554:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a509ede2323476f3f5be48987391c5516e4ea8116b376287322ed2188be0e53c", + "typeString": "literal_string \"LBC001\"" + }, + "value": "LBC001" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a509ede2323476f3f5be48987391c5516e4ea8116b376287322ed2188be0e53c", + "typeString": "literal_string \"LBC001\"" + } + ], + "id": 4380, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4511:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4511:52:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4387, + "nodeType": "ExpressionStatement", + "src": "4511:52:19" + }, + { + "id": 4388, + "nodeType": "PlaceholderStatement", + "src": "4573:1:19" + } + ] + }, + "id": 4390, + "name": "onlyRegisteredForPegout", + "nameLocation": "4475:23:19", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 4379, + "nodeType": "ParameterList", + "parameters": [], + "src": "4498:2:19" + }, + "src": "4466:115:19", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4402, + "nodeType": "Block", + "src": "4606:70:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 4393, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967270, + "src": "4624:2:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 4394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4627:6:19", + "memberName": "origin", + "nodeType": "MemberAccess", + "src": "4624:9:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 4395, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4637:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4396, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4641:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4637:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4624:23:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303033", + "id": 4398, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4649:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7e21a7b13292bf184f2fc166cca229506aa89a730258f15cdce6a2f8dc225415", + "typeString": "literal_string \"LBC003\"" + }, + "value": "LBC003" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_7e21a7b13292bf184f2fc166cca229506aa89a730258f15cdce6a2f8dc225415", + "typeString": "literal_string \"LBC003\"" + } + ], + "id": 4392, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4616:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4616:42:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4400, + "nodeType": "ExpressionStatement", + "src": "4616:42:19" + }, + { + "id": 4401, + "nodeType": "PlaceholderStatement", + "src": "4668:1:19" + } + ] + }, + "id": 4403, + "name": "onlyEoa", + "nameLocation": "4596:7:19", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 4391, + "nodeType": "ParameterList", + "parameters": [], + "src": "4603:2:19" + }, + "src": "4587:89:19", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4483, + "nodeType": "Block", + "src": "5606:513:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 4428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4426, + "name": "_rewardPercentage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4412, + "src": "5624:17:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "313030", + "id": 4427, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5645:3:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "5624:24:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303034", + "id": 4429, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5650:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b08af29ae9ab6d901d6564b35ffdb791cf633ea45a36ea23bf660bfada2612fe", + "typeString": "literal_string \"LBC004\"" + }, + "value": "LBC004" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b08af29ae9ab6d901d6564b35ffdb791cf633ea45a36ea23bf660bfada2612fe", + "typeString": "literal_string \"LBC004\"" + } + ], + "id": 4425, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "5616:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5616:43:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4431, + "nodeType": "ExpressionStatement", + "src": "5616:43:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4433, + "name": "_minimumCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4408, + "src": "5677:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "302e3033", + "id": 4434, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5699:10:19", + "subdenomination": "ether", + "typeDescriptions": { + "typeIdentifier": "t_rational_30000000000000000_by_1", + "typeString": "int_const 30000000000000000" + }, + "value": "0.03" + }, + "src": "5677:32:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303732", + "id": 4436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5711:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aef7c38006d01c174c6b5b14fe8e6059baae2f7a6dd6bce99907771d261c0abd", + "typeString": "literal_string \"LBC072\"" + }, + "value": "LBC072" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_aef7c38006d01c174c6b5b14fe8e6059baae2f7a6dd6bce99907771d261c0abd", + "typeString": "literal_string \"LBC072\"" + } + ], + "id": 4432, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "5669:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5669:51:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4438, + "nodeType": "ExpressionStatement", + "src": "5669:51:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 4442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4440, + "name": "_resignDelayBlocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4414, + "src": "5738:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3630", + "id": 4441, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5760:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_60_by_1", + "typeString": "int_const 60" + }, + "value": "60" + }, + "src": "5738:24:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303733", + "id": 4443, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5764:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b87a2fdd3e8805c862b0b631e2cf43b048cd2e48956f7516ed8be20eb14ec931", + "typeString": "literal_string \"LBC073\"" + }, + "value": "LBC073" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b87a2fdd3e8805c862b0b631e2cf43b048cd2e48956f7516ed8be20eb14ec931", + "typeString": "literal_string \"LBC073\"" + } + ], + "id": 4439, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "5730:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5730:43:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4445, + "nodeType": "ExpressionStatement", + "src": "5730:43:19" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4446, + "name": "__Ownable_init_unchained", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37, + "src": "5783:24:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 4447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5783:26:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4448, + "nodeType": "ExpressionStatement", + "src": "5783:26:19" + }, + { + "expression": { + "id": 4453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4449, + "name": "bridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4310, + "src": "5819:6:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 4451, + "name": "_bridgeAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4406, + "src": "5835:14:19", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 4450, + "name": "Bridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3208, + "src": "5828:6:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Bridge_$3208_$", + "typeString": "type(contract Bridge)" + } + }, + "id": 4452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5828:22:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + }, + "src": "5819:31:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + }, + "id": 4454, + "nodeType": "ExpressionStatement", + "src": "5819:31:19" + }, + { + "expression": { + "id": 4457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4455, + "name": "minCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4338, + "src": "5860:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 4456, + "name": "_minimumCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4408, + "src": "5876:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5860:34:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4458, + "nodeType": "ExpressionStatement", + "src": "5860:34:19" + }, + { + "expression": { + "id": 4461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4459, + "name": "minPegIn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4340, + "src": "5904:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 4460, + "name": "_minimumPegIn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4410, + "src": "5915:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5904:24:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4462, + "nodeType": "ExpressionStatement", + "src": "5904:24:19" + }, + { + "expression": { + "id": 4465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4463, + "name": "rewardP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4342, + "src": "5938:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 4464, + "name": "_rewardPercentage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4412, + "src": "5948:17:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "5938:27:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 4466, + "nodeType": "ExpressionStatement", + "src": "5938:27:19" + }, + { + "expression": { + "id": 4469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4467, + "name": "resignDelayInBlocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4344, + "src": "5975:19:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 4468, + "name": "_resignDelayBlocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4414, + "src": "5997:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "5975:40:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 4470, + "nodeType": "ExpressionStatement", + "src": "5975:40:19" + }, + { + "expression": { + "id": 4473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4471, + "name": "dust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4346, + "src": "6025:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 4472, + "name": "_dustThreshold", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4416, + "src": "6032:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6025:21:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4474, + "nodeType": "ExpressionStatement", + "src": "6025:21:19" + }, + { + "expression": { + "id": 4477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4475, + "name": "btcBlockTime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4350, + "src": "6056:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 4476, + "name": "_btcBlockTime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4418, + "src": "6071:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6056:28:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4478, + "nodeType": "ExpressionStatement", + "src": "6056:28:19" + }, + { + "expression": { + "id": 4481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4479, + "name": "mainnet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4352, + "src": "6094:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 4480, + "name": "_mainnet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4420, + "src": "6104:8:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6094:18:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4482, + "nodeType": "ExpressionStatement", + "src": "6094:18:19" + } + ] + }, + "documentation": { + "id": 4404, + "nodeType": "StructuredDocumentation", + "src": "4682:618:19", + "text": "@param _bridgeAddress The address of the bridge contract\n@param _minimumCollateral The minimum required collateral for liquidity providers\n@param _minimumPegIn The minimum peg-in amount\n@param _rewardPercentage The percentage of the penalty fee that an honest party\n// receives when calling registerPegIn in case of a liquidity provider misbehaving\n@param _resignDelayBlocks The number of block confirmations that a liquidity\n// provider needs to wait before it can withdraw its collateral\n@param _dustThreshold Amount that is considered dust" + }, + "functionSelector": "4533ac1c", + "id": 4484, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 4423, + "kind": "modifierInvocation", + "modifierName": { + "id": 4422, + "name": "initializer", + "nameLocations": [ + "5594:11:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 202, + "src": "5594:11:19" + }, + "nodeType": "ModifierInvocation", + "src": "5594:11:19" + } + ], + "name": "initialize", + "nameLocation": "5314:10:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4421, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4406, + "mutability": "mutable", + "name": "_bridgeAddress", + "nameLocation": "5350:14:19", + "nodeType": "VariableDeclaration", + "scope": 4484, + "src": "5334:30:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 4405, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5334:15:19", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4408, + "mutability": "mutable", + "name": "_minimumCollateral", + "nameLocation": "5382:18:19", + "nodeType": "VariableDeclaration", + "scope": 4484, + "src": "5374:26:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4407, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5374:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4410, + "mutability": "mutable", + "name": "_minimumPegIn", + "nameLocation": "5418:13:19", + "nodeType": "VariableDeclaration", + "scope": 4484, + "src": "5410:21:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4409, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5410:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4412, + "mutability": "mutable", + "name": "_rewardPercentage", + "nameLocation": "5448:17:19", + "nodeType": "VariableDeclaration", + "scope": 4484, + "src": "5441:24:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 4411, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "5441:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4414, + "mutability": "mutable", + "name": "_resignDelayBlocks", + "nameLocation": "5482:18:19", + "nodeType": "VariableDeclaration", + "scope": 4484, + "src": "5475:25:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 4413, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "5475:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4416, + "mutability": "mutable", + "name": "_dustThreshold", + "nameLocation": "5515:14:19", + "nodeType": "VariableDeclaration", + "scope": 4484, + "src": "5510:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4415, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5510:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4418, + "mutability": "mutable", + "name": "_btcBlockTime", + "nameLocation": "5544:13:19", + "nodeType": "VariableDeclaration", + "scope": 4484, + "src": "5539:18:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4417, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5539:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4420, + "mutability": "mutable", + "name": "_mainnet", + "nameLocation": "5572:8:19", + "nodeType": "VariableDeclaration", + "scope": 4484, + "src": "5567:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4419, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5567:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5324:262:19" + }, + "returnParameters": { + "id": 4424, + "nodeType": "ParameterList", + "parameters": [], + "src": "5606:0:19" + }, + "scope": 6933, + "src": "5305:814:19", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 4506, + "nodeType": "Block", + "src": "6173:172:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 4489, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "6204:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6208:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "6204:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4491, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "6218:5:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 4492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6218:7:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6204:21:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 4494, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "6241:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6245:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "6241:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "baseExpression": { + "id": 4496, + "name": "liquidityProviders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4327, + "src": "6255:18:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_LiquidityProvider_$4169_storage_$", + "typeString": "mapping(uint256 => struct LiquidityBridgeContract.LiquidityProvider storage ref)" + } + }, + "id": 4498, + "indexExpression": { + "id": 4497, + "name": "_providerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4486, + "src": "6274:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6255:31:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$4169_storage", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider storage ref" + } + }, + "id": 4499, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6287:8:19", + "memberName": "provider", + "nodeType": "MemberAccess", + "referencedDeclaration": 4160, + "src": "6255:40:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6241:54:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6204:91:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303035", + "id": 4502, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6309:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0a36b25bf1b768acf545d4a7d22e9fceeba3414a7a19dc34973fc2e1be01a831", + "typeString": "literal_string \"LBC005\"" + }, + "value": "LBC005" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0a36b25bf1b768acf545d4a7d22e9fceeba3414a7a19dc34973fc2e1be01a831", + "typeString": "literal_string \"LBC005\"" + } + ], + "id": 4488, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "6183:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6183:144:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4504, + "nodeType": "ExpressionStatement", + "src": "6183:144:19" + }, + { + "id": 4505, + "nodeType": "PlaceholderStatement", + "src": "6337:1:19" + } + ] + }, + "id": 4507, + "name": "onlyOwnerAndProvider", + "nameLocation": "6134:20:19", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 4487, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4486, + "mutability": "mutable", + "name": "_providerId", + "nameLocation": "6160:11:19", + "nodeType": "VariableDeclaration", + "scope": 4507, + "src": "6155:16:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4485, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6155:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6154:18:19" + }, + "src": "6125:220:19", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4524, + "nodeType": "Block", + "src": "6472:64:19", + "statements": [ + { + "expression": { + "id": 4522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 4517, + "name": "liquidityProviders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4327, + "src": "6482:18:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_LiquidityProvider_$4169_storage_$", + "typeString": "mapping(uint256 => struct LiquidityBridgeContract.LiquidityProvider storage ref)" + } + }, + "id": 4519, + "indexExpression": { + "id": 4518, + "name": "_providerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4509, + "src": "6501:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6482:31:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$4169_storage", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider storage ref" + } + }, + "id": 4520, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "6514:6:19", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 4166, + "src": "6482:38:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 4521, + "name": "status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4511, + "src": "6523:6:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6482:47:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4523, + "nodeType": "ExpressionStatement", + "src": "6482:47:19" + } + ] + }, + "functionSelector": "72cbf4e8", + "id": 4525, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 4514, + "name": "_providerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4509, + "src": "6459:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4515, + "kind": "modifierInvocation", + "modifierName": { + "id": 4513, + "name": "onlyOwnerAndProvider", + "nameLocations": [ + "6438:20:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4507, + "src": "6438:20:19" + }, + "nodeType": "ModifierInvocation", + "src": "6438:33:19" + } + ], + "name": "setProviderStatus", + "nameLocation": "6360:17:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4512, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4509, + "mutability": "mutable", + "name": "_providerId", + "nameLocation": "6392:11:19", + "nodeType": "VariableDeclaration", + "scope": 4525, + "src": "6387:16:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4508, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6387:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4511, + "mutability": "mutable", + "name": "status", + "nameLocation": "6418:6:19", + "nodeType": "VariableDeclaration", + "scope": 4525, + "src": "6413:11:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4510, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6413:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6377:53:19" + }, + "returnParameters": { + "id": 4516, + "nodeType": "ParameterList", + "parameters": [], + "src": "6472:0:19" + }, + "scope": 6933, + "src": "6351:185:19", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 4539, + "nodeType": "Block", + "src": "6569:65:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 4529, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "6587:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6591:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "6587:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 4533, + "name": "bridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4310, + "src": "6609:6:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + ], + "id": 4532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6601:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4531, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6601:7:19", + "typeDescriptions": {} + } + }, + "id": 4534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6601:15:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6587:29:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303037", + "id": 4536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6618:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a23daf30bd1e42cc69e3bea751166702f08d640860ab6f4c84d6bacb970360da", + "typeString": "literal_string \"LBC007\"" + }, + "value": "LBC007" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a23daf30bd1e42cc69e3bea751166702f08d640860ab6f4c84d6bacb970360da", + "typeString": "literal_string \"LBC007\"" + } + ], + "id": 4528, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "6579:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6579:48:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4538, + "nodeType": "ExpressionStatement", + "src": "6579:48:19" + } + ] + }, + "id": 4540, + "implemented": true, + "kind": "receive", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4526, + "nodeType": "ParameterList", + "parameters": [], + "src": "6549:2:19" + }, + "returnParameters": { + "id": 4527, + "nodeType": "ParameterList", + "parameters": [], + "src": "6569:0:19" + }, + "scope": 6933, + "src": "6542:92:19", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 4547, + "nodeType": "Block", + "src": "6695:34:19", + "statements": [ + { + "expression": { + "id": 4545, + "name": "providerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4348, + "src": "6712:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4544, + "id": 4546, + "nodeType": "Return", + "src": "6705:17:19" + } + ] + }, + "functionSelector": "0a9cb4a7", + "id": 4548, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getProviderIds", + "nameLocation": "6649:14:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4541, + "nodeType": "ParameterList", + "parameters": [], + "src": "6663:2:19" + }, + "returnParameters": { + "id": 4544, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4543, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4548, + "src": "6689:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4542, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6689:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6688:6:19" + }, + "scope": 6933, + "src": "6640:89:19", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 4558, + "nodeType": "Block", + "src": "6795:39:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 4555, + "name": "bridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4310, + "src": "6820:6:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + ], + "id": 4554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6812:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4553, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6812:7:19", + "typeDescriptions": {} + } + }, + "id": 4556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6812:15:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 4552, + "id": 4557, + "nodeType": "Return", + "src": "6805:22:19" + } + ] + }, + "functionSelector": "fb32c508", + "id": 4559, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBridgeAddress", + "nameLocation": "6744:16:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4549, + "nodeType": "ParameterList", + "parameters": [], + "src": "6760:2:19" + }, + "returnParameters": { + "id": 4552, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4551, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4559, + "src": "6786:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4550, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6786:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6785:9:19" + }, + "scope": 6933, + "src": "6735:99:19", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 4566, + "nodeType": "Block", + "src": "6895:37:19", + "statements": [ + { + "expression": { + "id": 4564, + "name": "minCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4338, + "src": "6912:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4563, + "id": 4565, + "nodeType": "Return", + "src": "6905:20:19" + } + ] + }, + "functionSelector": "e830b690", + "id": 4567, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getMinCollateral", + "nameLocation": "6849:16:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4560, + "nodeType": "ParameterList", + "parameters": [], + "src": "6865:2:19" + }, + "returnParameters": { + "id": 4563, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4562, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4567, + "src": "6889:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4561, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6889:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6888:6:19" + }, + "scope": 6933, + "src": "6840:92:19", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 4574, + "nodeType": "Block", + "src": "6990:32:19", + "statements": [ + { + "expression": { + "id": 4572, + "name": "minPegIn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4340, + "src": "7007:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4571, + "id": 4573, + "nodeType": "Return", + "src": "7000:15:19" + } + ] + }, + "functionSelector": "fa88dcde", + "id": 4575, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getMinPegIn", + "nameLocation": "6947:11:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4568, + "nodeType": "ParameterList", + "parameters": [], + "src": "6958:2:19" + }, + "returnParameters": { + "id": 4571, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4570, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4575, + "src": "6984:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4569, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6984:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6983:6:19" + }, + "scope": 6933, + "src": "6938:84:19", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 4582, + "nodeType": "Block", + "src": "7088:31:19", + "statements": [ + { + "expression": { + "id": 4580, + "name": "rewardP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4342, + "src": "7105:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "functionReturnParameters": 4579, + "id": 4581, + "nodeType": "Return", + "src": "7098:14:19" + } + ] + }, + "functionSelector": "c7213163", + "id": 4583, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getRewardPercentage", + "nameLocation": "7037:19:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4576, + "nodeType": "ParameterList", + "parameters": [], + "src": "7056:2:19" + }, + "returnParameters": { + "id": 4579, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4578, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4583, + "src": "7082:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4577, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7082:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7081:6:19" + }, + "scope": 6933, + "src": "7028:91:19", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 4590, + "nodeType": "Block", + "src": "7186:43:19", + "statements": [ + { + "expression": { + "id": 4588, + "name": "resignDelayInBlocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4344, + "src": "7203:19:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "functionReturnParameters": 4587, + "id": 4589, + "nodeType": "Return", + "src": "7196:26:19" + } + ] + }, + "functionSelector": "bd5798c3", + "id": 4591, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getResignDelayBlocks", + "nameLocation": "7134:20:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4584, + "nodeType": "ParameterList", + "parameters": [], + "src": "7154:2:19" + }, + "returnParameters": { + "id": 4587, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4586, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4591, + "src": "7180:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4585, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7180:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7179:6:19" + }, + "scope": 6933, + "src": "7125:104:19", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 4598, + "nodeType": "Block", + "src": "7292:28:19", + "statements": [ + { + "expression": { + "id": 4596, + "name": "dust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4346, + "src": "7309:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4595, + "id": 4597, + "nodeType": "Return", + "src": "7302:11:19" + } + ] + }, + "functionSelector": "33f07ad3", + "id": 4599, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getDustThreshold", + "nameLocation": "7244:16:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4592, + "nodeType": "ParameterList", + "parameters": [], + "src": "7260:2:19" + }, + "returnParameters": { + "id": 4595, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4594, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4599, + "src": "7286:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4593, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7286:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7285:6:19" + }, + "scope": 6933, + "src": "7235:85:19", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 4611, + "nodeType": "Block", + "src": "7443:57:19", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 4607, + "name": "registeredPegoutQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4361, + "src": "7460:22:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegOutQuote_$9919_storage_$", + "typeString": "mapping(bytes32 => struct Quotes.PegOutQuote storage ref)" + } + }, + "id": 4609, + "indexExpression": { + "id": 4608, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4601, + "src": "7483:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7460:33:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage", + "typeString": "struct Quotes.PegOutQuote storage ref" + } + }, + "functionReturnParameters": 4606, + "id": 4610, + "nodeType": "Return", + "src": "7453:40:19" + } + ] + }, + "functionSelector": "e90d2ddb", + "id": 4612, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getRegisteredPegOutQuote", + "nameLocation": "7335:24:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4601, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "7377:9:19", + "nodeType": "VariableDeclaration", + "scope": 4612, + "src": "7369:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4600, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7369:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "7359:33:19" + }, + "returnParameters": { + "id": 4606, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4605, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4612, + "src": "7416:25:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote" + }, + "typeName": { + "id": 4604, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4603, + "name": "Quotes.PegOutQuote", + "nameLocations": [ + "7416:6:19", + "7423:11:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9919, + "src": "7416:18:19" + }, + "referencedDeclaration": 9919, + "src": "7416:18:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote" + } + }, + "visibility": "internal" + } + ], + "src": "7415:27:19" + }, + "scope": 6933, + "src": "7326:174:19", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 4624, + "nodeType": "Block", + "src": "7586:59:19", + "statements": [ + { + "expression": { + "expression": { + "baseExpression": { + "id": 4619, + "name": "pegoutRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4366, + "src": "7603:14:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegoutRecord_$4156_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContract.PegoutRecord storage ref)" + } + }, + "id": 4621, + "indexExpression": { + "id": 4620, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4614, + "src": "7618:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7603:25:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegoutRecord_$4156_storage", + "typeString": "struct LiquidityBridgeContract.PegoutRecord storage ref" + } + }, + "id": 4622, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7629:9:19", + "memberName": "completed", + "nodeType": "MemberAccess", + "referencedDeclaration": 4155, + "src": "7603:35:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 4618, + "id": 4623, + "nodeType": "Return", + "src": "7596:42:19" + } + ] + }, + "functionSelector": "54015ee0", + "id": 4625, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isPegOutQuoteCompleted", + "nameLocation": "7515:22:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4615, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4614, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "7546:9:19", + "nodeType": "VariableDeclaration", + "scope": 4625, + "src": "7538:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4613, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7538:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "7537:19:19" + }, + "returnParameters": { + "id": 4618, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4617, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4625, + "src": "7580:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4616, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7580:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7579:6:19" + }, + "scope": 6933, + "src": "7506:139:19", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 4643, + "nodeType": "Block", + "src": "7904:79:19", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 4634, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4628, + "src": "7934:4:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4633, + "name": "isRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6589, + "src": "7921:12:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 4635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7921:18:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 4636, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4318, + "src": "7943:10:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4638, + "indexExpression": { + "id": 4637, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4628, + "src": "7954:4:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7943:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 4639, + "name": "minCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4338, + "src": "7963:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7943:33:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7921:55:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 4632, + "id": 4642, + "nodeType": "Return", + "src": "7914:62:19" + } + ] + }, + "documentation": { + "id": 4626, + "nodeType": "StructuredDocumentation", + "src": "7651:182:19", + "text": "@dev Checks whether a liquidity provider can deliver a pegin service\n@return Whether the liquidity provider is registered and has enough locked collateral" + }, + "functionSelector": "457385f2", + "id": 4644, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isOperational", + "nameLocation": "7847:13:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4629, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4628, + "mutability": "mutable", + "name": "addr", + "nameLocation": "7869:4:19", + "nodeType": "VariableDeclaration", + "scope": 4644, + "src": "7861:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4627, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7861:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7860:14:19" + }, + "returnParameters": { + "id": 4632, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4631, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4644, + "src": "7898:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4630, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7898:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7897:6:19" + }, + "scope": 6933, + "src": "7838:145:19", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 4662, + "nodeType": "Block", + "src": "8252:110:19", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 4653, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4647, + "src": "8299:4:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4652, + "name": "isRegisteredForPegout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6609, + "src": "8277:21:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 4654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8277:27:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 4655, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "8316:16:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4657, + "indexExpression": { + "id": 4656, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4647, + "src": "8333:4:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8316:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 4658, + "name": "minCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4338, + "src": "8342:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8316:39:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8277:78:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 4651, + "id": 4661, + "nodeType": "Return", + "src": "8262:93:19" + } + ] + }, + "documentation": { + "id": 4645, + "nodeType": "StructuredDocumentation", + "src": "7989:183:19", + "text": "@dev Checks whether a liquidity provider can deliver a pegout service\n@return Whether the liquidity provider is registered and has enough locked collateral" + }, + "functionSelector": "4d0ec971", + "id": 4663, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isOperationalForPegout", + "nameLocation": "8186:22:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4648, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4647, + "mutability": "mutable", + "name": "addr", + "nameLocation": "8217:4:19", + "nodeType": "VariableDeclaration", + "scope": 4663, + "src": "8209:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4646, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8209:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8208:14:19" + }, + "returnParameters": { + "id": 4651, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4650, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4663, + "src": "8246:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4649, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8246:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "8245:6:19" + }, + "scope": 6933, + "src": "8177:185:19", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 4844, + "nodeType": "Block", + "src": "8658:1473:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 4680, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4666, + "src": "8778:5:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4681, + "name": "_apiBaseUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4668, + "src": "8797:11:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4682, + "name": "_providerType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4672, + "src": "8822:13:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 4679, + "name": "validateRegisterParameters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4923, + "src": "8738:26:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory,string memory) pure" + } + }, + "id": 4683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8738:107:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4684, + "nodeType": "ExpressionStatement", + "src": "8738:107:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 4686, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4318, + "src": "8864:10:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4689, + "indexExpression": { + "expression": { + "id": 4687, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8875:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8879:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8875:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8864:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 4690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8890:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8864:27:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 4692, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "8895:16:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4695, + "indexExpression": { + "expression": { + "id": 4693, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8912:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8916:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8912:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8895:28:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 4696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8927:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8895:33:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8864:64:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303730", + "id": 4699, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8930:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a80fe4c2764b7c4b52829ebb2b1bb3117b2b8ffa6a6401dbe00248ec851a73a8", + "typeString": "literal_string \"LBC070\"" + }, + "value": "LBC070" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a80fe4c2764b7c4b52829ebb2b1bb3117b2b8ffa6a6401dbe00248ec851a73a8", + "typeString": "literal_string \"LBC070\"" + } + ], + "id": 4685, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "8856:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8856:83:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4701, + "nodeType": "ExpressionStatement", + "src": "8856:83:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 4703, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4336, + "src": "8970:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4706, + "indexExpression": { + "expression": { + "id": 4704, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8990:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8994:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8990:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8970:31:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 4707, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9005:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8970:36:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303039", + "id": 4709, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9020:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f838e22b544c153329abcc9856d1b1f7e7f6c83118dc13d7a0606e65edb3cdd8", + "typeString": "literal_string \"LBC009\"" + }, + "value": "LBC009" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f838e22b544c153329abcc9856d1b1f7e7f6c83118dc13d7a0606e65edb3cdd8", + "typeString": "literal_string \"LBC009\"" + } + ], + "id": 4702, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "8949:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8949:89:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4711, + "nodeType": "ExpressionStatement", + "src": "8949:89:19" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 4715, + "name": "_providerType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4672, + "src": "9080:13:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 4713, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "9063:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4714, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9067:12:19", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "9063:16:19", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9063:31:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4712, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "9053:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9053:42:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "706567696e", + "id": 4721, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9126:7:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4dc7b383aaca8b1076677685b160d1864e4801cbbaf42c8044d4665ea1c41120", + "typeString": "literal_string \"pegin\"" + }, + "value": "pegin" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4dc7b383aaca8b1076677685b160d1864e4801cbbaf42c8044d4665ea1c41120", + "typeString": "literal_string \"pegin\"" + } + ], + "expression": { + "id": 4719, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "9109:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4720, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9113:12:19", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "9109:16:19", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9109:25:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4718, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "9099:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9099:36:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "9053:82:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 4745, + "name": "_providerType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4672, + "src": "9292:13:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 4743, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "9275:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9279:12:19", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "9275:16:19", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9275:31:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4742, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "9265:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9265:42:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "7065676f7574", + "id": 4751, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9338:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ac320a165668abf6cbe2f0b8e46bf2426fe38861df98fc1861161bf05a853587", + "typeString": "literal_string \"pegout\"" + }, + "value": "pegout" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ac320a165668abf6cbe2f0b8e46bf2426fe38861df98fc1861161bf05a853587", + "typeString": "literal_string \"pegout\"" + } + ], + "expression": { + "id": 4749, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "9321:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4750, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9325:12:19", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "9321:16:19", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9321:26:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4748, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "9311:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4753, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9311:37:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "9265:83:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 4813, + "nodeType": "Block", + "src": "9480:269:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 4773, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "9502:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9506:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "9502:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4775, + "name": "minCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4338, + "src": "9515:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "32", + "id": 4776, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9531:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "9515:17:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9502:30:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303038", + "id": 4779, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9534:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_26efcc4d852e81be6f75389e4f50496331355ea059764b90ab1412936d29ab69", + "typeString": "literal_string \"LBC008\"" + }, + "value": "LBC008" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_26efcc4d852e81be6f75389e4f50496331355ea059764b90ab1412936d29ab69", + "typeString": "literal_string \"LBC008\"" + } + ], + "id": 4772, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "9494:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9494:49:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4781, + "nodeType": "ExpressionStatement", + "src": "9494:49:19" + }, + { + "assignments": [ + 4783 + ], + "declarations": [ + { + "constant": false, + "id": 4783, + "mutability": "mutable", + "name": "halfMsgValue", + "nameLocation": "9562:12:19", + "nodeType": "VariableDeclaration", + "scope": 4813, + "src": "9557:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4782, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9557:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 4788, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 4784, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "9577:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9581:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "9577:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "hexValue": "32", + "id": 4786, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9589:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "9577:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9557:33:19" + }, + { + "expression": { + "id": 4804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 4789, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4318, + "src": "9604:10:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4792, + "indexExpression": { + "expression": { + "id": 4790, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "9615:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9619:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "9615:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9604:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 4793, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "9629:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9633:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "9629:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "32", + "id": 4795, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9641:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "9629:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 4797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9646:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9629:18:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4800, + "name": "halfMsgValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "9665:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 4801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9680:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "9665:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "9629:52:19", + "trueExpression": { + "id": 4799, + "name": "halfMsgValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "9650:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9604:77:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4805, + "nodeType": "ExpressionStatement", + "src": "9604:77:19" + }, + { + "expression": { + "id": 4811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 4806, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "9695:16:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4809, + "indexExpression": { + "expression": { + "id": 4807, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "9712:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9716:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "9712:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9695:28:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 4810, + "name": "halfMsgValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4783, + "src": "9726:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9695:43:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4812, + "nodeType": "ExpressionStatement", + "src": "9695:43:19" + } + ] + }, + "id": 4814, + "nodeType": "IfStatement", + "src": "9261:488:19", + "trueBody": { + "id": 4771, + "nodeType": "Block", + "src": "9350:124:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 4756, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "9372:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9376:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "9372:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 4758, + "name": "minCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4338, + "src": "9385:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9372:26:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303038", + "id": 4760, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9400:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_26efcc4d852e81be6f75389e4f50496331355ea059764b90ab1412936d29ab69", + "typeString": "literal_string \"LBC008\"" + }, + "value": "LBC008" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_26efcc4d852e81be6f75389e4f50496331355ea059764b90ab1412936d29ab69", + "typeString": "literal_string \"LBC008\"" + } + ], + "id": 4755, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "9364:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9364:45:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4762, + "nodeType": "ExpressionStatement", + "src": "9364:45:19" + }, + { + "expression": { + "id": 4769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 4763, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "9423:16:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4766, + "indexExpression": { + "expression": { + "id": 4764, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "9440:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9444:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "9440:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9423:28:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4767, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "9454:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9458:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "9454:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9423:40:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4770, + "nodeType": "ExpressionStatement", + "src": "9423:40:19" + } + ] + } + }, + "id": 4815, + "nodeType": "IfStatement", + "src": "9049:700:19", + "trueBody": { + "id": 4741, + "nodeType": "Block", + "src": "9137:118:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 4726, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "9159:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9163:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "9159:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 4728, + "name": "minCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4338, + "src": "9172:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9159:26:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303038", + "id": 4730, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9187:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_26efcc4d852e81be6f75389e4f50496331355ea059764b90ab1412936d29ab69", + "typeString": "literal_string \"LBC008\"" + }, + "value": "LBC008" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_26efcc4d852e81be6f75389e4f50496331355ea059764b90ab1412936d29ab69", + "typeString": "literal_string \"LBC008\"" + } + ], + "id": 4725, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "9151:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9151:45:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4732, + "nodeType": "ExpressionStatement", + "src": "9151:45:19" + }, + { + "expression": { + "id": 4739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 4733, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4318, + "src": "9210:10:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 4736, + "indexExpression": { + "expression": { + "id": 4734, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "9221:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9225:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "9221:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9210:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 4737, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "9235:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9239:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "9235:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9210:34:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4740, + "nodeType": "ExpressionStatement", + "src": "9210:34:19" + } + ] + } + }, + { + "expression": { + "id": 4817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "9759:12:19", + "subExpression": { + "id": 4816, + "name": "providerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4348, + "src": "9759:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4818, + "nodeType": "ExpressionStatement", + "src": "9759:12:19" + }, + { + "expression": { + "id": 4831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 4819, + "name": "liquidityProviders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4327, + "src": "9781:18:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_LiquidityProvider_$4169_storage_$", + "typeString": "mapping(uint256 => struct LiquidityBridgeContract.LiquidityProvider storage ref)" + } + }, + "id": 4821, + "indexExpression": { + "id": 4820, + "name": "providerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4348, + "src": "9800:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9781:30:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$4169_storage", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 4823, + "name": "providerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4348, + "src": "9850:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 4824, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "9884:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9888:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "9884:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4826, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4666, + "src": "9914:5:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4827, + "name": "_apiBaseUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4668, + "src": "9945:11:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4828, + "name": "_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4670, + "src": "9978:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4829, + "name": "_providerType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4672, + "src": "10013:13:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 4822, + "name": "LiquidityProvider", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4169, + "src": "9814:17:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_LiquidityProvider_$4169_storage_ptr_$", + "typeString": "type(struct LiquidityBridgeContract.LiquidityProvider storage pointer)" + } + }, + "id": 4830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "9846:2:19", + "9874:8:19", + "9908:4:19", + "9933:10:19", + "9970:6:19", + "9999:12:19" + ], + "names": [ + "id", + "provider", + "name", + "apiBaseUrl", + "status", + "providerType" + ], + "nodeType": "FunctionCall", + "src": "9814:223:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$4169_memory_ptr", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider memory" + } + }, + "src": "9781:256:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$4169_storage", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider storage ref" + } + }, + "id": 4832, + "nodeType": "ExpressionStatement", + "src": "9781:256:19" + }, + { + "eventCall": { + "arguments": [ + { + "id": 4834, + "name": "providerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4348, + "src": "10061:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 4835, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "10073:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10077:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "10073:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 4837, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "10085:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10089:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "10085:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4833, + "name": "Register", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4177, + "src": "10052:8:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (uint256,address,uint256)" + } + }, + "id": 4839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10052:43:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4840, + "nodeType": "EmitStatement", + "src": "10047:48:19" + }, + { + "expression": { + "components": [ + { + "id": 4841, + "name": "providerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4348, + "src": "10113:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4842, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10112:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4678, + "id": 4843, + "nodeType": "Return", + "src": "10105:19:19" + } + ] + }, + "documentation": { + "id": 4664, + "nodeType": "StructuredDocumentation", + "src": "8368:98:19", + "text": "@dev Registers msg.sender as a liquidity provider with msg.value as collateral" + }, + "functionSelector": "41705518", + "id": 4845, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 4675, + "kind": "modifierInvocation", + "modifierName": { + "id": 4674, + "name": "onlyEoa", + "nameLocations": [ + "8635:7:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4403, + "src": "8635:7:19" + }, + "nodeType": "ModifierInvocation", + "src": "8635:7:19" + } + ], + "name": "register", + "nameLocation": "8480:8:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4673, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4666, + "mutability": "mutable", + "name": "_name", + "nameLocation": "8512:5:19", + "nodeType": "VariableDeclaration", + "scope": 4845, + "src": "8498:19:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4665, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8498:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4668, + "mutability": "mutable", + "name": "_apiBaseUrl", + "nameLocation": "8541:11:19", + "nodeType": "VariableDeclaration", + "scope": 4845, + "src": "8527:25:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4667, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8527:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4670, + "mutability": "mutable", + "name": "_status", + "nameLocation": "8567:7:19", + "nodeType": "VariableDeclaration", + "scope": 4845, + "src": "8562:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4669, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8562:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4672, + "mutability": "mutable", + "name": "_providerType", + "nameLocation": "8598:13:19", + "nodeType": "VariableDeclaration", + "scope": 4845, + "src": "8584:27:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4671, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8584:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8488:129:19" + }, + "returnParameters": { + "id": 4678, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4677, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4845, + "src": "8652:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4676, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8652:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8651:6:19" + }, + "scope": 6933, + "src": "8471:1660:19", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 4922, + "nodeType": "Block", + "src": "10373:591:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 4858, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4848, + "src": "10397:5:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 4857, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10391:5:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 4856, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10391:5:19", + "typeDescriptions": {} + } + }, + "id": 4859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10391:12:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 4860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10404:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "10391:19:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 4861, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10413:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10391:23:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303130", + "id": 4863, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10416:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b91014d5c812b217b1f7abf06d04044851a14f3d4efa9b6795d3964c23897cc9", + "typeString": "literal_string \"LBC010\"" + }, + "value": "LBC010" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b91014d5c812b217b1f7abf06d04044851a14f3d4efa9b6795d3964c23897cc9", + "typeString": "literal_string \"LBC010\"" + } + ], + "id": 4855, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "10383:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10383:42:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4865, + "nodeType": "ExpressionStatement", + "src": "10383:42:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 4869, + "name": "_apiBaseUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4850, + "src": "10462:11:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 4868, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10456:5:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 4867, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10456:5:19", + "typeDescriptions": {} + } + }, + "id": 4870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10456:18:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 4871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10475:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "10456:25:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 4872, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10484:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10456:29:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303137", + "id": 4874, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10499:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_849663c0a27b21987cfc03f3233af0a7a46b23f0af09d39a18720d9610bcba81", + "typeString": "literal_string \"LBC017\"" + }, + "value": "LBC017" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_849663c0a27b21987cfc03f3233af0a7a46b23f0af09d39a18720d9610bcba81", + "typeString": "literal_string \"LBC017\"" + } + ], + "id": 4866, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "10435:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10435:82:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4876, + "nodeType": "ExpressionStatement", + "src": "10435:82:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 4881, + "name": "_providerType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4852, + "src": "10638:13:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 4879, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "10621:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4880, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10625:12:19", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "10621:16:19", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10621:31:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4878, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "10611:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10611:42:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "706567696e", + "id": 4887, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10696:7:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4dc7b383aaca8b1076677685b160d1864e4801cbbaf42c8044d4665ea1c41120", + "typeString": "literal_string \"pegin\"" + }, + "value": "pegin" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4dc7b383aaca8b1076677685b160d1864e4801cbbaf42c8044d4665ea1c41120", + "typeString": "literal_string \"pegin\"" + } + ], + "expression": { + "id": 4885, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "10679:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10683:12:19", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "10679:16:19", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4888, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10679:25:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4884, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "10669:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10669:36:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "10611:94:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 4894, + "name": "_providerType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4852, + "src": "10748:13:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 4892, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "10731:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4893, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10735:12:19", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "10731:16:19", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10731:31:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4891, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "10721:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10721:42:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "7065676f7574", + "id": 4900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10806:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ac320a165668abf6cbe2f0b8e46bf2426fe38861df98fc1861161bf05a853587", + "typeString": "literal_string \"pegout\"" + }, + "value": "pegout" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ac320a165668abf6cbe2f0b8e46bf2426fe38861df98fc1861161bf05a853587", + "typeString": "literal_string \"pegout\"" + } + ], + "expression": { + "id": 4898, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "10789:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4899, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10793:12:19", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "10789:16:19", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4901, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10789:26:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4897, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "10779:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4902, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10779:37:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "10721:95:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10611:205:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 4917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 4908, + "name": "_providerType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4852, + "src": "10859:13:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 4906, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "10842:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4907, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10846:12:19", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "10842:16:19", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10842:31:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4905, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "10832:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10832:42:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "626f7468", + "id": 4914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10917:6:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_36ad643d447cde9387780ae6f5b371120b595aaff5d56b8440952d5f7116fa16", + "typeString": "literal_string \"both\"" + }, + "value": "both" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_36ad643d447cde9387780ae6f5b371120b595aaff5d56b8440952d5f7116fa16", + "typeString": "literal_string \"both\"" + } + ], + "expression": { + "id": 4912, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "10900:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4913, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10904:12:19", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "10900:16:19", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4915, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10900:24:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4911, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "10890:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 4916, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10890:35:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "10832:93:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10611:314:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303138", + "id": 4919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10939:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c8a2f96b1c149a2cda2dda6db9bbdafbecddac69bce104e31ad4dd14842e4820", + "typeString": "literal_string \"LBC018\"" + }, + "value": "LBC018" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c8a2f96b1c149a2cda2dda6db9bbdafbecddac69bce104e31ad4dd14842e4820", + "typeString": "literal_string \"LBC018\"" + } + ], + "id": 4877, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "10590:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10590:367:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4921, + "nodeType": "ExpressionStatement", + "src": "10590:367:19" + } + ] + }, + "documentation": { + "id": 4846, + "nodeType": "StructuredDocumentation", + "src": "10137:74:19", + "text": "@dev Validates input parameters for the register function" + }, + "id": 4923, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "validateRegisterParameters", + "nameLocation": "10225:26:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4853, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4848, + "mutability": "mutable", + "name": "_name", + "nameLocation": "10275:5:19", + "nodeType": "VariableDeclaration", + "scope": 4923, + "src": "10261:19:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4847, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10261:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4850, + "mutability": "mutable", + "name": "_apiBaseUrl", + "nameLocation": "10304:11:19", + "nodeType": "VariableDeclaration", + "scope": 4923, + "src": "10290:25:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4849, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10290:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4852, + "mutability": "mutable", + "name": "_providerType", + "nameLocation": "10339:13:19", + "nodeType": "VariableDeclaration", + "scope": 4923, + "src": "10325:27:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4851, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10325:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "10251:107:19" + }, + "returnParameters": { + "id": 4854, + "nodeType": "ParameterList", + "parameters": [], + "src": "10373:0:19" + }, + "scope": 6933, + "src": "10216:748:19", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5003, + "nodeType": "Block", + "src": "11084:618:19", + "statements": [ + { + "assignments": [ + 4937 + ], + "declarations": [ + { + "constant": false, + "id": 4937, + "mutability": "mutable", + "name": "providersToReturn", + "nameLocation": "11121:17:19", + "nodeType": "VariableDeclaration", + "scope": 5003, + "src": "11094:44:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_LiquidityProvider_$4169_memory_ptr_$dyn_memory_ptr", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider[]" + }, + "typeName": { + "baseType": { + "id": 4935, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4934, + "name": "LiquidityProvider", + "nameLocations": [ + "11094:17:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4169, + "src": "11094:17:19" + }, + "referencedDeclaration": 4169, + "src": "11094:17:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$4169_storage_ptr", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider" + } + }, + "id": 4936, + "nodeType": "ArrayTypeName", + "src": "11094:19:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_LiquidityProvider_$4169_storage_$dyn_storage_ptr", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider[]" + } + }, + "visibility": "internal" + } + ], + "id": 4945, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 4942, + "name": "providerIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4926, + "src": "11178:11:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 4943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11190:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "11178:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4941, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "11141:23:19", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_LiquidityProvider_$4169_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (struct LiquidityBridgeContract.LiquidityProvider memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 4939, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4938, + "name": "LiquidityProvider", + "nameLocations": [ + "11145:17:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4169, + "src": "11145:17:19" + }, + "referencedDeclaration": 4169, + "src": "11145:17:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$4169_storage_ptr", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider" + } + }, + "id": 4940, + "nodeType": "ArrayTypeName", + "src": "11145:19:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_LiquidityProvider_$4169_storage_$dyn_storage_ptr", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider[]" + } + } + }, + "id": 4944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11141:65:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_LiquidityProvider_$4169_memory_ptr_$dyn_memory_ptr", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11094:112:19" + }, + { + "assignments": [ + 4947 + ], + "declarations": [ + { + "constant": false, + "id": 4947, + "mutability": "mutable", + "name": "count", + "nameLocation": "11221:5:19", + "nodeType": "VariableDeclaration", + "scope": 5003, + "src": "11216:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4946, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11216:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 4949, + "initialValue": { + "hexValue": "30", + "id": 4948, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11229:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "11216:14:19" + }, + { + "body": { + "id": 4999, + "nodeType": "Block", + "src": "11287:375:19", + "statements": [ + { + "assignments": [ + 4962 + ], + "declarations": [ + { + "constant": false, + "id": 4962, + "mutability": "mutable", + "name": "id", + "nameLocation": "11306:2:19", + "nodeType": "VariableDeclaration", + "scope": 4999, + "src": "11301:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4961, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11301:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 4966, + "initialValue": { + "baseExpression": { + "id": 4963, + "name": "providerIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4926, + "src": "11311:11:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 4965, + "indexExpression": { + "id": 4964, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4951, + "src": "11323:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11311:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11301:24:19" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 4968, + "name": "liquidityProviders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4327, + "src": "11374:18:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_LiquidityProvider_$4169_storage_$", + "typeString": "mapping(uint256 => struct LiquidityBridgeContract.LiquidityProvider storage ref)" + } + }, + "id": 4970, + "indexExpression": { + "id": 4969, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4962, + "src": "11393:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11374:22:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$4169_storage", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider storage ref" + } + }, + "id": 4971, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11397:8:19", + "memberName": "provider", + "nodeType": "MemberAccess", + "referencedDeclaration": 4160, + "src": "11374:31:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4967, + "name": "isRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6589, + "src": "11361:12:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 4972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11361:45:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 4974, + "name": "liquidityProviders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4327, + "src": "11448:18:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_LiquidityProvider_$4169_storage_$", + "typeString": "mapping(uint256 => struct LiquidityBridgeContract.LiquidityProvider storage ref)" + } + }, + "id": 4976, + "indexExpression": { + "id": 4975, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4962, + "src": "11467:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11448:22:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$4169_storage", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider storage ref" + } + }, + "id": 4977, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11471:8:19", + "memberName": "provider", + "nodeType": "MemberAccess", + "referencedDeclaration": 4160, + "src": "11448:31:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4973, + "name": "isRegisteredForPegout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6609, + "src": "11426:21:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 4978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11426:54:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11361:119:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 4980, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11360:121:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "expression": { + "baseExpression": { + "id": 4981, + "name": "liquidityProviders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4327, + "src": "11501:18:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_LiquidityProvider_$4169_storage_$", + "typeString": "mapping(uint256 => struct LiquidityBridgeContract.LiquidityProvider storage ref)" + } + }, + "id": 4983, + "indexExpression": { + "id": 4982, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4962, + "src": "11520:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11501:22:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$4169_storage", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider storage ref" + } + }, + "id": 4984, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11524:6:19", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 4166, + "src": "11501:29:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11360:170:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4998, + "nodeType": "IfStatement", + "src": "11339:313:19", + "trueBody": { + "id": 4997, + "nodeType": "Block", + "src": "11545:107:19", + "statements": [ + { + "expression": { + "id": 4992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 4986, + "name": "providersToReturn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4937, + "src": "11563:17:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_LiquidityProvider_$4169_memory_ptr_$dyn_memory_ptr", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider memory[] memory" + } + }, + "id": 4988, + "indexExpression": { + "id": 4987, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4947, + "src": "11581:5:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11563:24:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$4169_memory_ptr", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 4989, + "name": "liquidityProviders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4327, + "src": "11590:18:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_LiquidityProvider_$4169_storage_$", + "typeString": "mapping(uint256 => struct LiquidityBridgeContract.LiquidityProvider storage ref)" + } + }, + "id": 4991, + "indexExpression": { + "id": 4990, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4962, + "src": "11609:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11590:22:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$4169_storage", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider storage ref" + } + }, + "src": "11563:49:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$4169_memory_ptr", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider memory" + } + }, + "id": 4993, + "nodeType": "ExpressionStatement", + "src": "11563:49:19" + }, + { + "expression": { + "id": 4995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "11630:7:19", + "subExpression": { + "id": 4994, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4947, + "src": "11630:5:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4996, + "nodeType": "ExpressionStatement", + "src": "11630:7:19" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4954, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4951, + "src": "11258:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 4955, + "name": "providerIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4926, + "src": "11262:11:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 4956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11274:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "11262:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11258:22:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5000, + "initializationExpression": { + "assignments": [ + 4951 + ], + "declarations": [ + { + "constant": false, + "id": 4951, + "mutability": "mutable", + "name": "i", + "nameLocation": "11251:1:19", + "nodeType": "VariableDeclaration", + "scope": 5000, + "src": "11246:6:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4950, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11246:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 4953, + "initialValue": { + "hexValue": "30", + "id": 4952, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11255:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "11246:10:19" + }, + "loopExpression": { + "expression": { + "id": 4959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "11282:3:19", + "subExpression": { + "id": 4958, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4951, + "src": "11282:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4960, + "nodeType": "ExpressionStatement", + "src": "11282:3:19" + }, + "nodeType": "ForStatement", + "src": "11241:421:19" + }, + { + "expression": { + "id": 5001, + "name": "providersToReturn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4937, + "src": "11678:17:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_LiquidityProvider_$4169_memory_ptr_$dyn_memory_ptr", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider memory[] memory" + } + }, + "functionReturnParameters": 4932, + "id": 5002, + "nodeType": "Return", + "src": "11671:24:19" + } + ] + }, + "functionSelector": "668dbd83", + "id": 5004, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getProviders", + "nameLocation": "10979:12:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4927, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4926, + "mutability": "mutable", + "name": "providerIds", + "nameLocation": "11015:11:19", + "nodeType": "VariableDeclaration", + "scope": 5004, + "src": "11001:25:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 4924, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11001:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4925, + "nodeType": "ArrayTypeName", + "src": "11001:6:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "10991:41:19" + }, + "returnParameters": { + "id": 4932, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4931, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5004, + "src": "11056:26:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_LiquidityProvider_$4169_memory_ptr_$dyn_memory_ptr", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider[]" + }, + "typeName": { + "baseType": { + "id": 4929, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 4928, + "name": "LiquidityProvider", + "nameLocations": [ + "11056:17:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4169, + "src": "11056:17:19" + }, + "referencedDeclaration": 4169, + "src": "11056:17:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$4169_storage_ptr", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider" + } + }, + "id": 4930, + "nodeType": "ArrayTypeName", + "src": "11056:19:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_LiquidityProvider_$4169_storage_$dyn_storage_ptr", + "typeString": "struct LiquidityBridgeContract.LiquidityProvider[]" + } + }, + "visibility": "internal" + } + ], + "src": "11055:28:19" + }, + "scope": 6933, + "src": "10970:732:19", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 5025, + "nodeType": "Block", + "src": "11843:108:19", + "statements": [ + { + "expression": { + "id": 5016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5010, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4318, + "src": "11853:10:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5013, + "indexExpression": { + "expression": { + "id": 5011, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "11864:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11868:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11864:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11853:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "expression": { + "id": 5014, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "11879:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11883:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "11879:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11853:35:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5017, + "nodeType": "ExpressionStatement", + "src": "11853:35:19" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 5019, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "11922:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11926:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11922:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 5021, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "11934:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11938:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "11934:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5018, + "name": "CollateralIncrease", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4189, + "src": "11903:18:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11903:41:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5024, + "nodeType": "EmitStatement", + "src": "11898:46:19" + } + ] + }, + "documentation": { + "id": 5005, + "nodeType": "StructuredDocumentation", + "src": "11708:73:19", + "text": "@dev Increases the amount of collateral of the sender" + }, + "functionSelector": "9e816999", + "id": 5026, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5008, + "kind": "modifierInvocation", + "modifierName": { + "id": 5007, + "name": "onlyRegistered", + "nameLocations": [ + "11828:14:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4378, + "src": "11828:14:19" + }, + "nodeType": "ModifierInvocation", + "src": "11828:14:19" + } + ], + "name": "addCollateral", + "nameLocation": "11795:13:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5006, + "nodeType": "ParameterList", + "parameters": [], + "src": "11808:2:19" + }, + "returnParameters": { + "id": 5009, + "nodeType": "ParameterList", + "parameters": [], + "src": "11843:0:19" + }, + "scope": 6933, + "src": "11786:165:19", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 5046, + "nodeType": "Block", + "src": "12029:120:19", + "statements": [ + { + "expression": { + "id": 5037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5031, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "12039:16:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5034, + "indexExpression": { + "expression": { + "id": 5032, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12056:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12060:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12056:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12039:28:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "expression": { + "id": 5035, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12071:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12075:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "12071:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12039:41:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5038, + "nodeType": "ExpressionStatement", + "src": "12039:41:19" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 5040, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12120:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12124:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12120:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 5042, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12132:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12136:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "12132:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5039, + "name": "PegoutCollateralIncrease", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4195, + "src": "12095:24:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12095:47:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5045, + "nodeType": "EmitStatement", + "src": "12090:52:19" + } + ] + }, + "functionSelector": "4198687e", + "id": 5047, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5029, + "kind": "modifierInvocation", + "modifierName": { + "id": 5028, + "name": "onlyRegisteredForPegout", + "nameLocations": [ + "12005:23:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4390, + "src": "12005:23:19" + }, + "nodeType": "ModifierInvocation", + "src": "12005:23:19" + } + ], + "name": "addPegoutCollateral", + "nameLocation": "11966:19:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5027, + "nodeType": "ParameterList", + "parameters": [], + "src": "11985:2:19" + }, + "returnParameters": { + "id": 5030, + "nodeType": "ParameterList", + "parameters": [], + "src": "12029:0:19" + }, + "scope": 6933, + "src": "11957:192:19", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 5060, + "nodeType": "Block", + "src": "12271:55:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 5054, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12297:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12301:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12297:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 5056, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12309:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12313:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "12309:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5053, + "name": "increaseBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6549, + "src": "12281:15:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12281:38:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5059, + "nodeType": "ExpressionStatement", + "src": "12281:38:19" + } + ] + }, + "documentation": { + "id": 5048, + "nodeType": "StructuredDocumentation", + "src": "12155:60:19", + "text": "@dev Increases the balance of the sender" + }, + "functionSelector": "d0e30db0", + "id": 5061, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5051, + "kind": "modifierInvocation", + "modifierName": { + "id": 5050, + "name": "onlyRegistered", + "nameLocations": [ + "12256:14:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4378, + "src": "12256:14:19" + }, + "nodeType": "ModifierInvocation", + "src": "12256:14:19" + } + ], + "name": "deposit", + "nameLocation": "12229:7:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5049, + "nodeType": "ParameterList", + "parameters": [], + "src": "12236:2:19" + }, + "returnParameters": { + "id": 5052, + "nodeType": "ParameterList", + "parameters": [], + "src": "12271:0:19" + }, + "scope": 6933, + "src": "12220:106:19", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 5105, + "nodeType": "Block", + "src": "12472:249:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5068, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4314, + "src": "12490:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5071, + "indexExpression": { + "expression": { + "id": 5069, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12499:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12503:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12499:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12490:20:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 5072, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5064, + "src": "12514:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12490:30:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303139", + "id": 5074, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12522:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_41f42e8d0f67be0e87abf05a33ed728b4868df2f2b92840d9519a852352eb909", + "typeString": "literal_string \"LBC019\"" + }, + "value": "LBC019" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_41f42e8d0f67be0e87abf05a33ed728b4868df2f2b92840d9519a852352eb909", + "typeString": "literal_string \"LBC019\"" + } + ], + "id": 5067, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "12482:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12482:49:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5076, + "nodeType": "ExpressionStatement", + "src": "12482:49:19" + }, + { + "expression": { + "id": 5082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5077, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4314, + "src": "12541:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5080, + "indexExpression": { + "expression": { + "id": 5078, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12550:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12554:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12550:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12541:20:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 5081, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5064, + "src": "12565:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12541:30:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5083, + "nodeType": "ExpressionStatement", + "src": "12541:30:19" + }, + { + "assignments": [ + 5085, + null + ], + "declarations": [ + { + "constant": false, + "id": 5085, + "mutability": "mutable", + "name": "success", + "nameLocation": "12587:7:19", + "nodeType": "VariableDeclaration", + "scope": 5105, + "src": "12582:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5084, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12582:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 5093, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 5091, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12630:2:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "expression": { + "id": 5086, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12599:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12603:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12599:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12610:4:19", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "12599:15:19", + "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": 5090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 5089, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5064, + "src": "12622:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "12599:30:19", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 5092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12599:34:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12581:52:19" + }, + { + "expression": { + "arguments": [ + { + "id": 5095, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5085, + "src": "12651:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303230", + "id": 5096, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12660:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5c242c0534fa00b11577be4ea886875d641e4a1ad40749685bb740e7c1a67fc9", + "typeString": "literal_string \"LBC020\"" + }, + "value": "LBC020" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5c242c0534fa00b11577be4ea886875d641e4a1ad40749685bb740e7c1a67fc9", + "typeString": "literal_string \"LBC020\"" + } + ], + "id": 5094, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "12643:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12643:26:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5098, + "nodeType": "ExpressionStatement", + "src": "12643:26:19" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 5100, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12695:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12699:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12695:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5102, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5064, + "src": "12707:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5099, + "name": "Withdrawal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4201, + "src": "12684:10:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12684:30:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5104, + "nodeType": "EmitStatement", + "src": "12679:35:19" + } + ] + }, + "documentation": { + "id": 5062, + "nodeType": "StructuredDocumentation", + "src": "12332:92:19", + "text": "@dev Used to withdraw funds\n@param amount The amount to withdraw" + }, + "functionSelector": "2e1a7d4d", + "id": 5106, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "withdraw", + "nameLocation": "12438:8:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5065, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5064, + "mutability": "mutable", + "name": "amount", + "nameLocation": "12455:6:19", + "nodeType": "VariableDeclaration", + "scope": 5106, + "src": "12447:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5063, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12447:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12446:16:19" + }, + "returnParameters": { + "id": 5066, + "nodeType": "ParameterList", + "parameters": [], + "src": "12472:0:19" + }, + "scope": 6933, + "src": "12429:292:19", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 5175, + "nodeType": "Block", + "src": "12834:493:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5111, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4336, + "src": "12852:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5114, + "indexExpression": { + "expression": { + "id": 5112, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12872:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12876:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12872:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12852:31:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 5115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12886:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12852:35:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303231", + "id": 5117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12889:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ccfdeeda37cff52b8b53c7f459ead001a00858d8cd279133dc1e599c6257c485", + "typeString": "literal_string \"LBC021\"" + }, + "value": "LBC021" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ccfdeeda37cff52b8b53c7f459ead001a00858d8cd279133dc1e599c6257c485", + "typeString": "literal_string \"LBC021\"" + } + ], + "id": 5110, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "12844:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12844:54:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5119, + "nodeType": "ExpressionStatement", + "src": "12844:54:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5121, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "12929:5:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 5122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12935:6:19", + "memberName": "number", + "nodeType": "MemberAccess", + "src": "12929:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "baseExpression": { + "id": 5123, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4336, + "src": "12944:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5126, + "indexExpression": { + "expression": { + "id": 5124, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12964:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12968:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12964:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12944:31:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12929:46:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 5128, + "name": "resignDelayInBlocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4344, + "src": "12991:19:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "12929:81:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303232", + "id": 5130, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13024:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ae5a5bd2536c79a56736074670f517df1b8a17deb822b59dfa1648888074b4cc", + "typeString": "literal_string \"LBC022\"" + }, + "value": "LBC022" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ae5a5bd2536c79a56736074670f517df1b8a17deb822b59dfa1648888074b4cc", + "typeString": "literal_string \"LBC022\"" + } + ], + "id": 5120, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "12908:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12908:134:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5132, + "nodeType": "ExpressionStatement", + "src": "12908:134:19" + }, + { + "assignments": [ + 5134 + ], + "declarations": [ + { + "constant": false, + "id": 5134, + "mutability": "mutable", + "name": "amount", + "nameLocation": "13057:6:19", + "nodeType": "VariableDeclaration", + "scope": 5175, + "src": "13052:11:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5133, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13052:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5139, + "initialValue": { + "baseExpression": { + "id": 5135, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4318, + "src": "13066:10:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5138, + "indexExpression": { + "expression": { + "id": 5136, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13077:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13081:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13077:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13066:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13052:36:19" + }, + { + "expression": { + "id": 5145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5140, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4318, + "src": "13098:10:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5143, + "indexExpression": { + "expression": { + "id": 5141, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13109:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13113:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13109:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13098:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 5144, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13123:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13098:26:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5146, + "nodeType": "ExpressionStatement", + "src": "13098:26:19" + }, + { + "expression": { + "id": 5152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5147, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4336, + "src": "13134:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5150, + "indexExpression": { + "expression": { + "id": 5148, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13154:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13158:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13154:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13134:31:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 5151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13168:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13134:35:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5153, + "nodeType": "ExpressionStatement", + "src": "13134:35:19" + }, + { + "assignments": [ + 5155, + null + ], + "declarations": [ + { + "constant": false, + "id": 5155, + "mutability": "mutable", + "name": "success", + "nameLocation": "13185:7:19", + "nodeType": "VariableDeclaration", + "scope": 5175, + "src": "13180:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5154, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13180:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 5163, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 5161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13228:2:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "expression": { + "id": 5156, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13197:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13201:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13197:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13208:4:19", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "13197:15:19", + "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": 5160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 5159, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5134, + "src": "13220:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "13197:30:19", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 5162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13197:34:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13179:52:19" + }, + { + "expression": { + "arguments": [ + { + "id": 5165, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5155, + "src": "13249:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303230", + "id": 5166, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13258:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5c242c0534fa00b11577be4ea886875d641e4a1ad40749685bb740e7c1a67fc9", + "typeString": "literal_string \"LBC020\"" + }, + "value": "LBC020" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5c242c0534fa00b11577be4ea886875d641e4a1ad40749685bb740e7c1a67fc9", + "typeString": "literal_string \"LBC020\"" + } + ], + "id": 5164, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "13241:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13241:26:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5168, + "nodeType": "ExpressionStatement", + "src": "13241:26:19" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 5170, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13301:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13305:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13301:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5172, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5134, + "src": "13313:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5169, + "name": "WithdrawCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4207, + "src": "13282:18:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13282:38:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5174, + "nodeType": "EmitStatement", + "src": "13277:43:19" + } + ] + }, + "documentation": { + "id": 5107, + "nodeType": "StructuredDocumentation", + "src": "12727:63:19", + "text": "@dev Used to withdraw the locked collateral" + }, + "functionSelector": "59c153be", + "id": 5176, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "withdrawCollateral", + "nameLocation": "12804:18:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5108, + "nodeType": "ParameterList", + "parameters": [], + "src": "12822:2:19" + }, + "returnParameters": { + "id": 5109, + "nodeType": "ParameterList", + "parameters": [], + "src": "12834:0:19" + }, + "scope": 6933, + "src": "12795:532:19", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 5244, + "nodeType": "Block", + "src": "13378:511:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5180, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4336, + "src": "13396:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5183, + "indexExpression": { + "expression": { + "id": 5181, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13416:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13420:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13416:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13396:31:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 5184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13430:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13396:35:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303231", + "id": 5186, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13433:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ccfdeeda37cff52b8b53c7f459ead001a00858d8cd279133dc1e599c6257c485", + "typeString": "literal_string \"LBC021\"" + }, + "value": "LBC021" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ccfdeeda37cff52b8b53c7f459ead001a00858d8cd279133dc1e599c6257c485", + "typeString": "literal_string \"LBC021\"" + } + ], + "id": 5179, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "13388:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13388:54:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5188, + "nodeType": "ExpressionStatement", + "src": "13388:54:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5190, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "13473:5:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 5191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13479:6:19", + "memberName": "number", + "nodeType": "MemberAccess", + "src": "13473:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "baseExpression": { + "id": 5192, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4336, + "src": "13488:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5195, + "indexExpression": { + "expression": { + "id": 5193, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13508:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13512:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13508:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13488:31:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13473:46:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 5197, + "name": "resignDelayInBlocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4344, + "src": "13535:19:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "13473:81:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303232", + "id": 5199, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13568:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ae5a5bd2536c79a56736074670f517df1b8a17deb822b59dfa1648888074b4cc", + "typeString": "literal_string \"LBC022\"" + }, + "value": "LBC022" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ae5a5bd2536c79a56736074670f517df1b8a17deb822b59dfa1648888074b4cc", + "typeString": "literal_string \"LBC022\"" + } + ], + "id": 5189, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "13452:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13452:134:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5201, + "nodeType": "ExpressionStatement", + "src": "13452:134:19" + }, + { + "assignments": [ + 5203 + ], + "declarations": [ + { + "constant": false, + "id": 5203, + "mutability": "mutable", + "name": "amount", + "nameLocation": "13601:6:19", + "nodeType": "VariableDeclaration", + "scope": 5244, + "src": "13596:11:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5202, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13596:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5208, + "initialValue": { + "baseExpression": { + "id": 5204, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "13610:16:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5207, + "indexExpression": { + "expression": { + "id": 5205, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13627:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13631:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13627:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13610:28:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13596:42:19" + }, + { + "expression": { + "id": 5214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5209, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "13648:16:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5212, + "indexExpression": { + "expression": { + "id": 5210, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13665:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13669:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13665:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13648:28:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 5213, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13679:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13648:32:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5215, + "nodeType": "ExpressionStatement", + "src": "13648:32:19" + }, + { + "expression": { + "id": 5221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5216, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4336, + "src": "13690:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5219, + "indexExpression": { + "expression": { + "id": 5217, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13710:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13714:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13710:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13690:31:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 5220, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13724:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13690:35:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5222, + "nodeType": "ExpressionStatement", + "src": "13690:35:19" + }, + { + "assignments": [ + 5224, + null + ], + "declarations": [ + { + "constant": false, + "id": 5224, + "mutability": "mutable", + "name": "success", + "nameLocation": "13741:7:19", + "nodeType": "VariableDeclaration", + "scope": 5244, + "src": "13736:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5223, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13736:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 5232, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 5230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13784:2:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "expression": { + "id": 5225, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13753:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13757:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13753:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13764:4:19", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "13753:15:19", + "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": 5229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 5228, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5203, + "src": "13776:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "13753:30:19", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 5231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13753:34:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13735:52:19" + }, + { + "expression": { + "arguments": [ + { + "id": 5234, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5224, + "src": "13805:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303230", + "id": 5235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13814:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5c242c0534fa00b11577be4ea886875d641e4a1ad40749685bb740e7c1a67fc9", + "typeString": "literal_string \"LBC020\"" + }, + "value": "LBC020" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5c242c0534fa00b11577be4ea886875d641e4a1ad40749685bb740e7c1a67fc9", + "typeString": "literal_string \"LBC020\"" + } + ], + "id": 5233, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "13797:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13797:26:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5237, + "nodeType": "ExpressionStatement", + "src": "13797:26:19" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 5239, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13863:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13867:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13863:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5241, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5203, + "src": "13875:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5238, + "name": "PegoutWithdrawCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4213, + "src": "13838:24:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13838:44:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5243, + "nodeType": "EmitStatement", + "src": "13833:49:19" + } + ] + }, + "functionSelector": "35510a7d", + "id": 5245, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "withdrawPegoutCollateral", + "nameLocation": "13342:24:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5177, + "nodeType": "ParameterList", + "parameters": [], + "src": "13366:2:19" + }, + "returnParameters": { + "id": 5178, + "nodeType": "ParameterList", + "parameters": [], + "src": "13378:0:19" + }, + "scope": 6933, + "src": "13333:556:19", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 5274, + "nodeType": "Block", + "src": "14005:163:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5252, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4336, + "src": "14023:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5255, + "indexExpression": { + "expression": { + "id": 5253, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "14043:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14047:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14043:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14023:31:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 5256, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14058:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14023:36:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303233", + "id": 5258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14061:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1e153c8413fa71b1dc88c42214ae3211e20bbd7d323adc3a7cb82fb90c05d672", + "typeString": "literal_string \"LBC023\"" + }, + "value": "LBC023" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1e153c8413fa71b1dc88c42214ae3211e20bbd7d323adc3a7cb82fb90c05d672", + "typeString": "literal_string \"LBC023\"" + } + ], + "id": 5251, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "14015:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14015:55:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5260, + "nodeType": "ExpressionStatement", + "src": "14015:55:19" + }, + { + "expression": { + "id": 5267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5261, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4336, + "src": "14080:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5264, + "indexExpression": { + "expression": { + "id": 5262, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "14100:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14104:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14100:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14080:31:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 5265, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "14114:5:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 5266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14120:6:19", + "memberName": "number", + "nodeType": "MemberAccess", + "src": "14114:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14080:46:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5268, + "nodeType": "ExpressionStatement", + "src": "14080:46:19" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 5270, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "14150:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14154:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14150:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5269, + "name": "Resigned", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4217, + "src": "14141:8:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14141:20:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5273, + "nodeType": "EmitStatement", + "src": "14136:25:19" + } + ] + }, + "documentation": { + "id": 5246, + "nodeType": "StructuredDocumentation", + "src": "13895:63:19", + "text": "@dev Used to resign as a liquidity provider" + }, + "functionSelector": "69652fcf", + "id": 5275, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5249, + "kind": "modifierInvocation", + "modifierName": { + "id": 5248, + "name": "onlyRegistered", + "nameLocations": [ + "13990:14:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4378, + "src": "13990:14:19" + }, + "nodeType": "ModifierInvocation", + "src": "13990:14:19" + } + ], + "name": "resign", + "nameLocation": "13972:6:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5247, + "nodeType": "ParameterList", + "parameters": [], + "src": "13978:2:19" + }, + "returnParameters": { + "id": 5250, + "nodeType": "ParameterList", + "parameters": [], + "src": "14005:0:19" + }, + "scope": 6933, + "src": "13963:205:19", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 5287, + "nodeType": "Block", + "src": "14435:40:19", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 5283, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4318, + "src": "14452:10:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5285, + "indexExpression": { + "id": 5284, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5278, + "src": "14463:4:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14452:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5282, + "id": 5286, + "nodeType": "Return", + "src": "14445:23:19" + } + ] + }, + "documentation": { + "id": 5276, + "nodeType": "StructuredDocumentation", + "src": "14174:187:19", + "text": "@dev Returns the amount of collateral of a liquidity provider\n@param addr The address of the liquidity provider\n@return The amount of locked collateral" + }, + "functionSelector": "9b56d6c9", + "id": 5288, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getCollateral", + "nameLocation": "14375:13:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5279, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5278, + "mutability": "mutable", + "name": "addr", + "nameLocation": "14397:4:19", + "nodeType": "VariableDeclaration", + "scope": 5288, + "src": "14389:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5277, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14389:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "14388:14:19" + }, + "returnParameters": { + "id": 5282, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5281, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5288, + "src": "14426:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5280, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14426:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14425:9:19" + }, + "scope": 6933, + "src": "14366:109:19", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 5299, + "nodeType": "Block", + "src": "14556:46:19", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 5295, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "14573:16:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5297, + "indexExpression": { + "id": 5296, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5290, + "src": "14590:4:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14573:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5294, + "id": 5298, + "nodeType": "Return", + "src": "14566:29:19" + } + ] + }, + "functionSelector": "bd519eff", + "id": 5300, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getPegoutCollateral", + "nameLocation": "14490:19:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5291, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5290, + "mutability": "mutable", + "name": "addr", + "nameLocation": "14518:4:19", + "nodeType": "VariableDeclaration", + "scope": 5300, + "src": "14510:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5289, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14510:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "14509:14:19" + }, + "returnParameters": { + "id": 5294, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5293, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5300, + "src": "14547:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5292, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14547:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14546:9:19" + }, + "scope": 6933, + "src": "14481:121:19", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 5312, + "nodeType": "Block", + "src": "14867:38:19", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 5308, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4314, + "src": "14884:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5310, + "indexExpression": { + "id": 5309, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5303, + "src": "14893:4:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14884:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5307, + "id": 5311, + "nodeType": "Return", + "src": "14877:21:19" + } + ] + }, + "documentation": { + "id": 5301, + "nodeType": "StructuredDocumentation", + "src": "14608:188:19", + "text": "@dev Returns the amount of funds of a liquidity provider\n@param addr The address of the liquidity provider\n@return The balance of the liquidity provider" + }, + "functionSelector": "f8b2cb4f", + "id": 5313, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBalance", + "nameLocation": "14810:10:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5304, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5303, + "mutability": "mutable", + "name": "addr", + "nameLocation": "14829:4:19", + "nodeType": "VariableDeclaration", + "scope": 5313, + "src": "14821:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5302, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14821:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "14820:14:19" + }, + "returnParameters": { + "id": 5307, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5306, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5313, + "src": "14858:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5305, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14858:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14857:9:19" + }, + "scope": 6933, + "src": "14801:104:19", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 5459, + "nodeType": "Block", + "src": "15229:1462:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5327, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "15260:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15264:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15260:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 5329, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5317, + "src": "15274:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5330, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15280:27:19", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9853, + "src": "15274:33:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15260:47:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303234", + "id": 5332, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15321:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9c6c58d5603e5b2aab0d13c183f0136466f0ce13826630d90e079bf910078715", + "typeString": "literal_string \"LBC024\"" + }, + "value": "LBC024" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_9c6c58d5603e5b2aab0d13c183f0136466f0ce13826630d90e079bf910078715", + "typeString": "literal_string \"LBC024\"" + } + ], + "id": 5326, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "15239:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15239:100:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5334, + "nodeType": "ExpressionStatement", + "src": "15239:100:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5336, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4314, + "src": "15370:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5339, + "indexExpression": { + "expression": { + "id": 5337, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5317, + "src": "15379:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5338, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15385:27:19", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9853, + "src": "15379:33:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15370:43:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 5340, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "15416:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15420:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "15416:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15370:55:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "expression": { + "id": 5343, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5317, + "src": "15441:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15447:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 9873, + "src": "15441:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15370:82:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303139", + "id": 5346, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15466:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_41f42e8d0f67be0e87abf05a33ed728b4868df2f2b92840d9519a852352eb909", + "typeString": "literal_string \"LBC019\"" + }, + "value": "LBC019" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_41f42e8d0f67be0e87abf05a33ed728b4868df2f2b92840d9519a852352eb909", + "typeString": "literal_string \"LBC019\"" + } + ], + "id": 5335, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "15349:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15349:135:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5348, + "nodeType": "ExpressionStatement", + "src": "15349:135:19" + }, + { + "assignments": [ + 5350 + ], + "declarations": [ + { + "constant": false, + "id": 5350, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "15503:9:19", + "nodeType": "VariableDeclaration", + "scope": 5459, + "src": "15495:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5349, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15495:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 5354, + "initialValue": { + "arguments": [ + { + "id": 5352, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5317, + "src": "15536:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + ], + "id": 5351, + "name": "validateAndHashQuote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6486, + "src": "15515:20:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_PeginQuote_$9884_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct Quotes.PeginQuote memory) view returns (bytes32)" + } + }, + "id": 5353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15515:27:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15495:47:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 5360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5356, + "name": "processedQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4356, + "src": "15573:15:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + } + }, + "id": 5358, + "indexExpression": { + "id": 5357, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5350, + "src": "15589:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15573:26:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 5359, + "name": "UNPROCESSED_QUOTE_CODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4091, + "src": "15603:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "15573:52:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303235", + "id": 5361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15639:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ceda09d74f8a59745bfad5393e75482469dc6db77c24fde6f52df4409a3f744c", + "typeString": "literal_string \"LBC025\"" + }, + "value": "LBC025" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ceda09d74f8a59745bfad5393e75482469dc6db77c24fde6f52df4409a3f744c", + "typeString": "literal_string \"LBC025\"" + } + ], + "id": 5355, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "15552:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15552:105:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5363, + "nodeType": "ExpressionStatement", + "src": "15552:105:19" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 5365, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5317, + "src": "15684:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5366, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15690:27:19", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9853, + "src": "15684:33:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 5367, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "15719:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15723:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "15719:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5364, + "name": "increaseBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6549, + "src": "15668:15:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15668:61:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5370, + "nodeType": "ExpressionStatement", + "src": "15668:61:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5372, + "name": "gasleft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967289, + "src": "15862:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 5373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15862:9:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 5377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5374, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5317, + "src": "15875:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5375, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15881:8:19", + "memberName": "gasLimit", + "nodeType": "MemberAccess", + "referencedDeclaration": 9869, + "src": "15875:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 5376, + "name": "MAX_CALL_GAS_COST", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4085, + "src": "15892:17:19", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "src": "15875:34:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "15862:47:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303236", + "id": 5379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15923:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2d63cc93f65e3c34ca5cba24271c3d6869155fb2ffc83f083d82378f26d56cb0", + "typeString": "literal_string \"LBC026\"" + }, + "value": "LBC026" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_2d63cc93f65e3c34ca5cba24271c3d6869155fb2ffc83f083d82378f26d56cb0", + "typeString": "literal_string \"LBC026\"" + } + ], + "id": 5371, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "15841:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15841:100:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5381, + "nodeType": "ExpressionStatement", + "src": "15841:100:19" + }, + { + "assignments": [ + 5383, + null + ], + "declarations": [ + { + "constant": false, + "id": 5383, + "mutability": "mutable", + "name": "success", + "nameLocation": "15957:7:19", + "nodeType": "VariableDeclaration", + "scope": 5459, + "src": "15952:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5382, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15952:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 5395, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 5392, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5317, + "src": "16083:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5393, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16089:4:19", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 9867, + "src": "16083:10:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "expression": { + "id": 5384, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5317, + "src": "15969:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5385, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15975:15:19", + "memberName": "contractAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9865, + "src": "15969:21:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15991:4:19", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "15969:26:19", + "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": 5391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "gas", + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "expression": { + "id": 5387, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5317, + "src": "16018:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5388, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16024:8:19", + "memberName": "gasLimit", + "nodeType": "MemberAccess", + "referencedDeclaration": 9869, + "src": "16018:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 5389, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5317, + "src": "16057:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5390, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16063:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 9873, + "src": "16057:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "15969:113:19", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 5394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15969:125:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15951:143:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5397, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "16113:5:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 5398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16119:9:19", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "16113:15:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 5401, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16137:6:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": { + "id": 5400, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "16137:6:19", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + } + ], + "id": 5399, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967269, + "src": "16132:4:19", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5402, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16132:12:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint32", + "typeString": "type(uint32)" + } + }, + "id": 5403, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "16145:3:19", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "16132:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "16113:35:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303237", + "id": 5405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16150:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5a937cad92792f08abdaf15eed65a070909c29d924f856ec65923c138fd39a48", + "typeString": "literal_string \"LBC027\"" + }, + "value": "LBC027" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5a937cad92792f08abdaf15eed65a070909c29d924f856ec65923c138fd39a48", + "typeString": "literal_string \"LBC027\"" + } + ], + "id": 5396, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "16105:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16105:54:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5407, + "nodeType": "ExpressionStatement", + "src": "16105:54:19" + }, + { + "expression": { + "id": 5417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 5408, + "name": "callRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4332, + "src": "16169:12:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$4151_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContract.Registry storage ref)" + } + }, + "id": 5410, + "indexExpression": { + "id": 5409, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5350, + "src": "16182:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16169:23:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Registry_$4151_storage", + "typeString": "struct LiquidityBridgeContract.Registry storage ref" + } + }, + "id": 5411, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "16193:9:19", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 4148, + "src": "16169:33:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 5414, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "16212:5:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 5415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16218:9:19", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "16212:15:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5413, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16205:6:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": { + "id": 5412, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "16205:6:19", + "typeDescriptions": {} + } + }, + "id": 5416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16205:23:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "16169:59:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 5418, + "nodeType": "ExpressionStatement", + "src": "16169:59:19" + }, + { + "condition": { + "id": 5419, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5383, + "src": "16243:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5435, + "nodeType": "IfStatement", + "src": "16239:153:19", + "trueBody": { + "id": 5434, + "nodeType": "Block", + "src": "16252:140:19", + "statements": [ + { + "expression": { + "id": 5425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 5420, + "name": "callRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4332, + "src": "16266:12:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$4151_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContract.Registry storage ref)" + } + }, + "id": 5422, + "indexExpression": { + "id": 5421, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5350, + "src": "16279:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16266:23:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Registry_$4151_storage", + "typeString": "struct LiquidityBridgeContract.Registry storage ref" + } + }, + "id": 5423, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "16290:7:19", + "memberName": "success", + "nodeType": "MemberAccess", + "referencedDeclaration": 4150, + "src": "16266:31:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 5424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16300:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "16266:38:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5426, + "nodeType": "ExpressionStatement", + "src": "16266:38:19" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 5428, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5317, + "src": "16334:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5429, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16340:27:19", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9853, + "src": "16334:33:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 5430, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5317, + "src": "16369:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5431, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16375:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 9873, + "src": "16369:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5427, + "name": "decreaseBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6568, + "src": "16318:15:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16318:63:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5433, + "nodeType": "ExpressionStatement", + "src": "16318:63:19" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 5437, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "16431:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16435:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "16431:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 5439, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5317, + "src": "16455:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5440, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16461:15:19", + "memberName": "contractAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9865, + "src": "16455:21:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 5441, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5317, + "src": "16490:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5442, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16496:8:19", + "memberName": "gasLimit", + "nodeType": "MemberAccess", + "referencedDeclaration": 9869, + "src": "16490:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 5443, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5317, + "src": "16518:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5444, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16524:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 9873, + "src": "16518:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 5445, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5317, + "src": "16543:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5446, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16549:4:19", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 9867, + "src": "16543:10:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 5447, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5383, + "src": "16567:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5448, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5350, + "src": "16588:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5436, + "name": "CallForUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4233, + "src": "16406:11:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$_t_bool_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,uint256,uint256,bytes memory,bool,bytes32)" + } + }, + "id": 5449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16406:201:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5450, + "nodeType": "EmitStatement", + "src": "16401:206:19" + }, + { + "expression": { + "id": 5455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5451, + "name": "processedQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4356, + "src": "16617:15:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + } + }, + "id": 5453, + "indexExpression": { + "id": 5452, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5350, + "src": "16633:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "16617:26:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5454, + "name": "CALL_DONE_CODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4094, + "src": "16646:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "16617:43:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 5456, + "nodeType": "ExpressionStatement", + "src": "16617:43:19" + }, + { + "expression": { + "id": 5457, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5383, + "src": "16677:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5325, + "id": 5458, + "nodeType": "Return", + "src": "16670:14:19" + } + ] + }, + "documentation": { + "id": 5314, + "nodeType": "StructuredDocumentation", + "src": "14911:186:19", + "text": "@dev Performs a call on behalf of a user\n@param quote The quote that identifies the service\n@return Boolean indicating whether the call was successful" + }, + "functionSelector": "ac29d744", + "id": 5460, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5320, + "kind": "modifierInvocation", + "modifierName": { + "id": 5319, + "name": "onlyRegistered", + "nameLocations": [ + "15186:14:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4378, + "src": "15186:14:19" + }, + "nodeType": "ModifierInvocation", + "src": "15186:14:19" + }, + { + "id": 5322, + "kind": "modifierInvocation", + "modifierName": { + "id": 5321, + "name": "nonReentrant", + "nameLocations": [ + "15201:12:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 344, + "src": "15201:12:19" + }, + "nodeType": "ModifierInvocation", + "src": "15201:12:19" + } + ], + "name": "callForUser", + "nameLocation": "15111:11:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5318, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5317, + "mutability": "mutable", + "name": "quote", + "nameLocation": "15157:5:19", + "nodeType": "VariableDeclaration", + "scope": 5460, + "src": "15132:30:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote" + }, + "typeName": { + "id": 5316, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5315, + "name": "Quotes.PeginQuote", + "nameLocations": [ + "15132:6:19", + "15139:10:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9884, + "src": "15132:17:19" + }, + "referencedDeclaration": 9884, + "src": "15132:17:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_storage_ptr", + "typeString": "struct Quotes.PeginQuote" + } + }, + "visibility": "internal" + } + ], + "src": "15122:46:19" + }, + "returnParameters": { + "id": 5325, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5324, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5460, + "src": "15223:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5323, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15223:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "15222:6:19" + }, + "scope": 6933, + "src": "15102:1589:19", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 5850, + "nodeType": "Block", + "src": "17450:6157:19", + "statements": [ + { + "assignments": [ + 5480 + ], + "declarations": [ + { + "constant": false, + "id": 5480, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "17468:9:19", + "nodeType": "VariableDeclaration", + "scope": 5850, + "src": "17460:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5479, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17460:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 5484, + "initialValue": { + "arguments": [ + { + "id": 5482, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "17501:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + ], + "id": 5481, + "name": "validateAndHashQuote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6486, + "src": "17480:20:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_PeginQuote_$9884_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct Quotes.PeginQuote memory) view returns (bytes32)" + } + }, + "id": 5483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17480:27:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17460:47:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 5490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5486, + "name": "processedQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4356, + "src": "17633:15:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + } + }, + "id": 5488, + "indexExpression": { + "id": 5487, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5480, + "src": "17649:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17633:26:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 5489, + "name": "CALL_DONE_CODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4094, + "src": "17663:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "17633:44:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303238", + "id": 5491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17691:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4c4b8fd0ae53a3caa85e74f53bba210cefdcb0e1d1c519eb8385d2cd3741f7fb", + "typeString": "literal_string \"LBC028\"" + }, + "value": "LBC028" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4c4b8fd0ae53a3caa85e74f53bba210cefdcb0e1d1c519eb8385d2cd3741f7fb", + "typeString": "literal_string \"LBC028\"" + } + ], + "id": 5485, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "17612:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17612:97:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5493, + "nodeType": "ExpressionStatement", + "src": "17612:97:19" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 5497, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "17783:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5498, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17789:27:19", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9853, + "src": "17783:33:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5499, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5480, + "src": "17834:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5500, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5466, + "src": "17861:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 5495, + "name": "SignatureValidator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10454, + "src": "17740:18:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SignatureValidator_$10454_$", + "typeString": "type(library SignatureValidator)" + } + }, + "id": 5496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17759:6:19", + "memberName": "verify", + "nodeType": "MemberAccess", + "referencedDeclaration": 10453, + "src": "17740:25:19", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,bytes32,bytes memory) pure returns (bool)" + } + }, + "id": 5501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17740:144:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303239", + "id": 5502, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17898:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ebb41fd1c3d95b8eaff1e56d491f7a983f7f3039fac57e6fad7993de139e2216", + "typeString": "literal_string \"LBC029\"" + }, + "value": "LBC029" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ebb41fd1c3d95b8eaff1e56d491f7a983f7f3039fac57e6fad7993de139e2216", + "typeString": "literal_string \"LBC029\"" + } + ], + "id": 5494, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "17719:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17719:197:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5504, + "nodeType": "ExpressionStatement", + "src": "17719:197:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5506, + "name": "height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5472, + "src": "17934:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "arguments": [ + { + "id": 5513, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17963:5:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int32_$", + "typeString": "type(int32)" + }, + "typeName": { + "id": 5512, + "name": "int32", + "nodeType": "ElementaryTypeName", + "src": "17963:5:19", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_int32_$", + "typeString": "type(int32)" + } + ], + "id": 5511, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967269, + "src": "17958:4:19", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5514, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17958:11:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_int32", + "typeString": "type(int32)" + } + }, + "id": 5515, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "17970:3:19", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "17958:15:19", + "typeDescriptions": { + "typeIdentifier": "t_int32", + "typeString": "int32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int32", + "typeString": "int32" + } + ], + "id": 5510, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17951:6:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 5509, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "17951:6:19", + "typeDescriptions": {} + } + }, + "id": 5516, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17951:23:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 5508, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17943:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 5507, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17943:7:19", + "typeDescriptions": {} + } + }, + "id": 5517, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17943:32:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17934:41:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303330", + "id": 5519, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17977:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6b987c2142a6ed89e76021f4d9a60f3cbfc2f7110bd81bc33ff58ad7cf27befa", + "typeString": "literal_string \"LBC030\"" + }, + "value": "LBC030" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6b987c2142a6ed89e76021f4d9a60f3cbfc2f7110bd81bc33ff58ad7cf27befa", + "typeString": "literal_string \"LBC030\"" + } + ], + "id": 5505, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "17926:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17926:60:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5521, + "nodeType": "ExpressionStatement", + "src": "17926:60:19" + }, + { + "assignments": [ + 5523 + ], + "declarations": [ + { + "constant": false, + "id": 5523, + "mutability": "mutable", + "name": "transferredAmountOrErrorCode", + "nameLocation": "18004:28:19", + "nodeType": "VariableDeclaration", + "scope": 5850, + "src": "17997:35:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 5522, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "17997:6:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "id": 5531, + "initialValue": { + "arguments": [ + { + "id": 5525, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "18063:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + { + "id": 5526, + "name": "btcRawTransaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5468, + "src": "18082:17:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 5527, + "name": "partialMerkleTree", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5470, + "src": "18113:17:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 5528, + "name": "height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5472, + "src": "18144:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5529, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5480, + "src": "18164:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5524, + "name": "registerBridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6654, + "src": "18035:14:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PeginQuote_$9884_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$_t_int256_$", + "typeString": "function (struct Quotes.PeginQuote memory,bytes memory,bytes memory,uint256,bytes32) returns (int256)" + } + }, + "id": 5530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18035:148:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17997:186:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 5535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5533, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5523, + "src": "18215:28:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 5534, + "name": "BRIDGE_UNPROCESSABLE_TX_VALIDATIONS_ERROR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4121, + "src": "18259:41:19", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "src": "18215:85:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303331", + "id": 5536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18314:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b9f5a33cea5e5738277827f2f81faa92d1d3c73cf030e2542a7b80c6f7bdc8a7", + "typeString": "literal_string \"LBC031\"" + }, + "value": "LBC031" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b9f5a33cea5e5738277827f2f81faa92d1d3c73cf030e2542a7b80c6f7bdc8a7", + "typeString": "literal_string \"LBC031\"" + } + ], + "id": 5532, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "18194:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18194:138:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5538, + "nodeType": "ExpressionStatement", + "src": "18194:138:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 5542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5540, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5523, + "src": "18363:28:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 5541, + "name": "BRIDGE_UNPROCESSABLE_TX_ALREADY_PROCESSED_ERROR_CODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4117, + "src": "18407:52:19", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "src": "18363:96:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303332", + "id": 5543, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18473:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5d8d108d93a53583cf1949d2287cc7f0af5603bd102faf9db90e7e6bbc90ade8", + "typeString": "literal_string \"LBC032\"" + }, + "value": "LBC032" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5d8d108d93a53583cf1949d2287cc7f0af5603bd102faf9db90e7e6bbc90ade8", + "typeString": "literal_string \"LBC032\"" + } + ], + "id": 5539, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "18342:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18342:149:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5545, + "nodeType": "ExpressionStatement", + "src": "18342:149:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 5549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5547, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5523, + "src": "18522:28:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 5548, + "name": "BRIDGE_UNPROCESSABLE_TX_VALUE_ZERO_ERROR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4125, + "src": "18566:40:19", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "src": "18522:84:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303333", + "id": 5550, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18620:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e976d8a3febca36c67dcd5b38ae845ffd2f248a24eaf2d7a97f208ffd80ff125", + "typeString": "literal_string \"LBC033\"" + }, + "value": "LBC033" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_e976d8a3febca36c67dcd5b38ae845ffd2f248a24eaf2d7a97f208ffd80ff125", + "typeString": "literal_string \"LBC033\"" + } + ], + "id": 5546, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "18501:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18501:137:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5552, + "nodeType": "ExpressionStatement", + "src": "18501:137:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 5556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5554, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5523, + "src": "18669:28:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 5555, + "name": "BRIDGE_UNPROCESSABLE_TX_UTXO_AMOUNT_SENT_BELOW_MINIMUM_ERROR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4129, + "src": "18713:60:19", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "src": "18669:104:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303334", + "id": 5557, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18787:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_745436b16371784f7b451bf4bed6f0978e2f007f74e71dfa0c49414b3a522759", + "typeString": "literal_string \"LBC034\"" + }, + "value": "LBC034" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_745436b16371784f7b451bf4bed6f0978e2f007f74e71dfa0c49414b3a522759", + "typeString": "literal_string \"LBC034\"" + } + ], + "id": 5553, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "18648:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18648:157:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5559, + "nodeType": "ExpressionStatement", + "src": "18648:157:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 5563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5561, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5523, + "src": "18836:28:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 5562, + "name": "BRIDGE_GENERIC_ERROR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4133, + "src": "18868:20:19", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "src": "18836:52:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303335", + "id": 5564, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18902:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_37570ea73114ff69cb8aab9e09d6f5beb11b36ce1a2ae19ee6f5de28dc42d754", + "typeString": "literal_string \"LBC035\"" + }, + "value": "LBC035" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_37570ea73114ff69cb8aab9e09d6f5beb11b36ce1a2ae19ee6f5de28dc42d754", + "typeString": "literal_string \"LBC035\"" + } + ], + "id": 5560, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "18815:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18815:105:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5566, + "nodeType": "ExpressionStatement", + "src": "18815:105:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 5570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5568, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5523, + "src": "18951:28:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 5569, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18982:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "18951:32:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 5573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5571, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5523, + "src": "18999:28:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 5572, + "name": "BRIDGE_REFUNDED_LP_ERROR_CODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4105, + "src": "19031:29:19", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "src": "18999:61:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "18951:109:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 5577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5575, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5523, + "src": "19076:28:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 5576, + "name": "BRIDGE_REFUNDED_USER_ERROR_CODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4101, + "src": "19108:31:19", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "src": "19076:63:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "18951:188:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303336", + "id": 5579, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19153:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5ccb4449252c316623411606962515c0966208bcce5fe352c2e850b058d1077c", + "typeString": "literal_string \"LBC036\"" + }, + "value": "LBC036" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5ccb4449252c316623411606962515c0966208bcce5fe352c2e850b058d1077c", + "typeString": "literal_string \"LBC036\"" + } + ], + "id": 5567, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "18930:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18930:241:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5581, + "nodeType": "ExpressionStatement", + "src": "18930:241:19" + }, + { + "condition": { + "arguments": [ + { + "id": 5583, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "19229:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + { + "id": 5584, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5523, + "src": "19248:28:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "expression": { + "baseExpression": { + "id": 5585, + "name": "callRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4332, + "src": "19290:12:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$4151_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContract.Registry storage ref)" + } + }, + "id": 5587, + "indexExpression": { + "id": 5586, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5480, + "src": "19303:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19290:23:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Registry_$4151_storage", + "typeString": "struct LiquidityBridgeContract.Registry storage ref" + } + }, + "id": 5588, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19314:9:19", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 4148, + "src": "19290:33:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "id": 5589, + "name": "height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5472, + "src": "19337:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5582, + "name": "shouldPenalizeLP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6769, + "src": "19199:16:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_PeginQuote_$9884_memory_ptr_$_t_int256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct Quotes.PeginQuote memory,int256,uint256,uint256) view returns (bool)" + } + }, + "id": 5590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19199:154:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5632, + "nodeType": "IfStatement", + "src": "19182:816:19", + "trueBody": { + "id": 5631, + "nodeType": "Block", + "src": "19364:634:19", + "statements": [ + { + "assignments": [ + 5592 + ], + "declarations": [ + { + "constant": false, + "id": 5592, + "mutability": "mutable", + "name": "penalizationAmount", + "nameLocation": "19383:18:19", + "nodeType": "VariableDeclaration", + "scope": 5631, + "src": "19378:23:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5591, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19378:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5601, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 5594, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "19425:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5595, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19431:10:19", + "memberName": "penaltyFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 9863, + "src": "19425:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 5596, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4318, + "src": "19459:10:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5599, + "indexExpression": { + "expression": { + "id": 5597, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "19470:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5598, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19476:27:19", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9853, + "src": "19470:33:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19459:45:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5593, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6530, + "src": "19404:3:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19404:114:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19378:140:19" + }, + { + "expression": { + "id": 5607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5602, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4318, + "src": "19595:10:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5605, + "indexExpression": { + "expression": { + "id": 5603, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "19606:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5604, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19612:27:19", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9853, + "src": "19606:33:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "19595:45:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 5606, + "name": "penalizationAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5592, + "src": "19644:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19595:67:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5608, + "nodeType": "ExpressionStatement", + "src": "19595:67:19" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 5610, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "19708:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5611, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19714:27:19", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9853, + "src": "19708:33:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5612, + "name": "penalizationAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5592, + "src": "19759:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5613, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5480, + "src": "19795:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5609, + "name": "Penalized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4247, + "src": "19681:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$__$", + "typeString": "function (address,uint256,bytes32)" + } + }, + "id": 5614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19681:137:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5615, + "nodeType": "EmitStatement", + "src": "19676:142:19" + }, + { + "assignments": [ + 5617 + ], + "declarations": [ + { + "constant": false, + "id": 5617, + "mutability": "mutable", + "name": "punisherReward", + "nameLocation": "19877:14:19", + "nodeType": "VariableDeclaration", + "scope": 5631, + "src": "19869:22:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5616, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19869:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5624, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5618, + "name": "penalizationAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5592, + "src": "19895:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 5619, + "name": "rewardP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4342, + "src": "19916:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "19895:28:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5621, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "19894:30:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "hexValue": "313030", + "id": 5622, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19927:3:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "19894:36:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19869:61:19" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 5626, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "19960:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19964:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "19960:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5628, + "name": "punisherReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5617, + "src": "19972:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5625, + "name": "increaseBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6549, + "src": "19944:15:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19944:43:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5630, + "nodeType": "ExpressionStatement", + "src": "19944:43:19" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 5635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5633, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5523, + "src": "20025:28:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 5634, + "name": "BRIDGE_REFUNDED_LP_ERROR_CODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4105, + "src": "20057:29:19", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "src": "20025:61:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 5638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5636, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5523, + "src": "20102:28:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 5637, + "name": "BRIDGE_REFUNDED_USER_ERROR_CODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4101, + "src": "20134:31:19", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "src": "20102:63:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "20025:140:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5659, + "nodeType": "IfStatement", + "src": "20008:447:19", + "trueBody": { + "id": 5658, + "nodeType": "Block", + "src": "20176:279:19", + "statements": [ + { + "expression": { + "id": 5644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5640, + "name": "processedQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4356, + "src": "20225:15:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + } + }, + "id": 5642, + "indexExpression": { + "id": 5641, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5480, + "src": "20241:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "20225:26:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5643, + "name": "PROCESSED_QUOTE_CODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4097, + "src": "20254:20:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "20225:49:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 5645, + "nodeType": "ExpressionStatement", + "src": "20225:49:19" + }, + { + "expression": { + "id": 5649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "20288:30:19", + "subExpression": { + "baseExpression": { + "id": 5646, + "name": "callRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4332, + "src": "20295:12:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$4151_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContract.Registry storage ref)" + } + }, + "id": 5648, + "indexExpression": { + "id": 5647, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5480, + "src": "20308:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "20295:23:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Registry_$4151_storage", + "typeString": "struct LiquidityBridgeContract.Registry storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5650, + "nodeType": "ExpressionStatement", + "src": "20288:30:19" + }, + { + "eventCall": { + "arguments": [ + { + "id": 5652, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5480, + "src": "20355:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5653, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5523, + "src": "20366:28:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 5651, + "name": "BridgeCapExceeded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4253, + "src": "20337:17:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_int256_$returns$__$", + "typeString": "function (bytes32,int256)" + } + }, + "id": 5654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20337:58:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5655, + "nodeType": "EmitStatement", + "src": "20332:63:19" + }, + { + "expression": { + "id": 5656, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5523, + "src": "20416:28:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 5478, + "id": 5657, + "nodeType": "Return", + "src": "20409:35:19" + } + ] + } + }, + { + "assignments": [ + 5661 + ], + "declarations": [ + { + "constant": false, + "id": 5661, + "mutability": "mutable", + "name": "transferredAmount", + "nameLocation": "20646:17:19", + "nodeType": "VariableDeclaration", + "scope": 5850, + "src": "20641:22:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5660, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20641:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5666, + "initialValue": { + "arguments": [ + { + "id": 5664, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5523, + "src": "20671:28:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 5663, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "20666:4:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 5662, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20666:4:19", + "typeDescriptions": {} + } + }, + "id": 5665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20666:34:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20641:59:19" + }, + { + "expression": { + "arguments": [ + { + "id": 5670, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "20736:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + { + "id": 5671, + "name": "transferredAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5661, + "src": "20743:17:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 5667, + "name": "Quotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10112, + "src": "20711:6:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Quotes_$10112_$", + "typeString": "type(library Quotes)" + } + }, + "id": 5669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20718:17:19", + "memberName": "checkAgreedAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 10111, + "src": "20711:24:19", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_PeginQuote_$9884_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (struct Quotes.PeginQuote memory,uint256) pure" + } + }, + "id": 5672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20711:50:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5673, + "nodeType": "ExpressionStatement", + "src": "20711:50:19" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 5679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 5674, + "name": "callRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4332, + "src": "20776:12:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$4151_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContract.Registry storage ref)" + } + }, + "id": 5676, + "indexExpression": { + "id": 5675, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5480, + "src": "20789:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20776:23:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Registry_$4151_storage", + "typeString": "struct LiquidityBridgeContract.Registry storage ref" + } + }, + "id": 5677, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20800:9:19", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 4148, + "src": "20776:33:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 5678, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20812:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "20776:37:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5830, + "nodeType": "Block", + "src": "22152:1234:19", + "statements": [ + { + "assignments": [ + 5757 + ], + "declarations": [ + { + "constant": false, + "id": 5757, + "mutability": "mutable", + "name": "refundAmount", + "nameLocation": "22171:12:19", + "nodeType": "VariableDeclaration", + "scope": 5830, + "src": "22166:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5756, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22166:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5759, + "initialValue": { + "id": 5758, + "name": "transferredAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5661, + "src": "22186:17:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22166:37:19" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5760, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "22222:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5761, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22228:14:19", + "memberName": "callOnRegister", + "nodeType": "MemberAccess", + "referencedDeclaration": 9883, + "src": "22222:20:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5762, + "name": "refundAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5757, + "src": "22246:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "expression": { + "id": 5763, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "22262:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5764, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22268:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 9873, + "src": "22262:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22246:27:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "22222:51:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5805, + "nodeType": "IfStatement", + "src": "22218:656:19", + "trueBody": { + "id": 5804, + "nodeType": "Block", + "src": "22275:599:19", + "statements": [ + { + "assignments": [ + 5768, + null + ], + "declarations": [ + { + "constant": false, + "id": 5768, + "mutability": "mutable", + "name": "callSuccess", + "nameLocation": "22299:11:19", + "nodeType": "VariableDeclaration", + "scope": 5804, + "src": "22294:16:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5767, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "22294:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 5780, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 5777, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "22453:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5778, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22459:4:19", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 9867, + "src": "22453:10:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "expression": { + "id": 5769, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "22315:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5770, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22321:15:19", + "memberName": "contractAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9865, + "src": "22315:21:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22337:4:19", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "22315:26:19", + "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": 5776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "gas", + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "expression": { + "id": 5772, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "22372:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5773, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22378:8:19", + "memberName": "gasLimit", + "nodeType": "MemberAccess", + "referencedDeclaration": 9869, + "src": "22372:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 5774, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "22419:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5775, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22425:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 9873, + "src": "22419:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "22315:137:19", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 5779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22315:149:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22293:171:19" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 5782, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "22520:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22524:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "22520:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 5784, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "22552:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5785, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22558:15:19", + "memberName": "contractAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9865, + "src": "22552:21:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 5786, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "22595:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5787, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22601:8:19", + "memberName": "gasLimit", + "nodeType": "MemberAccess", + "referencedDeclaration": 9869, + "src": "22595:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 5788, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "22631:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5789, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22637:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 9873, + "src": "22631:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 5790, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "22664:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5791, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22670:4:19", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 9867, + "src": "22664:10:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 5792, + "name": "callSuccess", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5768, + "src": "22696:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5793, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5480, + "src": "22729:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5781, + "name": "CallForUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4233, + "src": "22487:11:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$_t_bool_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,uint256,uint256,bytes memory,bool,bytes32)" + } + }, + "id": 5794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22487:269:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5795, + "nodeType": "EmitStatement", + "src": "22482:274:19" + }, + { + "condition": { + "id": 5796, + "name": "callSuccess", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5768, + "src": "22779:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5803, + "nodeType": "IfStatement", + "src": "22775:85:19", + "trueBody": { + "id": 5802, + "nodeType": "Block", + "src": "22792:68:19", + "statements": [ + { + "expression": { + "id": 5800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5797, + "name": "refundAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5757, + "src": "22814:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "expression": { + "id": 5798, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "22830:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5799, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22836:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 9873, + "src": "22830:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22814:27:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5801, + "nodeType": "ExpressionStatement", + "src": "22814:27:19" + } + ] + } + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5806, + "name": "refundAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5757, + "src": "22891:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 5807, + "name": "dust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4346, + "src": "22906:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22891:19:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5829, + "nodeType": "IfStatement", + "src": "22887:489:19", + "trueBody": { + "id": 5828, + "nodeType": "Block", + "src": "22912:464:19", + "statements": [ + { + "assignments": [ + 5810, + null + ], + "declarations": [ + { + "constant": false, + "id": 5810, + "mutability": "mutable", + "name": "success", + "nameLocation": "23015:7:19", + "nodeType": "VariableDeclaration", + "scope": 5828, + "src": "23010:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5809, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "23010:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 5819, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 5817, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23173:2:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "expression": { + "id": 5811, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "23027:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5812, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23033:16:19", + "memberName": "rskRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9857, + "src": "23027:22:19", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 5813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23050:4:19", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "23027:27:19", + "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": 5816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "gas", + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 5814, + "name": "MAX_REFUND_GAS_LIMIT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4088, + "src": "23085:20:19", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "id": 5815, + "name": "refundAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5757, + "src": "23138:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "23027:145:19", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 5818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23027:149:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23009:167:19" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 5821, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "23227:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5822, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23233:16:19", + "memberName": "rskRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9857, + "src": "23227:22:19", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "id": 5823, + "name": "refundAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5757, + "src": "23271:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5824, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5810, + "src": "23305:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5825, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5480, + "src": "23334:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5820, + "name": "Refund", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4275, + "src": "23199:6:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bool_$_t_bytes32_$returns$__$", + "typeString": "function (address,uint256,bool,bytes32)" + } + }, + "id": 5826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23199:162:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5827, + "nodeType": "EmitStatement", + "src": "23194:167:19" + } + ] + } + } + ] + }, + "id": 5831, + "nodeType": "IfStatement", + "src": "20772:2614:19", + "trueBody": { + "id": 5755, + "nodeType": "Block", + "src": "20815:1331:19", + "statements": [ + { + "assignments": [ + 5681 + ], + "declarations": [ + { + "constant": false, + "id": 5681, + "mutability": "mutable", + "name": "refundAmount", + "nameLocation": "20834:12:19", + "nodeType": "VariableDeclaration", + "scope": 5755, + "src": "20829:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5680, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20829:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5682, + "nodeType": "VariableDeclarationStatement", + "src": "20829:17:19" + }, + { + "condition": { + "expression": { + "baseExpression": { + "id": 5683, + "name": "callRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4332, + "src": "20865:12:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$4151_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContract.Registry storage ref)" + } + }, + "id": 5685, + "indexExpression": { + "id": 5684, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5480, + "src": "20878:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20865:23:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Registry_$4151_storage", + "typeString": "struct LiquidityBridgeContract.Registry storage ref" + } + }, + "id": 5686, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20889:7:19", + "memberName": "success", + "nodeType": "MemberAccess", + "referencedDeclaration": 4150, + "src": "20865:31:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5707, + "nodeType": "Block", + "src": "21061:85:19", + "statements": [ + { + "expression": { + "id": 5705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5699, + "name": "refundAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5681, + "src": "21079:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 5701, + "name": "transferredAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5661, + "src": "21098:17:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 5702, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "21117:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5703, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21123:7:19", + "memberName": "callFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 9861, + "src": "21117:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5700, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6530, + "src": "21094:3:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21094:37:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21079:52:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5706, + "nodeType": "ExpressionStatement", + "src": "21079:52:19" + } + ] + }, + "id": 5708, + "nodeType": "IfStatement", + "src": "20861:285:19", + "trueBody": { + "id": 5698, + "nodeType": "Block", + "src": "20898:157:19", + "statements": [ + { + "expression": { + "id": 5696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5687, + "name": "refundAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5681, + "src": "20916:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 5689, + "name": "transferredAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5661, + "src": "20956:17:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5690, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "20995:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5691, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21001:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 9873, + "src": "20995:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 5692, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "21009:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5693, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21015:7:19", + "memberName": "callFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 9861, + "src": "21009:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20995:27:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5688, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6530, + "src": "20931:3:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20931:109:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20916:124:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5697, + "nodeType": "ExpressionStatement", + "src": "20916:124:19" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 5710, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "21175:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5711, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21181:27:19", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9853, + "src": "21175:33:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5712, + "name": "refundAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5681, + "src": "21210:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5709, + "name": "increaseBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6549, + "src": "21159:15:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21159:64:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5714, + "nodeType": "ExpressionStatement", + "src": "21159:64:19" + }, + { + "assignments": [ + 5716 + ], + "declarations": [ + { + "constant": false, + "id": 5716, + "mutability": "mutable", + "name": "remainingAmount", + "nameLocation": "21242:15:19", + "nodeType": "VariableDeclaration", + "scope": 5755, + "src": "21237:20:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5715, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "21237:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5720, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5717, + "name": "transferredAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5661, + "src": "21260:17:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 5718, + "name": "refundAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5681, + "src": "21280:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21260:32:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "21237:55:19" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5721, + "name": "remainingAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5716, + "src": "21311:15:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 5722, + "name": "dust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4346, + "src": "21329:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21311:22:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5754, + "nodeType": "IfStatement", + "src": "21307:829:19", + "trueBody": { + "id": 5753, + "nodeType": "Block", + "src": "21335:801:19", + "statements": [ + { + "assignments": [ + 5725, + null + ], + "declarations": [ + { + "constant": false, + "id": 5725, + "mutability": "mutable", + "name": "success", + "nameLocation": "21441:7:19", + "nodeType": "VariableDeclaration", + "scope": 5753, + "src": "21436:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5724, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21436:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 5734, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 5732, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21602:2:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "expression": { + "id": 5726, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "21453:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5727, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21459:16:19", + "memberName": "rskRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9857, + "src": "21453:22:19", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 5728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21476:4:19", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "21453:27:19", + "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": 5731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "gas", + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 5729, + "name": "MAX_REFUND_GAS_LIMIT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4088, + "src": "21511:20:19", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "id": 5730, + "name": "remainingAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5716, + "src": "21564:15:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "21453:148:19", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 5733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21453:152:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "21435:170:19" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 5736, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "21656:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5737, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21662:16:19", + "memberName": "rskRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9857, + "src": "21656:22:19", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "id": 5738, + "name": "remainingAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5716, + "src": "21700:15:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5739, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5725, + "src": "21737:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5740, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5480, + "src": "21766:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5735, + "name": "Refund", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4275, + "src": "21628:6:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bool_$_t_bytes32_$returns$__$", + "typeString": "function (address,uint256,bool,bytes32)" + } + }, + "id": 5741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21628:165:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5742, + "nodeType": "EmitStatement", + "src": "21623:170:19" + }, + { + "condition": { + "id": 5744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "21816:8:19", + "subExpression": { + "id": 5743, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5725, + "src": "21817:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5752, + "nodeType": "IfStatement", + "src": "21812:310:19", + "trueBody": { + "id": 5751, + "nodeType": "Block", + "src": "21826:296:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 5746, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5464, + "src": "22007:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 5747, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22013:27:19", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9853, + "src": "22007:33:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5748, + "name": "remainingAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5716, + "src": "22066:15:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5745, + "name": "increaseBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6549, + "src": "21966:15:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21966:137:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5750, + "nodeType": "ExpressionStatement", + "src": "21966:137:19" + } + ] + } + } + ] + } + } + ] + } + }, + { + "expression": { + "id": 5836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5832, + "name": "processedQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4356, + "src": "23395:15:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + } + }, + "id": 5834, + "indexExpression": { + "id": 5833, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5480, + "src": "23411:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "23395:26:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5835, + "name": "PROCESSED_QUOTE_CODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4097, + "src": "23424:20:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "23395:49:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 5837, + "nodeType": "ExpressionStatement", + "src": "23395:49:19" + }, + { + "expression": { + "id": 5841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "23454:30:19", + "subExpression": { + "baseExpression": { + "id": 5838, + "name": "callRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4332, + "src": "23461:12:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$4151_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContract.Registry storage ref)" + } + }, + "id": 5840, + "indexExpression": { + "id": 5839, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5480, + "src": "23474:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "23461:23:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Registry_$4151_storage", + "typeString": "struct LiquidityBridgeContract.Registry storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5842, + "nodeType": "ExpressionStatement", + "src": "23454:30:19" + }, + { + "eventCall": { + "arguments": [ + { + "id": 5844, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5480, + "src": "23515:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5845, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5523, + "src": "23526:28:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 5843, + "name": "PegInRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4239, + "src": "23499:15:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_int256_$returns$__$", + "typeString": "function (bytes32,int256)" + } + }, + "id": 5846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23499:56:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5847, + "nodeType": "EmitStatement", + "src": "23494:61:19" + }, + { + "expression": { + "id": 5848, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5523, + "src": "23572:28:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 5478, + "id": 5849, + "nodeType": "Return", + "src": "23565:35:19" + } + ] + }, + "documentation": { + "id": 5461, + "nodeType": "StructuredDocumentation", + "src": "16697:506:19", + "text": "@dev Registers a peg-in transaction with the bridge and pays to the involved parties\n@param quote The quote of the service\n@param signature The signature of the quote\n@param btcRawTransaction The peg-in transaction\n@param partialMerkleTree The merkle tree path that proves transaction inclusion\n@param height The block that contains the peg-in transaction\n@return The total peg-in amount received from the bridge contract or an error code" + }, + "functionSelector": "6e2e8c70", + "id": 5851, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5475, + "kind": "modifierInvocation", + "modifierName": { + "id": 5474, + "name": "nonReentrant", + "nameLocations": [ + "17420:12:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 344, + "src": "17420:12:19" + }, + "nodeType": "ModifierInvocation", + "src": "17420:12:19" + } + ], + "name": "registerPegIn", + "nameLocation": "17217:13:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5473, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5464, + "mutability": "mutable", + "name": "quote", + "nameLocation": "17265:5:19", + "nodeType": "VariableDeclaration", + "scope": 5851, + "src": "17240:30:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote" + }, + "typeName": { + "id": 5463, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5462, + "name": "Quotes.PeginQuote", + "nameLocations": [ + "17240:6:19", + "17247:10:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9884, + "src": "17240:17:19" + }, + "referencedDeclaration": 9884, + "src": "17240:17:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_storage_ptr", + "typeString": "struct Quotes.PeginQuote" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5466, + "mutability": "mutable", + "name": "signature", + "nameLocation": "17293:9:19", + "nodeType": "VariableDeclaration", + "scope": 5851, + "src": "17280:22:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5465, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "17280:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5468, + "mutability": "mutable", + "name": "btcRawTransaction", + "nameLocation": "17325:17:19", + "nodeType": "VariableDeclaration", + "scope": 5851, + "src": "17312:30:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5467, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "17312:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5470, + "mutability": "mutable", + "name": "partialMerkleTree", + "nameLocation": "17365:17:19", + "nodeType": "VariableDeclaration", + "scope": 5851, + "src": "17352:30:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5469, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "17352:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5472, + "mutability": "mutable", + "name": "height", + "nameLocation": "17400:6:19", + "nodeType": "VariableDeclaration", + "scope": 5851, + "src": "17392:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5471, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17392:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "17230:182:19" + }, + "returnParameters": { + "id": 5478, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5477, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5851, + "src": "17442:6:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 5476, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "17442:6:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "17441:8:19" + }, + "scope": 6933, + "src": "17208:6399:19", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5977, + "nodeType": "Block", + "src": "23796:956:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 5861, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5854, + "src": "23836:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 5862, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23842:12:19", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9888, + "src": "23836:18:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5860, + "name": "isRegisteredForPegout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6609, + "src": "23814:21:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 5863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23814:41:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303337", + "id": 5864, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23857:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ecc75ee801269ba7670799af84ad7f1d968d59315783a708807424c72ec63d04", + "typeString": "literal_string \"LBC037\"" + }, + "value": "LBC037" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ecc75ee801269ba7670799af84ad7f1d968d59315783a708807424c72ec63d04", + "typeString": "literal_string \"LBC037\"" + } + ], + "id": 5859, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "23806:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23806:60:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5866, + "nodeType": "ExpressionStatement", + "src": "23806:60:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5868, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5854, + "src": "23884:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 5869, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23890:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 9904, + "src": "23884:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 5870, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5854, + "src": "23898:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 5871, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23904:7:19", + "memberName": "callFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 9896, + "src": "23898:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23884:27:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 5873, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "23915:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23919:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "23915:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23884:40:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303633", + "id": 5876, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23926:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0267b5bcac1113eea8a4dc81e170e6fe59336df7f2c6a4d2ae7ad240f894a2f9", + "typeString": "literal_string \"LBC063\"" + }, + "value": "LBC063" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0267b5bcac1113eea8a4dc81e170e6fe59336df7f2c6a4d2ae7ad240f894a2f9", + "typeString": "literal_string \"LBC063\"" + } + ], + "id": 5867, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "23876:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23876:59:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5878, + "nodeType": "ExpressionStatement", + "src": "23876:59:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5880, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "23953:5:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 5881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23959:9:19", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "23953:15:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 5882, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5854, + "src": "23972:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 5883, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23978:16:19", + "memberName": "depositDateLimit", + "nodeType": "MemberAccess", + "referencedDeclaration": 9908, + "src": "23972:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "23953:41:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303635", + "id": 5885, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23996:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_39eacc26aa588693c014f46e6dd86f6cac22eb3287098210ddf746f1a6af8214", + "typeString": "literal_string \"LBC065\"" + }, + "value": "LBC065" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_39eacc26aa588693c014f46e6dd86f6cac22eb3287098210ddf746f1a6af8214", + "typeString": "literal_string \"LBC065\"" + } + ], + "id": 5879, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "23945:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23945:60:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5887, + "nodeType": "ExpressionStatement", + "src": "23945:60:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5889, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "24023:5:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 5890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24029:9:19", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "24023:15:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 5891, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5854, + "src": "24042:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 5892, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24048:10:19", + "memberName": "expireDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 9916, + "src": "24042:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "24023:35:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303436", + "id": 5894, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24060:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c8999eb883ba6531127283b89d3773d87761ac547946da55d1f52c5931d8838f", + "typeString": "literal_string \"LBC046\"" + }, + "value": "LBC046" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c8999eb883ba6531127283b89d3773d87761ac547946da55d1f52c5931d8838f", + "typeString": "literal_string \"LBC046\"" + } + ], + "id": 5888, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "24015:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24015:54:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5896, + "nodeType": "ExpressionStatement", + "src": "24015:54:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5898, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "24087:5:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 5899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24093:6:19", + "memberName": "number", + "nodeType": "MemberAccess", + "src": "24087:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 5900, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5854, + "src": "24103:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 5901, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24109:11:19", + "memberName": "expireBlock", + "nodeType": "MemberAccess", + "referencedDeclaration": 9918, + "src": "24103:17:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "24087:33:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303437", + "id": 5903, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24122:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b400745c4fd650850c2059b2d13f12980ca63b7ccd87c008204992f11af559c2", + "typeString": "literal_string \"LBC047\"" + }, + "value": "LBC047" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b400745c4fd650850c2059b2d13f12980ca63b7ccd87c008204992f11af559c2", + "typeString": "literal_string \"LBC047\"" + } + ], + "id": 5897, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "24079:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24079:52:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5905, + "nodeType": "ExpressionStatement", + "src": "24079:52:19" + }, + { + "assignments": [ + 5907 + ], + "declarations": [ + { + "constant": false, + "id": 5907, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "24149:9:19", + "nodeType": "VariableDeclaration", + "scope": 5977, + "src": "24141:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5906, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24141:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 5911, + "initialValue": { + "arguments": [ + { + "id": 5909, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5854, + "src": "24177:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + ], + "id": 5908, + "name": "hashPegoutQuote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6392, + "src": "24161:15:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_PegOutQuote_$9919_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct Quotes.PegOutQuote memory) view returns (bytes32)" + } + }, + "id": 5910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24161:22:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "24141:42:19" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 5915, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5854, + "src": "24240:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 5916, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24246:12:19", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9888, + "src": "24240:18:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5917, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5907, + "src": "24260:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5918, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5856, + "src": "24271:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 5913, + "name": "SignatureValidator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10454, + "src": "24214:18:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SignatureValidator_$10454_$", + "typeString": "type(library SignatureValidator)" + } + }, + "id": 5914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24233:6:19", + "memberName": "verify", + "nodeType": "MemberAccess", + "referencedDeclaration": 10453, + "src": "24214:25:19", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,bytes32,bytes memory) pure returns (bool)" + } + }, + "id": 5919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24214:67:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303239", + "id": 5920, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24295:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ebb41fd1c3d95b8eaff1e56d491f7a983f7f3039fac57e6fad7993de139e2216", + "typeString": "literal_string \"LBC029\"" + }, + "value": "LBC029" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ebb41fd1c3d95b8eaff1e56d491f7a983f7f3039fac57e6fad7993de139e2216", + "typeString": "literal_string \"LBC029\"" + } + ], + "id": 5912, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "24193:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24193:120:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5922, + "nodeType": "ExpressionStatement", + "src": "24193:120:19" + }, + { + "assignments": [ + 5927 + ], + "declarations": [ + { + "constant": false, + "id": 5927, + "mutability": "mutable", + "name": "registeredQuote", + "nameLocation": "24351:15:19", + "nodeType": "VariableDeclaration", + "scope": 5977, + "src": "24324:42:19", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote" + }, + "typeName": { + "id": 5926, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5925, + "name": "Quotes.PegOutQuote", + "nameLocations": [ + "24324:6:19", + "24331:11:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9919, + "src": "24324:18:19" + }, + "referencedDeclaration": 9919, + "src": "24324:18:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote" + } + }, + "visibility": "internal" + } + ], + "id": 5931, + "initialValue": { + "baseExpression": { + "id": 5928, + "name": "registeredPegoutQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4361, + "src": "24369:22:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegOutQuote_$9919_storage_$", + "typeString": "mapping(bytes32 => struct Quotes.PegOutQuote storage ref)" + } + }, + "id": 5930, + "indexExpression": { + "id": 5929, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5907, + "src": "24392:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24369:33:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage", + "typeString": "struct Quotes.PegOutQuote storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "24324:78:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 5933, + "name": "pegoutRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4366, + "src": "24421:14:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegoutRecord_$4156_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContract.PegoutRecord storage ref)" + } + }, + "id": 5935, + "indexExpression": { + "id": 5934, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5907, + "src": "24436:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24421:25:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegoutRecord_$4156_storage", + "typeString": "struct LiquidityBridgeContract.PegoutRecord storage ref" + } + }, + "id": 5936, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24447:9:19", + "memberName": "completed", + "nodeType": "MemberAccess", + "referencedDeclaration": 4155, + "src": "24421:35:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "66616c7365", + "id": 5937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24460:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "24421:44:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303634", + "id": 5939, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24467:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_35937926b0033772f3bb574f0cbcffec40211211a6070977d47733885bf234eb", + "typeString": "literal_string \"LBC064\"" + }, + "value": "LBC064" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_35937926b0033772f3bb574f0cbcffec40211211a6070977d47733885bf234eb", + "typeString": "literal_string \"LBC064\"" + } + ], + "id": 5932, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "24413:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24413:63:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5941, + "nodeType": "ExpressionStatement", + "src": "24413:63:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5943, + "name": "registeredQuote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5927, + "src": "24494:15:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 5944, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24510:10:19", + "memberName": "lbcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9886, + "src": "24494:26:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24532:1:19", + "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": 5946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "24524:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5945, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "24524:7:19", + "typeDescriptions": {} + } + }, + "id": 5948, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24524:10:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "24494:40:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303238", + "id": 5950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24536:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4c4b8fd0ae53a3caa85e74f53bba210cefdcb0e1d1c519eb8385d2cd3741f7fb", + "typeString": "literal_string \"LBC028\"" + }, + "value": "LBC028" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4c4b8fd0ae53a3caa85e74f53bba210cefdcb0e1d1c519eb8385d2cd3741f7fb", + "typeString": "literal_string \"LBC028\"" + } + ], + "id": 5942, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "24486:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24486:59:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5952, + "nodeType": "ExpressionStatement", + "src": "24486:59:19" + }, + { + "expression": { + "id": 5957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5953, + "name": "registeredPegoutQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4361, + "src": "24555:22:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegOutQuote_$9919_storage_$", + "typeString": "mapping(bytes32 => struct Quotes.PegOutQuote storage ref)" + } + }, + "id": 5955, + "indexExpression": { + "id": 5954, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5907, + "src": "24578:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "24555:33:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage", + "typeString": "struct Quotes.PegOutQuote storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5956, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5854, + "src": "24591:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "src": "24555:41:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage", + "typeString": "struct Quotes.PegOutQuote storage ref" + } + }, + "id": 5958, + "nodeType": "ExpressionStatement", + "src": "24555:41:19" + }, + { + "expression": { + "id": 5965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 5959, + "name": "pegoutRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4366, + "src": "24606:14:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegoutRecord_$4156_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContract.PegoutRecord storage ref)" + } + }, + "id": 5961, + "indexExpression": { + "id": 5960, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5907, + "src": "24621:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24606:25:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegoutRecord_$4156_storage", + "typeString": "struct LiquidityBridgeContract.PegoutRecord storage ref" + } + }, + "id": 5962, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "24632:16:19", + "memberName": "depositTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 4153, + "src": "24606:42:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 5963, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "24651:5:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 5964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24657:9:19", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "24651:15:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24606:60:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5966, + "nodeType": "ExpressionStatement", + "src": "24606:60:19" + }, + { + "eventCall": { + "arguments": [ + { + "id": 5968, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5907, + "src": "24695:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 5969, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "24706:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24710:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "24706:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 5971, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "24718:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24722:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "24718:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 5973, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "24729:5:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 5974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24735:9:19", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "24729:15:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5967, + "name": "PegOutDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4299, + "src": "24681:13:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint256)" + } + }, + "id": 5975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24681:64:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5976, + "nodeType": "EmitStatement", + "src": "24676:69:19" + } + ] + }, + "functionSelector": "7b78837f", + "id": 5978, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "depositPegout", + "nameLocation": "23622:13:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5857, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5854, + "mutability": "mutable", + "name": "quote", + "nameLocation": "23735:5:19", + "nodeType": "VariableDeclaration", + "scope": 5978, + "src": "23709:31:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote" + }, + "typeName": { + "id": 5853, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5852, + "name": "Quotes.PegOutQuote", + "nameLocations": [ + "23709:6:19", + "23716:11:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9919, + "src": "23709:18:19" + }, + "referencedDeclaration": 9919, + "src": "23709:18:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5856, + "mutability": "mutable", + "name": "signature", + "nameLocation": "23763:9:19", + "nodeType": "VariableDeclaration", + "scope": 5978, + "src": "23750:22:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5855, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "23750:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "23635:143:19" + }, + "returnParameters": { + "id": 5858, + "nodeType": "ParameterList", + "parameters": [], + "src": "23796:0:19" + }, + "scope": 6933, + "src": "23613:1139:19", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 6091, + "nodeType": "Block", + "src": "24837:961:19", + "statements": [ + { + "assignments": [ + 5989 + ], + "declarations": [ + { + "constant": false, + "id": 5989, + "mutability": "mutable", + "name": "quote", + "nameLocation": "24874:5:19", + "nodeType": "VariableDeclaration", + "scope": 6091, + "src": "24847:32:19", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote" + }, + "typeName": { + "id": 5988, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5987, + "name": "Quotes.PegOutQuote", + "nameLocations": [ + "24847:6:19", + "24854:11:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9919, + "src": "24847:18:19" + }, + "referencedDeclaration": 9919, + "src": "24847:18:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote" + } + }, + "visibility": "internal" + } + ], + "id": 5993, + "initialValue": { + "baseExpression": { + "id": 5990, + "name": "registeredPegoutQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4361, + "src": "24882:22:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegOutQuote_$9919_storage_$", + "typeString": "mapping(bytes32 => struct Quotes.PegOutQuote storage ref)" + } + }, + "id": 5992, + "indexExpression": { + "id": 5991, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5980, + "src": "24905:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24882:33:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage", + "typeString": "struct Quotes.PegOutQuote storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "24847:68:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5995, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5989, + "src": "24934:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 5996, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24940:10:19", + "memberName": "lbcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9886, + "src": "24934:16:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5999, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24962:1:19", + "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": 5998, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "24954:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5997, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "24954:7:19", + "typeDescriptions": {} + } + }, + "id": 6000, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24954:10:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "24934:30:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303432", + "id": 6002, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24966:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_100fb89310beea959f828c5ca2a95ca4d28be5d0ba0e61e54b1345b68d14b6a1", + "typeString": "literal_string \"LBC042\"" + }, + "value": "LBC042" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_100fb89310beea959f828c5ca2a95ca4d28be5d0ba0e61e54b1345b68d14b6a1", + "typeString": "literal_string \"LBC042\"" + } + ], + "id": 5994, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "24926:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24926:49:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6004, + "nodeType": "ExpressionStatement", + "src": "24926:49:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6006, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "25006:5:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 6007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25012:9:19", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "25006:15:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 6008, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5989, + "src": "25024:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6009, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25030:10:19", + "memberName": "expireDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 9916, + "src": "25024:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "25006:34:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6011, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "25056:5:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 6012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25062:6:19", + "memberName": "number", + "nodeType": "MemberAccess", + "src": "25056:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 6013, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5989, + "src": "25071:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6014, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25077:11:19", + "memberName": "expireBlock", + "nodeType": "MemberAccess", + "referencedDeclaration": 9918, + "src": "25071:17:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "25056:32:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "25006:82:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303431", + "id": 6017, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25102:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_476e33256b298fee7fc3dab0c339427caa3a9a4a44654f7f02b328083d44ca74", + "typeString": "literal_string \"LBC041\"" + }, + "value": "LBC041" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_476e33256b298fee7fc3dab0c339427caa3a9a4a44654f7f02b328083d44ca74", + "typeString": "literal_string \"LBC041\"" + } + ], + "id": 6005, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "24985:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24985:135:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6019, + "nodeType": "ExpressionStatement", + "src": "24985:135:19" + }, + { + "assignments": [ + 6021 + ], + "declarations": [ + { + "constant": false, + "id": 6021, + "mutability": "mutable", + "name": "valueToTransfer", + "nameLocation": "25136:15:19", + "nodeType": "VariableDeclaration", + "scope": 6091, + "src": "25131:20:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6020, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25131:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6027, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6022, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5989, + "src": "25154:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6023, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25160:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 9904, + "src": "25154:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 6024, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5989, + "src": "25168:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6025, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25174:7:19", + "memberName": "callFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 9896, + "src": "25168:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "25154:27:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "25131:50:19" + }, + { + "assignments": [ + 6029 + ], + "declarations": [ + { + "constant": false, + "id": 6029, + "mutability": "mutable", + "name": "addressToTransfer", + "nameLocation": "25199:17:19", + "nodeType": "VariableDeclaration", + "scope": 6091, + "src": "25191:25:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6028, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25191:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 6032, + "initialValue": { + "expression": { + "id": 6030, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5989, + "src": "25219:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6031, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25225:16:19", + "memberName": "rskRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9892, + "src": "25219:22:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "25191:50:19" + }, + { + "assignments": [ + 6034 + ], + "declarations": [ + { + "constant": false, + "id": 6034, + "mutability": "mutable", + "name": "penalty", + "nameLocation": "25257:7:19", + "nodeType": "VariableDeclaration", + "scope": 6091, + "src": "25252:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6033, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25252:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6043, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 6036, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5989, + "src": "25271:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6037, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25277:10:19", + "memberName": "penaltyFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 9898, + "src": "25271:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 6038, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "25289:16:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6041, + "indexExpression": { + "expression": { + "id": 6039, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5989, + "src": "25306:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6040, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25312:12:19", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9888, + "src": "25306:18:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25289:36:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6035, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6530, + "src": "25267:3:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25267:59:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "25252:74:19" + }, + { + "expression": { + "id": 6049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6044, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "25336:16:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6047, + "indexExpression": { + "expression": { + "id": 6045, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5989, + "src": "25353:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6046, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25359:12:19", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9888, + "src": "25353:18:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "25336:36:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 6048, + "name": "penalty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6034, + "src": "25376:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "25336:47:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6050, + "nodeType": "ExpressionStatement", + "src": "25336:47:19" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 6052, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5989, + "src": "25409:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6053, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25415:12:19", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9888, + "src": "25409:18:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6054, + "name": "penalty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6034, + "src": "25429:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6055, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5980, + "src": "25438:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6051, + "name": "Penalized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4247, + "src": "25399:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$__$", + "typeString": "function (address,uint256,bytes32)" + } + }, + "id": 6056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25399:49:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6057, + "nodeType": "EmitStatement", + "src": "25394:54:19" + }, + { + "eventCall": { + "arguments": [ + { + "id": 6059, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5980, + "src": "25495:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6060, + "name": "valueToTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6021, + "src": "25518:15:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 6061, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5989, + "src": "25547:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6062, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25553:16:19", + "memberName": "rskRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9892, + "src": "25547:22:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6058, + "name": "PegOutUserRefunded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4307, + "src": "25463:18:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (bytes32,uint256,address)" + } + }, + "id": 6063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25463:116:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6064, + "nodeType": "EmitStatement", + "src": "25458:121:19" + }, + { + "expression": { + "id": 6068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "25590:40:19", + "subExpression": { + "baseExpression": { + "id": 6065, + "name": "registeredPegoutQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4361, + "src": "25597:22:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegOutQuote_$9919_storage_$", + "typeString": "mapping(bytes32 => struct Quotes.PegOutQuote storage ref)" + } + }, + "id": 6067, + "indexExpression": { + "id": 6066, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5980, + "src": "25620:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "25597:33:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage", + "typeString": "struct Quotes.PegOutQuote storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6069, + "nodeType": "ExpressionStatement", + "src": "25590:40:19" + }, + { + "expression": { + "id": 6075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 6070, + "name": "pegoutRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4366, + "src": "25640:14:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegoutRecord_$4156_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContract.PegoutRecord storage ref)" + } + }, + "id": 6072, + "indexExpression": { + "id": 6071, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5980, + "src": "25655:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25640:25:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegoutRecord_$4156_storage", + "typeString": "struct LiquidityBridgeContract.PegoutRecord storage ref" + } + }, + "id": 6073, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "25666:9:19", + "memberName": "completed", + "nodeType": "MemberAccess", + "referencedDeclaration": 4155, + "src": "25640:35:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 6074, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25678:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "25640:42:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6076, + "nodeType": "ExpressionStatement", + "src": "25640:42:19" + }, + { + "assignments": [ + 6078, + null + ], + "declarations": [ + { + "constant": false, + "id": 6078, + "mutability": "mutable", + "name": "sent", + "nameLocation": "25699:4:19", + "nodeType": "VariableDeclaration", + "scope": 6091, + "src": "25694:9:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6077, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "25694:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 6085, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 6083, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25755:2:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "id": 6079, + "name": "addressToTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6029, + "src": "25708:17:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25726:4:19", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "25708:22:19", + "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": 6082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 6081, + "name": "valueToTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6021, + "src": "25738:15:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "25708:46:19", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 6084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25708:50:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "25693:65:19" + }, + { + "expression": { + "arguments": [ + { + "id": 6087, + "name": "sent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6078, + "src": "25776:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303434", + "id": 6088, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25782:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0a7ff570d31f7e351d06bf5b8d0ef26a9275a9d32a7dffd7981a6c6ac58227c6", + "typeString": "literal_string \"LBC044\"" + }, + "value": "LBC044" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0a7ff570d31f7e351d06bf5b8d0ef26a9275a9d32a7dffd7981a6c6ac58227c6", + "typeString": "literal_string \"LBC044\"" + } + ], + "id": 6086, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "25768:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25768:23:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6090, + "nodeType": "ExpressionStatement", + "src": "25768:23:19" + } + ] + }, + "functionSelector": "8f91797d", + "id": 6092, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5983, + "kind": "modifierInvocation", + "modifierName": { + "id": 5982, + "name": "nonReentrant", + "nameLocations": [ + "24824:12:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 344, + "src": "24824:12:19" + }, + "nodeType": "ModifierInvocation", + "src": "24824:12:19" + } + ], + "name": "refundUserPegOut", + "nameLocation": "24767:16:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5981, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5980, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "24801:9:19", + "nodeType": "VariableDeclaration", + "scope": 6092, + "src": "24793:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5979, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24793:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "24783:33:19" + }, + "returnParameters": { + "id": 5984, + "nodeType": "ParameterList", + "parameters": [], + "src": "24837:0:19" + }, + "scope": 6933, + "src": "24758:1040:19", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6312, + "nodeType": "Block", + "src": "26047:1910:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 6111, + "name": "pegoutRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4366, + "src": "26065:14:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegoutRecord_$4156_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContract.PegoutRecord storage ref)" + } + }, + "id": 6113, + "indexExpression": { + "id": 6112, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6094, + "src": "26080:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26065:25:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegoutRecord_$4156_storage", + "typeString": "struct LiquidityBridgeContract.PegoutRecord storage ref" + } + }, + "id": 6114, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26091:9:19", + "memberName": "completed", + "nodeType": "MemberAccess", + "referencedDeclaration": 4155, + "src": "26065:35:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "66616c7365", + "id": 6115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26104:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "26065:44:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303634", + "id": 6117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26111:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_35937926b0033772f3bb574f0cbcffec40211211a6070977d47733885bf234eb", + "typeString": "literal_string \"LBC064\"" + }, + "value": "LBC064" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_35937926b0033772f3bb574f0cbcffec40211211a6070977d47733885bf234eb", + "typeString": "literal_string \"LBC064\"" + } + ], + "id": 6110, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "26057:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26057:63:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6119, + "nodeType": "ExpressionStatement", + "src": "26057:63:19" + }, + { + "assignments": [ + 6124 + ], + "declarations": [ + { + "constant": false, + "id": 6124, + "mutability": "mutable", + "name": "quote", + "nameLocation": "26157:5:19", + "nodeType": "VariableDeclaration", + "scope": 6312, + "src": "26130:32:19", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote" + }, + "typeName": { + "id": 6123, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 6122, + "name": "Quotes.PegOutQuote", + "nameLocations": [ + "26130:6:19", + "26137:11:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9919, + "src": "26130:18:19" + }, + "referencedDeclaration": 9919, + "src": "26130:18:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote" + } + }, + "visibility": "internal" + } + ], + "id": 6128, + "initialValue": { + "baseExpression": { + "id": 6125, + "name": "registeredPegoutQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4361, + "src": "26165:22:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegOutQuote_$9919_storage_$", + "typeString": "mapping(bytes32 => struct Quotes.PegOutQuote storage ref)" + } + }, + "id": 6127, + "indexExpression": { + "id": 6126, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6094, + "src": "26188:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26165:33:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage", + "typeString": "struct Quotes.PegOutQuote storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "26130:68:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6130, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6124, + "src": "26216:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26222:10:19", + "memberName": "lbcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9886, + "src": "26216:16:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 6134, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26244:1:19", + "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": 6133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "26236:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6132, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26236:7:19", + "typeDescriptions": {} + } + }, + "id": 6135, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26236:10:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "26216:30:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303432", + "id": 6137, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26248:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_100fb89310beea959f828c5ca2a95ca4d28be5d0ba0e61e54b1345b68d14b6a1", + "typeString": "literal_string \"LBC042\"" + }, + "value": "LBC042" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_100fb89310beea959f828c5ca2a95ca4d28be5d0ba0e61e54b1345b68d14b6a1", + "typeString": "literal_string \"LBC042\"" + } + ], + "id": 6129, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "26208:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26208:49:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6139, + "nodeType": "ExpressionStatement", + "src": "26208:49:19" + }, + { + "assignments": [ + 6145 + ], + "declarations": [ + { + "constant": false, + "id": 6145, + "mutability": "mutable", + "name": "outputs", + "nameLocation": "26297:7:19", + "nodeType": "VariableDeclaration", + "scope": 6312, + "src": "26267:37:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput[]" + }, + "typeName": { + "baseType": { + "id": 6143, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 6142, + "name": "BtcUtils.TxRawOutput", + "nameLocations": [ + "26267:8:19", + "26276:11:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1968, + "src": "26267:20:19" + }, + "referencedDeclaration": 1968, + "src": "26267:20:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_storage_ptr", + "typeString": "struct BtcUtils.TxRawOutput" + } + }, + "id": 6144, + "nodeType": "ArrayTypeName", + "src": "26267:22:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_storage_$dyn_storage_ptr", + "typeString": "struct BtcUtils.TxRawOutput[]" + } + }, + "visibility": "internal" + } + ], + "id": 6150, + "initialValue": { + "arguments": [ + { + "id": 6148, + "name": "btcTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6096, + "src": "26327:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 6146, + "name": "BtcUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "26307:8:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BtcUtils_$2805_$", + "typeString": "type(library BtcUtils)" + } + }, + "id": 6147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26316:10:19", + "memberName": "getOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 2107, + "src": "26307:19:19", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (bytes memory) pure returns (struct BtcUtils.TxRawOutput memory[] memory)" + } + }, + "id": 6149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26307:26:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "26267:66:19" + }, + { + "assignments": [ + 6152 + ], + "declarations": [ + { + "constant": false, + "id": 6152, + "mutability": "mutable", + "name": "txQuoteHash", + "nameLocation": "26351:11:19", + "nodeType": "VariableDeclaration", + "scope": 6312, + "src": "26343:19:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6151, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "26343:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6166, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 6157, + "name": "outputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6145, + "src": "26405:7:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory[] memory" + } + }, + "id": 6159, + "indexExpression": { + "id": 6158, + "name": "QUOTE_HASH_OUTPUT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4146, + "src": "26413:17:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26405:26:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory" + } + }, + "id": 6160, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26432:8:19", + "memberName": "pkScript", + "nodeType": "MemberAccess", + "referencedDeclaration": 1963, + "src": "26405:35:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 6155, + "name": "BtcUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "26376:8:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BtcUtils_$2805_$", + "typeString": "type(library BtcUtils)" + } + }, + "id": 6156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26385:19:19", + "memberName": "parseNullDataScript", + "nodeType": "MemberAccess", + "referencedDeclaration": 2393, + "src": "26376:28:19", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) pure returns (bytes memory)" + } + }, + "id": 6161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26376:65:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 6163, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "26444:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 6162, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "26444:7:19", + "typeDescriptions": {} + } + } + ], + "id": 6164, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "26443:9:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + } + ], + "expression": { + "id": 6153, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "26365:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6154, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "26369:6:19", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "26365:10:19", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 6165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26365:88:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "26343:110:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 6170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6168, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6094, + "src": "26471:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 6169, + "name": "txQuoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6152, + "src": "26484:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "26471:24:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303639", + "id": 6171, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26497:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5cf5f7c75a2357c5697933702fe9f20c432f8f5205def7bf18572d390cea5cc1", + "typeString": "literal_string \"LBC069\"" + }, + "value": "LBC069" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5cf5f7c75a2357c5697933702fe9f20c432f8f5205def7bf18572d390cea5cc1", + "typeString": "literal_string \"LBC069\"" + } + ], + "id": 6167, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "26463:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26463:43:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6173, + "nodeType": "ExpressionStatement", + "src": "26463:43:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6175, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "26524:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26528:6:19", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "26524:10:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 6177, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6124, + "src": "26538:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6178, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26544:12:19", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9888, + "src": "26538:18:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "26524:32:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303438", + "id": 6180, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26558:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3c14ff4570332247d29826742fdf7f014a86ddbee2c49b0252a79ef49351f196", + "typeString": "literal_string \"LBC048\"" + }, + "value": "LBC048" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3c14ff4570332247d29826742fdf7f014a86ddbee2c49b0252a79ef49351f196", + "typeString": "literal_string \"LBC048\"" + } + ], + "id": 6174, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "26516:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26516:51:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6182, + "nodeType": "ExpressionStatement", + "src": "26516:51:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 6202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 6188, + "name": "btcTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6096, + "src": "26672:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 6186, + "name": "BtcUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "26653:8:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BtcUtils_$2805_$", + "typeString": "type(library BtcUtils)" + } + }, + "id": 6187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26662:9:19", + "memberName": "hashBtcTx", + "nodeType": "MemberAccess", + "referencedDeclaration": 2461, + "src": "26653:18:19", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26653:25:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6190, + "name": "btcBlockHeaderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6098, + "src": "26696:18:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6191, + "name": "partialMerkleTree", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6100, + "src": "26732:17:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6192, + "name": "merkleBranchHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6103, + "src": "26767:18:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "expression": { + "id": 6184, + "name": "bridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4310, + "src": "26598:6:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + }, + "id": 6185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26605:30:19", + "memberName": "getBtcTransactionConfirmations", + "nodeType": "MemberAccess", + "referencedDeclaration": 3118, + "src": "26598:37:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_int256_$", + "typeString": "function (bytes32,bytes32,uint256,bytes32[] memory) view external returns (int256)" + } + }, + "id": 6193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26598:201:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 6198, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6124, + "src": "26815:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6199, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26821:21:19", + "memberName": "transferConfirmations", + "nodeType": "MemberAccess", + "referencedDeclaration": 9912, + "src": "26815:27:19", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + ], + "id": 6197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "26807:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 6196, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26807:7:19", + "typeDescriptions": {} + } + }, + "id": 6200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26807:36:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "26803:3:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 6194, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "26803:3:19", + "typeDescriptions": {} + } + }, + "id": 6201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26803:41:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "26598:246:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303439", + "id": 6203, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26858:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_41cc9877d5a72c2a0ef0c602e024ddc86a1f279ef7306bab75dd3c5447ffb6e0", + "typeString": "literal_string \"LBC049\"" + }, + "value": "LBC049" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_41cc9877d5a72c2a0ef0c602e024ddc86a1f279ef7306bab75dd3c5447ffb6e0", + "typeString": "literal_string \"LBC049\"" + } + ], + "id": 6183, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "26577:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26577:299:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6205, + "nodeType": "ExpressionStatement", + "src": "26577:299:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6207, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6124, + "src": "26894:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6208, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26900:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 9904, + "src": "26894:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 6217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 6209, + "name": "outputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6145, + "src": "26909:7:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory[] memory" + } + }, + "id": 6211, + "indexExpression": { + "id": 6210, + "name": "PAY_TO_ADDRESS_OUTPUT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4143, + "src": "26917:21:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26909:30:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory" + } + }, + "id": 6212, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26940:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1961, + "src": "26909:36:19", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_10000000000_by_1", + "typeString": "int_const 10000000000" + }, + "id": 6215, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 6213, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26949:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3130", + "id": 6214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26953:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "26949:6:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000_by_1", + "typeString": "int_const 10000000000" + } + } + ], + "id": 6216, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "26948:8:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000_by_1", + "typeString": "int_const 10000000000" + } + }, + "src": "26909:47:19", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "26894:62:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303637", + "id": 6219, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26958:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_94643b69f05d64f660a022cd48046be494c1ed271b5d9ae602f6fdadc77976be", + "typeString": "literal_string \"LBC067\"" + }, + "value": "LBC067" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_94643b69f05d64f660a022cd48046be494c1ed271b5d9ae602f6fdadc77976be", + "typeString": "literal_string \"LBC067\"" + } + ], + "id": 6206, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "26886:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26886:81:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6221, + "nodeType": "ExpressionStatement", + "src": "26886:81:19" + }, + { + "assignments": [ + 6223 + ], + "declarations": [ + { + "constant": false, + "id": 6223, + "mutability": "mutable", + "name": "btcTxDestination", + "nameLocation": "27008:16:19", + "nodeType": "VariableDeclaration", + "scope": 6312, + "src": "26995:29:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6222, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "26995:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 6232, + "initialValue": { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 6226, + "name": "outputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6145, + "src": "27057:7:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory[] memory" + } + }, + "id": 6228, + "indexExpression": { + "id": 6227, + "name": "PAY_TO_ADDRESS_OUTPUT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4143, + "src": "27065:21:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "27057:30:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory" + } + }, + "id": 6229, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27101:8:19", + "memberName": "pkScript", + "nodeType": "MemberAccess", + "referencedDeclaration": 1963, + "src": "27057:52:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 6230, + "name": "mainnet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4352, + "src": "27111:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 6224, + "name": "BtcUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "27027:8:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BtcUtils_$2805_$", + "typeString": "type(library BtcUtils)" + } + }, + "id": 6225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27036:20:19", + "memberName": "parsePayToPubKeyHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2309, + "src": "27027:29:19", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$_t_bool_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory,bool) pure returns (bytes memory)" + } + }, + "id": 6231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27027:92:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "26995:124:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 6241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "expression": { + "id": 6235, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6124, + "src": "27147:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6236, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27153:15:19", + "memberName": "deposityAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9902, + "src": "27147:21:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + ], + "id": 6234, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "27137:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27137:32:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 6239, + "name": "btcTxDestination", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6223, + "src": "27183:16:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6238, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "27173:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27173:27:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "27137:63:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303638", + "id": 6242, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27202:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7cd3d68dd2419ceccbacf2f69bda9c4c2f3bdb0c0535db4bbef90be788c8f7de", + "typeString": "literal_string \"LBC068\"" + }, + "value": "LBC068" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_7cd3d68dd2419ceccbacf2f69bda9c4c2f3bdb0c0535db4bbef90be788c8f7de", + "typeString": "literal_string \"LBC068\"" + } + ], + "id": 6233, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "27129:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27129:82:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6244, + "nodeType": "ExpressionStatement", + "src": "27129:82:19" + }, + { + "condition": { + "arguments": [ + { + "id": 6246, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6124, + "src": "27279:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + { + "id": 6247, + "name": "txQuoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6152, + "src": "27302:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6248, + "name": "btcBlockHeaderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6098, + "src": "27331:18:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6245, + "name": "shouldPenalizePegOutLP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6835, + "src": "27239:22:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_PegOutQuote_$9919_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct Quotes.PegOutQuote memory,bytes32,bytes32) view returns (bool)" + } + }, + "id": 6249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27239:124:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6276, + "nodeType": "IfStatement", + "src": "27222:428:19", + "trueBody": { + "id": 6275, + "nodeType": "Block", + "src": "27374:276:19", + "statements": [ + { + "assignments": [ + 6251 + ], + "declarations": [ + { + "constant": false, + "id": 6251, + "mutability": "mutable", + "name": "penalty", + "nameLocation": "27393:7:19", + "nodeType": "VariableDeclaration", + "scope": 6275, + "src": "27388:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6250, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "27388:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6260, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 6253, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6124, + "src": "27424:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6254, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27430:10:19", + "memberName": "penaltyFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 9898, + "src": "27424:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 6255, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "27458:16:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6258, + "indexExpression": { + "expression": { + "id": 6256, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6124, + "src": "27475:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6257, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27481:12:19", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9888, + "src": "27475:18:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "27458:36:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6252, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6530, + "src": "27403:3:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27403:105:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "27388:120:19" + }, + { + "expression": { + "id": 6266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6261, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "27522:16:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6264, + "indexExpression": { + "expression": { + "id": 6262, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6124, + "src": "27539:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6263, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27545:12:19", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9888, + "src": "27539:18:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "27522:36:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 6265, + "name": "penalty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6251, + "src": "27562:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "27522:47:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6267, + "nodeType": "ExpressionStatement", + "src": "27522:47:19" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 6269, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6124, + "src": "27598:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6270, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27604:12:19", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9888, + "src": "27598:18:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6271, + "name": "penalty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6251, + "src": "27618:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6272, + "name": "txQuoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6152, + "src": "27627:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6268, + "name": "Penalized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4247, + "src": "27588:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$__$", + "typeString": "function (address,uint256,bytes32)" + } + }, + "id": 6273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27588:51:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6274, + "nodeType": "EmitStatement", + "src": "27583:56:19" + } + ] + } + }, + { + "assignments": [ + 6278, + null + ], + "declarations": [ + { + "constant": false, + "id": 6278, + "mutability": "mutable", + "name": "sent", + "nameLocation": "27666:4:19", + "nodeType": "VariableDeclaration", + "scope": 6312, + "src": "27661:9:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6277, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "27661:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 6290, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 6288, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27765:2:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "expression": { + "id": 6279, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6124, + "src": "27675:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6280, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27681:12:19", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9888, + "src": "27675:18:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27694:4:19", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "27675:23:19", + "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": 6287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6282, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6124, + "src": "27723:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6283, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27729:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 9904, + "src": "27723:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 6284, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6124, + "src": "27737:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote storage pointer" + } + }, + "id": 6285, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27743:7:19", + "memberName": "callFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 9896, + "src": "27737:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "27723:27:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "27675:89:19", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 6289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27675:93:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "27660:108:19" + }, + { + "expression": { + "arguments": [ + { + "id": 6292, + "name": "sent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6278, + "src": "27786:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303530", + "id": 6293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27792:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3dcf1159943f9eee729b997e5df9acd0f1771321696b1fb47efa6e54bee2f352", + "typeString": "literal_string \"LBC050\"" + }, + "value": "LBC050" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3dcf1159943f9eee729b997e5df9acd0f1771321696b1fb47efa6e54bee2f352", + "typeString": "literal_string \"LBC050\"" + } + ], + "id": 6291, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "27778:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27778:23:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6295, + "nodeType": "ExpressionStatement", + "src": "27778:23:19" + }, + { + "expression": { + "id": 6299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "27812:42:19", + "subExpression": { + "baseExpression": { + "id": 6296, + "name": "registeredPegoutQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4361, + "src": "27819:22:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegOutQuote_$9919_storage_$", + "typeString": "mapping(bytes32 => struct Quotes.PegOutQuote storage ref)" + } + }, + "id": 6298, + "indexExpression": { + "id": 6297, + "name": "txQuoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6152, + "src": "27842:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "27819:35:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage", + "typeString": "struct Quotes.PegOutQuote storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6300, + "nodeType": "ExpressionStatement", + "src": "27812:42:19" + }, + { + "expression": { + "id": 6306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 6301, + "name": "pegoutRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4366, + "src": "27864:14:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegoutRecord_$4156_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContract.PegoutRecord storage ref)" + } + }, + "id": 6303, + "indexExpression": { + "id": 6302, + "name": "txQuoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6152, + "src": "27879:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "27864:27:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegoutRecord_$4156_storage", + "typeString": "struct LiquidityBridgeContract.PegoutRecord storage ref" + } + }, + "id": 6304, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "27892:9:19", + "memberName": "completed", + "nodeType": "MemberAccess", + "referencedDeclaration": 4155, + "src": "27864:37:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 6305, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27904:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "27864:44:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6307, + "nodeType": "ExpressionStatement", + "src": "27864:44:19" + }, + { + "eventCall": { + "arguments": [ + { + "id": 6309, + "name": "txQuoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6152, + "src": "27938:11:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6308, + "name": "PegOutRefunded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4289, + "src": "27923:14:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 6310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27923:27:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6311, + "nodeType": "EmitStatement", + "src": "27918:32:19" + } + ] + }, + "functionSelector": "d6c70de8", + "id": 6313, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 6106, + "kind": "modifierInvocation", + "modifierName": { + "id": 6105, + "name": "nonReentrant", + "nameLocations": [ + "26010:12:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 344, + "src": "26010:12:19" + }, + "nodeType": "ModifierInvocation", + "src": "26010:12:19" + }, + { + "id": 6108, + "kind": "modifierInvocation", + "modifierName": { + "id": 6107, + "name": "onlyRegisteredForPegout", + "nameLocations": [ + "26023:23:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 4390, + "src": "26023:23:19" + }, + "nodeType": "ModifierInvocation", + "src": "26023:23:19" + } + ], + "name": "refundPegOut", + "nameLocation": "25813:12:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6104, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6094, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "25843:9:19", + "nodeType": "VariableDeclaration", + "scope": 6313, + "src": "25835:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6093, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "25835:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6096, + "mutability": "mutable", + "name": "btcTx", + "nameLocation": "25875:5:19", + "nodeType": "VariableDeclaration", + "scope": 6313, + "src": "25862:18:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6095, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "25862:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6098, + "mutability": "mutable", + "name": "btcBlockHeaderHash", + "nameLocation": "25898:18:19", + "nodeType": "VariableDeclaration", + "scope": 6313, + "src": "25890:26:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6097, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "25890:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6100, + "mutability": "mutable", + "name": "partialMerkleTree", + "nameLocation": "25934:17:19", + "nodeType": "VariableDeclaration", + "scope": 6313, + "src": "25926:25:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6099, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25926:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6103, + "mutability": "mutable", + "name": "merkleBranchHashes", + "nameLocation": "25978:18:19", + "nodeType": "VariableDeclaration", + "scope": 6313, + "src": "25961:35:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 6101, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "25961:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6102, + "nodeType": "ArrayTypeName", + "src": "25961:9:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "25825:177:19" + }, + "returnParameters": { + "id": 6109, + "nodeType": "ParameterList", + "parameters": [], + "src": "26047:0:19" + }, + "scope": 6933, + "src": "25804:2153:19", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6364, + "nodeType": "Block", + "src": "28111:548:19", + "statements": [ + { + "assignments": [ + 6324 + ], + "declarations": [ + { + "constant": false, + "id": 6324, + "mutability": "mutable", + "name": "derivationValue", + "nameLocation": "28129:15:19", + "nodeType": "VariableDeclaration", + "scope": 6364, + "src": "28121:23:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6323, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "28121:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6343, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 6330, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6316, + "src": "28210:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + ], + "id": 6329, + "name": "hashQuote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6379, + "src": "28200:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_PeginQuote_$9884_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct Quotes.PeginQuote memory) view returns (bytes32)" + } + }, + "id": 6331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28200:16:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 6332, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6316, + "src": "28234:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 6333, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28240:16:19", + "memberName": "btcRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9855, + "src": "28234:22:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "arguments": [ + { + "expression": { + "id": 6336, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6316, + "src": "28282:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 6337, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28288:10:19", + "memberName": "lbcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9851, + "src": "28282:16:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "28274:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes20_$", + "typeString": "type(bytes20)" + }, + "typeName": { + "id": 6334, + "name": "bytes20", + "nodeType": "ElementaryTypeName", + "src": "28274:7:19", + "typeDescriptions": {} + } + }, + "id": 6338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28274:25:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + }, + { + "expression": { + "id": 6339, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6316, + "src": "28317:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 6340, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28323:27:19", + "memberName": "liquidityProviderBtcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9859, + "src": "28317:33:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 6327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "28170:5:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 6326, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "28170:5:19", + "typeDescriptions": {} + } + }, + "id": 6328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28176:6:19", + "memberName": "concat", + "nodeType": "MemberAccess", + "src": "28170:12:19", + "typeDescriptions": { + "typeIdentifier": "t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28170:194:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6325, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "28147:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28147:227:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "28121:253:19" + }, + { + "assignments": [ + 6345 + ], + "declarations": [ + { + "constant": false, + "id": 6345, + "mutability": "mutable", + "name": "flyoverRedeemScript", + "nameLocation": "28397:19:19", + "nodeType": "VariableDeclaration", + "scope": 6364, + "src": "28384:32:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6344, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "28384:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 6356, + "initialValue": { + "arguments": [ + { + "hexValue": "20", + "id": 6349, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "hexString", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28445:7:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", + "typeString": "literal_string \" \"" + }, + "value": " " + }, + { + "id": 6350, + "name": "derivationValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6324, + "src": "28466:15:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "hexValue": "75", + "id": 6351, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "hexString", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28495:7:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_32cefdcd8e794145c9af8dd1f4b1fbd92d6e547ae855553080fc8bd19c4883a0", + "typeString": "literal_string \"u\"" + }, + "value": "u" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 6352, + "name": "bridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4310, + "src": "28516:6:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + }, + "id": 6353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28523:27:19", + "memberName": "getActivePowpegRedeemScript", + "nodeType": "MemberAccess", + "referencedDeclaration": 3181, + "src": "28516:34:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () view external returns (bytes memory)" + } + }, + "id": 6354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28516:36:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", + "typeString": "literal_string \" \"" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_stringliteral_32cefdcd8e794145c9af8dd1f4b1fbd92d6e547ae855553080fc8bd19c4883a0", + "typeString": "literal_string \"u\"" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 6347, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "28419:5:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 6346, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "28419:5:19", + "typeDescriptions": {} + } + }, + "id": 6348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28425:6:19", + "memberName": "concat", + "nodeType": "MemberAccess", + "src": "28419:12:19", + "typeDescriptions": { + "typeIdentifier": "t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28419:143:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "28384:178:19" + }, + { + "expression": { + "arguments": [ + { + "id": 6359, + "name": "depositAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6318, + "src": "28607:14:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 6360, + "name": "flyoverRedeemScript", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6345, + "src": "28623:19:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 6361, + "name": "mainnet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4352, + "src": "28644:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 6357, + "name": "BtcUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "28579:8:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BtcUtils_$2805_$", + "typeString": "type(library BtcUtils)" + } + }, + "id": 6358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28588:18:19", + "memberName": "validateP2SHAdress", + "nodeType": "MemberAccess", + "referencedDeclaration": 2587, + "src": "28579:27:19", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_bool_$", + "typeString": "function (bytes memory,bytes memory,bool) pure returns (bool)" + } + }, + "id": 6362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28579:73:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6322, + "id": 6363, + "nodeType": "Return", + "src": "28572:80:19" + } + ] + }, + "functionSelector": "a0d25037", + "id": 6365, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "validatePeginDepositAddress", + "nameLocation": "27971:27:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6319, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6316, + "mutability": "mutable", + "name": "quote", + "nameLocation": "28033:5:19", + "nodeType": "VariableDeclaration", + "scope": 6365, + "src": "28008:30:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote" + }, + "typeName": { + "id": 6315, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 6314, + "name": "Quotes.PeginQuote", + "nameLocations": [ + "28008:6:19", + "28015:10:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9884, + "src": "28008:17:19" + }, + "referencedDeclaration": 9884, + "src": "28008:17:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_storage_ptr", + "typeString": "struct Quotes.PeginQuote" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6318, + "mutability": "mutable", + "name": "depositAddress", + "nameLocation": "28061:14:19", + "nodeType": "VariableDeclaration", + "scope": 6365, + "src": "28048:27:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6317, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "28048:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "27998:83:19" + }, + "returnParameters": { + "id": 6322, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6321, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6365, + "src": "28105:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6320, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "28105:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "28104:6:19" + }, + "scope": 6933, + "src": "27962:697:19", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 6378, + "nodeType": "Block", + "src": "28951:51:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6375, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6369, + "src": "28989:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + ], + "id": 6374, + "name": "validateAndHashQuote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6486, + "src": "28968:20:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_PeginQuote_$9884_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct Quotes.PeginQuote memory) view returns (bytes32)" + } + }, + "id": 6376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28968:27:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 6373, + "id": 6377, + "nodeType": "Return", + "src": "28961:34:19" + } + ] + }, + "documentation": { + "id": 6366, + "nodeType": "StructuredDocumentation", + "src": "28665:200:19", + "text": "@dev Calculates hash of a quote. Note: besides calculation this function also validates the quote.\n@param quote The quote of the service\n@return The hash of a quote" + }, + "functionSelector": "1b032188", + "id": 6379, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hashQuote", + "nameLocation": "28879:9:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6370, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6369, + "mutability": "mutable", + "name": "quote", + "nameLocation": "28914:5:19", + "nodeType": "VariableDeclaration", + "scope": 6379, + "src": "28889:30:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote" + }, + "typeName": { + "id": 6368, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 6367, + "name": "Quotes.PeginQuote", + "nameLocations": [ + "28889:6:19", + "28896:10:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9884, + "src": "28889:17:19" + }, + "referencedDeclaration": 9884, + "src": "28889:17:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_storage_ptr", + "typeString": "struct Quotes.PeginQuote" + } + }, + "visibility": "internal" + } + ], + "src": "28888:32:19" + }, + "returnParameters": { + "id": 6373, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6372, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6379, + "src": "28942:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6371, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "28942:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "28941:9:19" + }, + "scope": 6933, + "src": "28870:132:19", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6391, + "nodeType": "Block", + "src": "29110:57:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6388, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6382, + "src": "29154:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + ], + "id": 6387, + "name": "validateAndHashPegOutQuote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6513, + "src": "29127:26:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_PegOutQuote_$9919_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct Quotes.PegOutQuote memory) view returns (bytes32)" + } + }, + "id": 6389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29127:33:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 6386, + "id": 6390, + "nodeType": "Return", + "src": "29120:40:19" + } + ] + }, + "functionSelector": "69023235", + "id": 6392, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hashPegoutQuote", + "nameLocation": "29017:15:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6383, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6382, + "mutability": "mutable", + "name": "quote", + "nameLocation": "29068:5:19", + "nodeType": "VariableDeclaration", + "scope": 6392, + "src": "29042:31:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote" + }, + "typeName": { + "id": 6381, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 6380, + "name": "Quotes.PegOutQuote", + "nameLocations": [ + "29042:6:19", + "29049:11:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9919, + "src": "29042:18:19" + }, + "referencedDeclaration": 9919, + "src": "29042:18:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote" + } + }, + "visibility": "internal" + } + ], + "src": "29032:47:19" + }, + "returnParameters": { + "id": 6386, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6385, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6392, + "src": "29101:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6384, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "29101:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "29100:9:19" + }, + "scope": 6933, + "src": "29008:159:19", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6485, + "nodeType": "Block", + "src": "29280:732:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 6403, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "29306:4:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LiquidityBridgeContract_$6933", + "typeString": "contract LiquidityBridgeContract" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_LiquidityBridgeContract_$6933", + "typeString": "contract LiquidityBridgeContract" + } + ], + "id": 6402, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "29298:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6401, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29298:7:19", + "typeDescriptions": {} + } + }, + "id": 6404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29298:13:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 6405, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6395, + "src": "29315:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 6406, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29321:10:19", + "memberName": "lbcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9851, + "src": "29315:16:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "29298:33:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303531", + "id": 6408, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29333:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ed7029e52dbf10ed9f0aafb2c33265c713a3f4dfd10cc113f22ba3c1270e1ddb", + "typeString": "literal_string \"LBC051\"" + }, + "value": "LBC051" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ed7029e52dbf10ed9f0aafb2c33265c713a3f4dfd10cc113f22ba3c1270e1ddb", + "typeString": "literal_string \"LBC051\"" + } + ], + "id": 6400, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "29290:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29290:52:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6410, + "nodeType": "ExpressionStatement", + "src": "29290:52:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 6414, + "name": "bridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4310, + "src": "29381:6:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + ], + "id": 6413, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "29373:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6412, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29373:7:19", + "typeDescriptions": {} + } + }, + "id": 6415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29373:15:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 6416, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6395, + "src": "29392:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 6417, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29398:15:19", + "memberName": "contractAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9865, + "src": "29392:21:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "29373:40:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303532", + "id": 6419, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29427:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a1a398356814e2eac3017ce127db7657cbb8e2f1d90a78bc426eaa92c56969eb", + "typeString": "literal_string \"LBC052\"" + }, + "value": "LBC052" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a1a398356814e2eac3017ce127db7657cbb8e2f1d90a78bc426eaa92c56969eb", + "typeString": "literal_string \"LBC052\"" + } + ], + "id": 6411, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "29352:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29352:93:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6421, + "nodeType": "ExpressionStatement", + "src": "29352:93:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 6423, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6395, + "src": "29476:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 6424, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29482:16:19", + "memberName": "btcRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9855, + "src": "29476:22:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29499:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "29476:29:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3231", + "id": 6426, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29509:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_21_by_1", + "typeString": "int_const 21" + }, + "value": "21" + }, + "src": "29476:35:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 6428, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6395, + "src": "29527:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 6429, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29533:16:19", + "memberName": "btcRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9855, + "src": "29527:22:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29550:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "29527:29:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3333", + "id": 6431, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29560:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_33_by_1", + "typeString": "int_const 33" + }, + "value": "33" + }, + "src": "29527:35:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "29476:86:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303533", + "id": 6434, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29576:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_923b965409721a83cf4ae76f34fa52de6eb09679d5b7141d2c0fc518a94192db", + "typeString": "literal_string \"LBC053\"" + }, + "value": "LBC053" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_923b965409721a83cf4ae76f34fa52de6eb09679d5b7141d2c0fc518a94192db", + "typeString": "literal_string \"LBC053\"" + } + ], + "id": 6422, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "29455:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29455:139:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6436, + "nodeType": "ExpressionStatement", + "src": "29455:139:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 6438, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6395, + "src": "29625:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 6439, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29631:27:19", + "memberName": "liquidityProviderBtcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9859, + "src": "29625:33:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29659:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "29625:40:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3231", + "id": 6441, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29669:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_21_by_1", + "typeString": "int_const 21" + }, + "value": "21" + }, + "src": "29625:46:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303534", + "id": 6443, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29685:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_472231c5f3abacc190b5fd56153fbfc4b6c39c18040d443b29faee14791d54d9", + "typeString": "literal_string \"LBC054\"" + }, + "value": "LBC054" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_472231c5f3abacc190b5fd56153fbfc4b6c39c18040d443b29faee14791d54d9", + "typeString": "literal_string \"LBC054\"" + } + ], + "id": 6437, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "29604:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29604:99:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6445, + "nodeType": "ExpressionStatement", + "src": "29604:99:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6447, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6395, + "src": "29734:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 6448, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29740:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 9873, + "src": "29734:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 6449, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6395, + "src": "29748:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 6450, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29754:7:19", + "memberName": "callFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 9861, + "src": "29748:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "29734:27:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 6452, + "name": "minPegIn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4340, + "src": "29765:8:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "29734:39:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303535", + "id": 6454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29787:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1bdc71792e300c3b19739ad62e7651b4b49de502b7d1b6227970563bffaad71e", + "typeString": "literal_string \"LBC055\"" + }, + "value": "LBC055" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1bdc71792e300c3b19739ad62e7651b4b49de502b7d1b6227970563bffaad71e", + "typeString": "literal_string \"LBC055\"" + } + ], + "id": 6446, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "29713:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29713:92:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6456, + "nodeType": "ExpressionStatement", + "src": "29713:92:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 6474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 6460, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "29841:6:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": { + "id": 6459, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "29841:6:19", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + } + ], + "id": 6458, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967269, + "src": "29836:4:19", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 6461, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29836:12:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint32", + "typeString": "type(uint32)" + } + }, + "id": 6462, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "29849:3:19", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "29836:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 6473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "expression": { + "id": 6465, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6395, + "src": "29863:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 6466, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29869:18:19", + "memberName": "agreementTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 9875, + "src": "29863:24:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + ], + "id": 6464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "29856:6:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 6463, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "29856:6:19", + "typeDescriptions": {} + } + }, + "id": 6467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29856:32:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "arguments": [ + { + "expression": { + "id": 6470, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6395, + "src": "29898:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 6471, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29904:14:19", + "memberName": "timeForDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 9877, + "src": "29898:20:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + ], + "id": 6469, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "29891:6:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 6468, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "29891:6:19", + "typeDescriptions": {} + } + }, + "id": 6472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29891:28:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "29856:63:19", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "29836:83:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303731", + "id": 6475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29933:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_79d3c6c4bda42d819072ed97d83e6147bd9ad75bd5415529ecb6a41984271fb2", + "typeString": "literal_string \"LBC071\"" + }, + "value": "LBC071" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_79d3c6c4bda42d819072ed97d83e6147bd9ad75bd5415529ecb6a41984271fb2", + "typeString": "literal_string \"LBC071\"" + } + ], + "id": 6457, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "29815:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29815:136:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6477, + "nodeType": "ExpressionStatement", + "src": "29815:136:19" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 6481, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6395, + "src": "29998:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + ], + "expression": { + "id": 6479, + "name": "Quotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10112, + "src": "29979:6:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Quotes_$10112_$", + "typeString": "type(library Quotes)" + } + }, + "id": 6480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29986:11:19", + "memberName": "encodeQuote", + "nodeType": "MemberAccess", + "referencedDeclaration": 9938, + "src": "29979:18:19", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_PeginQuote_$9884_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct Quotes.PeginQuote memory) pure returns (bytes memory)" + } + }, + "id": 6482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29979:25:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6478, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "29969:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29969:36:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 6399, + "id": 6484, + "nodeType": "Return", + "src": "29962:43:19" + } + ] + }, + "id": 6486, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "validateAndHashQuote", + "nameLocation": "29182:20:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6396, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6395, + "mutability": "mutable", + "name": "quote", + "nameLocation": "29237:5:19", + "nodeType": "VariableDeclaration", + "scope": 6486, + "src": "29212:30:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote" + }, + "typeName": { + "id": 6394, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 6393, + "name": "Quotes.PeginQuote", + "nameLocations": [ + "29212:6:19", + "29219:10:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9884, + "src": "29212:17:19" + }, + "referencedDeclaration": 9884, + "src": "29212:17:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_storage_ptr", + "typeString": "struct Quotes.PeginQuote" + } + }, + "visibility": "internal" + } + ], + "src": "29202:46:19" + }, + "returnParameters": { + "id": 6399, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6398, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6486, + "src": "29271:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6397, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "29271:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "29270:9:19" + }, + "scope": 6933, + "src": "29173:839:19", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 6512, + "nodeType": "Block", + "src": "30132:129:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 6497, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "30158:4:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LiquidityBridgeContract_$6933", + "typeString": "contract LiquidityBridgeContract" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_LiquidityBridgeContract_$6933", + "typeString": "contract LiquidityBridgeContract" + } + ], + "id": 6496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30150:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6495, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30150:7:19", + "typeDescriptions": {} + } + }, + "id": 6498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30150:13:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 6499, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6489, + "src": "30167:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 6500, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30173:10:19", + "memberName": "lbcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9886, + "src": "30167:16:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "30150:33:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303536", + "id": 6502, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30185:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5004352c178489e456f74ee0937a3403e68ee3fa72f6afa5bff20fe549075132", + "typeString": "literal_string \"LBC056\"" + }, + "value": "LBC056" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5004352c178489e456f74ee0937a3403e68ee3fa72f6afa5bff20fe549075132", + "typeString": "literal_string \"LBC056\"" + } + ], + "id": 6494, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "30142:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30142:52:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6504, + "nodeType": "ExpressionStatement", + "src": "30142:52:19" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 6508, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6489, + "src": "30247:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + ], + "expression": { + "id": 6506, + "name": "Quotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10112, + "src": "30222:6:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Quotes_$10112_$", + "typeString": "type(library Quotes)" + } + }, + "id": 6507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30229:17:19", + "memberName": "encodePegOutQuote", + "nodeType": "MemberAccess", + "referencedDeclaration": 9957, + "src": "30222:24:19", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_PegOutQuote_$9919_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct Quotes.PegOutQuote memory) pure returns (bytes memory)" + } + }, + "id": 6509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30222:31:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6505, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "30212:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30212:42:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 6493, + "id": 6511, + "nodeType": "Return", + "src": "30205:49:19" + } + ] + }, + "id": 6513, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "validateAndHashPegOutQuote", + "nameLocation": "30027:26:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6490, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6489, + "mutability": "mutable", + "name": "quote", + "nameLocation": "30089:5:19", + "nodeType": "VariableDeclaration", + "scope": 6513, + "src": "30063:31:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote" + }, + "typeName": { + "id": 6488, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 6487, + "name": "Quotes.PegOutQuote", + "nameLocations": [ + "30063:6:19", + "30070:11:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9919, + "src": "30063:18:19" + }, + "referencedDeclaration": 9919, + "src": "30063:18:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote" + } + }, + "visibility": "internal" + } + ], + "src": "30053:47:19" + }, + "returnParameters": { + "id": 6493, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6492, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6513, + "src": "30123:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6491, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "30123:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "30122:9:19" + }, + "scope": 6933, + "src": "30018:243:19", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 6529, + "nodeType": "Block", + "src": "30324:37:19", + "statements": [ + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6522, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6515, + "src": "30341:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 6523, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6517, + "src": "30345:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "30341:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 6526, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6517, + "src": "30353:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "30341:13:19", + "trueExpression": { + "id": 6525, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6515, + "src": "30349:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6521, + "id": 6528, + "nodeType": "Return", + "src": "30334:20:19" + } + ] + }, + "id": 6530, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "min", + "nameLocation": "30276:3:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6518, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6515, + "mutability": "mutable", + "name": "a", + "nameLocation": "30285:1:19", + "nodeType": "VariableDeclaration", + "scope": 6530, + "src": "30280:6:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6514, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30280:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6517, + "mutability": "mutable", + "name": "b", + "nameLocation": "30293:1:19", + "nodeType": "VariableDeclaration", + "scope": 6530, + "src": "30288:6:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6516, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30288:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "30279:16:19" + }, + "returnParameters": { + "id": 6521, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6520, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6530, + "src": "30318:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6519, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30318:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "30317:6:19" + }, + "scope": 6933, + "src": "30267:94:19", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 6548, + "nodeType": "Block", + "src": "30494:85:19", + "statements": [ + { + "expression": { + "id": 6541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6537, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4314, + "src": "30504:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6539, + "indexExpression": { + "id": 6538, + "name": "dest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6532, + "src": "30513:4:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "30504:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 6540, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6534, + "src": "30522:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "30504:24:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6542, + "nodeType": "ExpressionStatement", + "src": "30504:24:19" + }, + { + "eventCall": { + "arguments": [ + { + "id": 6544, + "name": "dest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6532, + "src": "30559:4:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6545, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6534, + "src": "30565:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6543, + "name": "BalanceIncrease", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4259, + "src": "30543:15:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 6546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30543:29:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6547, + "nodeType": "EmitStatement", + "src": "30538:34:19" + } + ] + }, + "id": 6549, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "increaseBalance", + "nameLocation": "30443:15:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6535, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6532, + "mutability": "mutable", + "name": "dest", + "nameLocation": "30467:4:19", + "nodeType": "VariableDeclaration", + "scope": 6549, + "src": "30459:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6531, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30459:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6534, + "mutability": "mutable", + "name": "amount", + "nameLocation": "30478:6:19", + "nodeType": "VariableDeclaration", + "scope": 6549, + "src": "30473:11:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6533, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30473:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "30458:27:19" + }, + "returnParameters": { + "id": 6536, + "nodeType": "ParameterList", + "parameters": [], + "src": "30494:0:19" + }, + "scope": 6933, + "src": "30434:145:19", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 6567, + "nodeType": "Block", + "src": "30645:85:19", + "statements": [ + { + "expression": { + "id": 6560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6556, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4314, + "src": "30655:8:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6558, + "indexExpression": { + "id": 6557, + "name": "dest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6551, + "src": "30664:4:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "30655:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 6559, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6553, + "src": "30673:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "30655:24:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6561, + "nodeType": "ExpressionStatement", + "src": "30655:24:19" + }, + { + "eventCall": { + "arguments": [ + { + "id": 6563, + "name": "dest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6551, + "src": "30710:4:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6564, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6553, + "src": "30716:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6562, + "name": "BalanceDecrease", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4265, + "src": "30694:15:19", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 6565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30694:29:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6566, + "nodeType": "EmitStatement", + "src": "30689:34:19" + } + ] + }, + "id": 6568, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "decreaseBalance", + "nameLocation": "30594:15:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6554, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6551, + "mutability": "mutable", + "name": "dest", + "nameLocation": "30618:4:19", + "nodeType": "VariableDeclaration", + "scope": 6568, + "src": "30610:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6550, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30610:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6553, + "mutability": "mutable", + "name": "amount", + "nameLocation": "30629:6:19", + "nodeType": "VariableDeclaration", + "scope": 6568, + "src": "30624:11:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6552, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30624:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "30609:27:19" + }, + "returnParameters": { + "id": 6555, + "nodeType": "ParameterList", + "parameters": [], + "src": "30645:0:19" + }, + "scope": 6933, + "src": "30585:145:19", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 6588, + "nodeType": "Block", + "src": "31012:78:19", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 6576, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4318, + "src": "31029:10:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6578, + "indexExpression": { + "id": 6577, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6571, + "src": "31040:4:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31029:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 6579, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31048:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "31029:20:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 6581, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4336, + "src": "31053:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6583, + "indexExpression": { + "id": 6582, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6571, + "src": "31073:4:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31053:25:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 6584, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31082:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "31053:30:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "31029:54:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6575, + "id": 6587, + "nodeType": "Return", + "src": "31022:61:19" + } + ] + }, + "documentation": { + "id": 6569, + "nodeType": "StructuredDocumentation", + "src": "30736:207:19", + "text": "@dev Checks if a liquidity provider is registered\n@param addr The address of the liquidity provider\n@return Boolean indicating whether the liquidity provider is registered" + }, + "id": 6589, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isRegistered", + "nameLocation": "30957:12:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6572, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6571, + "mutability": "mutable", + "name": "addr", + "nameLocation": "30978:4:19", + "nodeType": "VariableDeclaration", + "scope": 6589, + "src": "30970:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6570, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30970:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "30969:14:19" + }, + "returnParameters": { + "id": 6575, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6574, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6589, + "src": "31006:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6573, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "31006:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "31005:6:19" + }, + "scope": 6933, + "src": "30948:142:19", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 6608, + "nodeType": "Block", + "src": "31169:84:19", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 6596, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "31186:16:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6598, + "indexExpression": { + "id": 6597, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6591, + "src": "31203:4:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31186:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 6599, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31211:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "31186:26:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 6601, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4336, + "src": "31216:19:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6603, + "indexExpression": { + "id": 6602, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6591, + "src": "31236:4:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31216:25:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 6604, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31245:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "31216:30:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "31186:60:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6595, + "id": 6607, + "nodeType": "Return", + "src": "31179:67:19" + } + ] + }, + "id": 6609, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isRegisteredForPegout", + "nameLocation": "31105:21:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6592, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6591, + "mutability": "mutable", + "name": "addr", + "nameLocation": "31135:4:19", + "nodeType": "VariableDeclaration", + "scope": 6609, + "src": "31127:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6590, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "31127:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "31126:14:19" + }, + "returnParameters": { + "id": 6595, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6594, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6609, + "src": "31163:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6593, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "31163:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "31162:6:19" + }, + "scope": 6933, + "src": "31096:157:19", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 6653, + "nodeType": "Block", + "src": "31911:397:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6628, + "name": "btcRawTransaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6615, + "src": "31989:17:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 6629, + "name": "height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6619, + "src": "32020:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6630, + "name": "partialMerkleTree", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6617, + "src": "32040:17:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 6631, + "name": "derivationHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6621, + "src": "32071:14:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 6632, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6613, + "src": "32099:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 6633, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32105:16:19", + "memberName": "btcRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9855, + "src": "32099:22:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "arguments": [ + { + "id": 6636, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "32143:4:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LiquidityBridgeContract_$6933", + "typeString": "contract LiquidityBridgeContract" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_LiquidityBridgeContract_$6933", + "typeString": "contract LiquidityBridgeContract" + } + ], + "id": 6635, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "32135:8:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_payable_$", + "typeString": "type(address payable)" + }, + "typeName": { + "id": 6634, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "32135:8:19", + "stateMutability": "payable", + "typeDescriptions": {} + } + }, + "id": 6637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32135:13:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "expression": { + "id": 6638, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6613, + "src": "32162:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 6639, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32168:27:19", + "memberName": "liquidityProviderBtcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9859, + "src": "32162:33:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 6645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 6640, + "name": "callRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4332, + "src": "32209:12:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$4151_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContract.Registry storage ref)" + } + }, + "id": 6642, + "indexExpression": { + "id": 6641, + "name": "derivationHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6621, + "src": "32222:14:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32209:28:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Registry_$4151_storage", + "typeString": "struct LiquidityBridgeContract.Registry storage ref" + } + }, + "id": 6643, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32238:9:19", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 4148, + "src": "32209:38:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 6644, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32250:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "32209:42:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "expression": { + "baseExpression": { + "id": 6646, + "name": "callRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4332, + "src": "32255:12:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$4151_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContract.Registry storage ref)" + } + }, + "id": 6648, + "indexExpression": { + "id": 6647, + "name": "derivationHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6621, + "src": "32268:14:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "32255:28:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Registry_$4151_storage", + "typeString": "struct LiquidityBridgeContract.Registry storage ref" + } + }, + "id": 6649, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32284:7:19", + "memberName": "success", + "nodeType": "MemberAccess", + "referencedDeclaration": 4150, + "src": "32255:36:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "32209:82:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 6626, + "name": "bridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4310, + "src": "31936:6:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + }, + "id": 6627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31943:32:19", + "memberName": "registerFastBridgeBtcTransaction", + "nodeType": "MemberAccess", + "referencedDeclaration": 3171, + "src": "31936:39:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes32_$_t_bytes_memory_ptr_$_t_address_payable_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_int256_$", + "typeString": "function (bytes memory,uint256,bytes memory,bytes32,bytes memory,address payable,bytes memory,bool) external returns (int256)" + } + }, + "id": 6651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31936:365:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 6625, + "id": 6652, + "nodeType": "Return", + "src": "31921:380:19" + } + ] + }, + "documentation": { + "id": 6610, + "nodeType": "StructuredDocumentation", + "src": "31259:416:19", + "text": "@dev Registers a transaction with the bridge contract\n@param quote The quote of the service\n@param btcRawTransaction The peg-in transaction\n@param partialMerkleTree The merkle tree path that proves transaction inclusion\n@param height The block that contains the transaction\n@return The total peg-in amount received from the bridge contract or an error code" + }, + "id": 6654, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "registerBridge", + "nameLocation": "31689:14:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6622, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6613, + "mutability": "mutable", + "name": "quote", + "nameLocation": "31738:5:19", + "nodeType": "VariableDeclaration", + "scope": 6654, + "src": "31713:30:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote" + }, + "typeName": { + "id": 6612, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 6611, + "name": "Quotes.PeginQuote", + "nameLocations": [ + "31713:6:19", + "31720:10:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9884, + "src": "31713:17:19" + }, + "referencedDeclaration": 9884, + "src": "31713:17:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_storage_ptr", + "typeString": "struct Quotes.PeginQuote" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6615, + "mutability": "mutable", + "name": "btcRawTransaction", + "nameLocation": "31766:17:19", + "nodeType": "VariableDeclaration", + "scope": 6654, + "src": "31753:30:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6614, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "31753:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6617, + "mutability": "mutable", + "name": "partialMerkleTree", + "nameLocation": "31806:17:19", + "nodeType": "VariableDeclaration", + "scope": 6654, + "src": "31793:30:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6616, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "31793:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6619, + "mutability": "mutable", + "name": "height", + "nameLocation": "31841:6:19", + "nodeType": "VariableDeclaration", + "scope": 6654, + "src": "31833:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6618, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "31833:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6621, + "mutability": "mutable", + "name": "derivationHash", + "nameLocation": "31865:14:19", + "nodeType": "VariableDeclaration", + "scope": 6654, + "src": "31857:22:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6620, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "31857:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "31703:182:19" + }, + "returnParameters": { + "id": 6625, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6624, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6654, + "src": "31903:6:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 6623, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "31903:6:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "31902:8:19" + }, + "scope": 6933, + "src": "31680:628:19", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 6768, + "nodeType": "Block", + "src": "32908:1398:19", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 6671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6669, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6660, + "src": "32983:6:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 6670, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32992:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "32983:10:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 6674, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6660, + "src": "33005:6:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 6673, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "32997:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 6672, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32997:7:19", + "typeDescriptions": {} + } + }, + "id": 6675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32997:15:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6676, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6658, + "src": "33015:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 6677, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "33021:5:19", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 9873, + "src": "33015:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 6678, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6658, + "src": "33029:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 6679, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "33035:7:19", + "memberName": "callFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 9861, + "src": "33029:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "33015:27:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "32997:45:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "32983:59:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6686, + "nodeType": "IfStatement", + "src": "32979:102:19", + "trueBody": { + "id": 6685, + "nodeType": "Block", + "src": "33044:37:19", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 6683, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33065:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 6668, + "id": 6684, + "nodeType": "Return", + "src": "33058:12:19" + } + ] + } + }, + { + "assignments": [ + 6688 + ], + "declarations": [ + { + "constant": false, + "id": 6688, + "mutability": "mutable", + "name": "firstConfirmationHeader", + "nameLocation": "33104:23:19", + "nodeType": "VariableDeclaration", + "scope": 6768, + "src": "33091:36:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6687, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "33091:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 6693, + "initialValue": { + "arguments": [ + { + "id": 6691, + "name": "height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6664, + "src": "33182:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6689, + "name": "bridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4310, + "src": "33130:6:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + }, + "id": 6690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "33146:35:19", + "memberName": "getBtcBlockchainBlockHeaderByHeight", + "nodeType": "MemberAccess", + "referencedDeclaration": 3200, + "src": "33130:51:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) view external returns (bytes memory)" + } + }, + "id": 6692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33130:59:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "33091:98:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6695, + "name": "firstConfirmationHeader", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6688, + "src": "33207:23:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "33231:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "33207:30:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 6697, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33240:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "33207:34:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e76616c696420626c6f636b20686569676874", + "id": 6699, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33243:22:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b13cbe420d932534b4c4c376e19a45f25e0ca05c6f1a458489ccb0574b26a6d9", + "typeString": "literal_string \"Invalid block height\"" + }, + "value": "Invalid block height" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b13cbe420d932534b4c4c376e19a45f25e0ca05c6f1a458489ccb0574b26a6d9", + "typeString": "literal_string \"Invalid block height\"" + } + ], + "id": 6694, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "33199:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33199:67:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6701, + "nodeType": "ExpressionStatement", + "src": "33199:67:19" + }, + { + "assignments": [ + 6703 + ], + "declarations": [ + { + "constant": false, + "id": 6703, + "mutability": "mutable", + "name": "firstConfirmationTimestamp", + "nameLocation": "33285:26:19", + "nodeType": "VariableDeclaration", + "scope": 6768, + "src": "33277:34:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6702, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "33277:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6707, + "initialValue": { + "arguments": [ + { + "id": 6705, + "name": "firstConfirmationHeader", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6688, + "src": "33348:23:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6704, + "name": "getBtcBlockTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6857, + "src": "33314:20:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 6706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33314:67:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "33277:104:19" + }, + { + "assignments": [ + 6709 + ], + "declarations": [ + { + "constant": false, + "id": 6709, + "mutability": "mutable", + "name": "timeLimit", + "nameLocation": "33526:9:19", + "nodeType": "VariableDeclaration", + "scope": 6768, + "src": "33521:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6708, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "33521:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6715, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 6714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6710, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6658, + "src": "33538:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 6711, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "33544:18:19", + "memberName": "agreementTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 9875, + "src": "33538:24:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 6712, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6658, + "src": "33565:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 6713, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "33571:14:19", + "memberName": "timeForDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 9877, + "src": "33565:20:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "33538:47:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "33521:64:19" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6716, + "name": "firstConfirmationTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6703, + "src": "33599:26:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 6717, + "name": "timeLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6709, + "src": "33628:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "33599:38:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6722, + "nodeType": "IfStatement", + "src": "33595:81:19", + "trueBody": { + "id": 6721, + "nodeType": "Block", + "src": "33639:37:19", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 6719, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33660:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 6668, + "id": 6720, + "nodeType": "Return", + "src": "33653:12:19" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6723, + "name": "callTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6662, + "src": "33731:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 6724, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33748:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "33731:18:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6729, + "nodeType": "IfStatement", + "src": "33727:60:19", + "trueBody": { + "id": 6728, + "nodeType": "Block", + "src": "33751:36:19", + "statements": [ + { + "expression": { + "hexValue": "74727565", + "id": 6726, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33772:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6668, + "id": 6727, + "nodeType": "Return", + "src": "33765:11:19" + } + ] + } + }, + { + "assignments": [ + 6731 + ], + "declarations": [ + { + "constant": false, + "id": 6731, + "mutability": "mutable", + "name": "nConfirmationsHeader", + "nameLocation": "33810:20:19", + "nodeType": "VariableDeclaration", + "scope": 6768, + "src": "33797:33:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6730, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "33797:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 6741, + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6734, + "name": "height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6664, + "src": "33898:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 6735, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6658, + "src": "33907:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 6736, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "33913:20:19", + "memberName": "depositConfirmations", + "nodeType": "MemberAccess", + "referencedDeclaration": 9881, + "src": "33907:26:19", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "src": "33898:35:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 6738, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33936:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "33898:39:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6732, + "name": "bridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4310, + "src": "33833:6:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + }, + "id": 6733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "33849:35:19", + "memberName": "getBtcBlockchainBlockHeaderByHeight", + "nodeType": "MemberAccess", + "referencedDeclaration": 3200, + "src": "33833:51:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) view external returns (bytes memory)" + } + }, + "id": 6740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33833:114:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "33797:150:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6743, + "name": "nConfirmationsHeader", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6731, + "src": "33965:20:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "33986:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "33965:27:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 6745, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33995:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "33965:31:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303538", + "id": 6747, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33998:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bac19bb4c4dce4ec87196bdccebfa1c4310f60332f1259cdc0bb93303ee1c2a0", + "typeString": "literal_string \"LBC058\"" + }, + "value": "LBC058" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_bac19bb4c4dce4ec87196bdccebfa1c4310f60332f1259cdc0bb93303ee1c2a0", + "typeString": "literal_string \"LBC058\"" + } + ], + "id": 6742, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "33957:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33957:50:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6749, + "nodeType": "ExpressionStatement", + "src": "33957:50:19" + }, + { + "assignments": [ + 6751 + ], + "declarations": [ + { + "constant": false, + "id": 6751, + "mutability": "mutable", + "name": "nConfirmationsTimestamp", + "nameLocation": "34026:23:19", + "nodeType": "VariableDeclaration", + "scope": 6768, + "src": "34018:31:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6750, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "34018:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6755, + "initialValue": { + "arguments": [ + { + "id": 6753, + "name": "nConfirmationsHeader", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6731, + "src": "34086:20:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6752, + "name": "getBtcBlockTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6857, + "src": "34052:20:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 6754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34052:64:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "34018:98:19" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6756, + "name": "callTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6662, + "src": "34184:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6757, + "name": "nConfirmationsTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6751, + "src": "34200:23:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 6758, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6658, + "src": "34226:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 6759, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34232:8:19", + "memberName": "callTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 9879, + "src": "34226:14:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "34200:40:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "34184:56:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6765, + "nodeType": "IfStatement", + "src": "34180:98:19", + "trueBody": { + "id": 6764, + "nodeType": "Block", + "src": "34242:36:19", + "statements": [ + { + "expression": { + "hexValue": "74727565", + "id": 6762, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34263:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6668, + "id": 6763, + "nodeType": "Return", + "src": "34256:11:19" + } + ] + } + }, + { + "expression": { + "hexValue": "66616c7365", + "id": 6766, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34294:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 6668, + "id": 6767, + "nodeType": "Return", + "src": "34287:12:19" + } + ] + }, + "documentation": { + "id": 6655, + "nodeType": "StructuredDocumentation", + "src": "32314:411:19", + "text": "@dev Checks if a liquidity provider should be penalized\n@param quote The quote of the service\n@param amount The transferred amount or an error code\n@param callTimestamp The time that the liquidity provider called callForUser\n@param height The block height where the peg-in transaction is included\n@return Boolean indicating whether the penalty applies" + }, + "id": 6769, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "shouldPenalizeLP", + "nameLocation": "32739:16:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6665, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6658, + "mutability": "mutable", + "name": "quote", + "nameLocation": "32790:5:19", + "nodeType": "VariableDeclaration", + "scope": 6769, + "src": "32765:30:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote" + }, + "typeName": { + "id": 6657, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 6656, + "name": "Quotes.PeginQuote", + "nameLocations": [ + "32765:6:19", + "32772:10:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9884, + "src": "32765:17:19" + }, + "referencedDeclaration": 9884, + "src": "32765:17:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_storage_ptr", + "typeString": "struct Quotes.PeginQuote" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6660, + "mutability": "mutable", + "name": "amount", + "nameLocation": "32812:6:19", + "nodeType": "VariableDeclaration", + "scope": 6769, + "src": "32805:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 6659, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "32805:6:19", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6662, + "mutability": "mutable", + "name": "callTimestamp", + "nameLocation": "32836:13:19", + "nodeType": "VariableDeclaration", + "scope": 6769, + "src": "32828:21:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6661, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32828:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6664, + "mutability": "mutable", + "name": "height", + "nameLocation": "32867:6:19", + "nodeType": "VariableDeclaration", + "scope": 6769, + "src": "32859:14:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6663, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32859:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "32755:124:19" + }, + "returnParameters": { + "id": 6668, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6667, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6769, + "src": "32902:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6666, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "32902:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "32901:6:19" + }, + "scope": 6933, + "src": "32730:1576:19", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 6834, + "nodeType": "Block", + "src": "34473:692:19", + "statements": [ + { + "assignments": [ + 6782 + ], + "declarations": [ + { + "constant": false, + "id": 6782, + "mutability": "mutable", + "name": "firstConfirmationHeader", + "nameLocation": "34496:23:19", + "nodeType": "VariableDeclaration", + "scope": 6834, + "src": "34483:36:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6781, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "34483:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 6787, + "initialValue": { + "arguments": [ + { + "id": 6785, + "name": "blockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6776, + "src": "34563:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 6783, + "name": "bridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4310, + "src": "34522:6:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + }, + "id": 6784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34529:33:19", + "memberName": "getBtcBlockchainBlockHeaderByHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 3193, + "src": "34522:40:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes32) view external returns (bytes memory)" + } + }, + "id": 6786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34522:51:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "34483:90:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6789, + "name": "firstConfirmationHeader", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6782, + "src": "34591:23:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34615:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "34591:30:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 6791, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34624:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "34591:34:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303539", + "id": 6793, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34627:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_319f398ccb7cc8c2c2304e07f301f618437c863aa2ff561ced1eaa40fcd3df63", + "typeString": "literal_string \"LBC059\"" + }, + "value": "LBC059" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_319f398ccb7cc8c2c2304e07f301f618437c863aa2ff561ced1eaa40fcd3df63", + "typeString": "literal_string \"LBC059\"" + } + ], + "id": 6788, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "34583:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34583:53:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6795, + "nodeType": "ExpressionStatement", + "src": "34583:53:19" + }, + { + "assignments": [ + 6797 + ], + "declarations": [ + { + "constant": false, + "id": 6797, + "mutability": "mutable", + "name": "firstConfirmationTimestamp", + "nameLocation": "34655:26:19", + "nodeType": "VariableDeclaration", + "scope": 6834, + "src": "34647:34:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6796, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "34647:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6801, + "initialValue": { + "arguments": [ + { + "id": 6799, + "name": "firstConfirmationHeader", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6782, + "src": "34705:23:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6798, + "name": "getBtcBlockTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6857, + "src": "34684:20:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 6800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34684:45:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "34647:82:19" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6802, + "name": "firstConfirmationTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6797, + "src": "34801:26:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 6803, + "name": "pegoutRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4366, + "src": "34830:14:19", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegoutRecord_$4156_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContract.PegoutRecord storage ref)" + } + }, + "id": 6805, + "indexExpression": { + "id": 6804, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6774, + "src": "34845:9:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "34830:25:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegoutRecord_$4156_storage", + "typeString": "struct LiquidityBridgeContract.PegoutRecord storage ref" + } + }, + "id": 6806, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34856:16:19", + "memberName": "depositTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 4153, + "src": "34830:42:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 6807, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6772, + "src": "34887:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 6808, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34893:12:19", + "memberName": "transferTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 9914, + "src": "34887:18:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "34830:75:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 6810, + "name": "btcBlockTime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4350, + "src": "34908:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "34830:90:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "34801:119:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6816, + "nodeType": "IfStatement", + "src": "34797:161:19", + "trueBody": { + "id": 6815, + "nodeType": "Block", + "src": "34922:36:19", + "statements": [ + { + "expression": { + "hexValue": "74727565", + "id": 6813, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34943:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6780, + "id": 6814, + "nodeType": "Return", + "src": "34936:11:19" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6817, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "35028:5:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 6818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35034:9:19", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "35028:15:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 6819, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6772, + "src": "35046:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 6820, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35052:10:19", + "memberName": "expireDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 9916, + "src": "35046:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "35028:34:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6822, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "35066:5:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 6823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35072:6:19", + "memberName": "number", + "nodeType": "MemberAccess", + "src": "35066:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 6824, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6772, + "src": "35081:5:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 6825, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35087:11:19", + "memberName": "expireBlock", + "nodeType": "MemberAccess", + "referencedDeclaration": 9918, + "src": "35081:17:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "35066:32:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "35028:70:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6831, + "nodeType": "IfStatement", + "src": "35024:112:19", + "trueBody": { + "id": 6830, + "nodeType": "Block", + "src": "35100:36:19", + "statements": [ + { + "expression": { + "hexValue": "74727565", + "id": 6828, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35121:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 6780, + "id": 6829, + "nodeType": "Return", + "src": "35114:11:19" + } + ] + } + }, + { + "expression": { + "hexValue": "66616c7365", + "id": 6832, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35153:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 6780, + "id": 6833, + "nodeType": "Return", + "src": "35146:12:19" + } + ] + }, + "id": 6835, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "shouldPenalizePegOutLP", + "nameLocation": "34321:22:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6777, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6772, + "mutability": "mutable", + "name": "quote", + "nameLocation": "34379:5:19", + "nodeType": "VariableDeclaration", + "scope": 6835, + "src": "34353:31:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote" + }, + "typeName": { + "id": 6771, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 6770, + "name": "Quotes.PegOutQuote", + "nameLocations": [ + "34353:6:19", + "34360:11:19" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9919, + "src": "34353:18:19" + }, + "referencedDeclaration": 9919, + "src": "34353:18:19", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6774, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "34402:9:19", + "nodeType": "VariableDeclaration", + "scope": 6835, + "src": "34394:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6773, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "34394:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6776, + "mutability": "mutable", + "name": "blockHash", + "nameLocation": "34429:9:19", + "nodeType": "VariableDeclaration", + "scope": 6835, + "src": "34421:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6775, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "34421:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "34343:101:19" + }, + "returnParameters": { + "id": 6780, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6779, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6835, + "src": "34467:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6778, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "34467:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "34466:6:19" + }, + "scope": 6933, + "src": "34312:853:19", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 6856, + "nodeType": "Block", + "src": "35429:207:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6844, + "name": "header", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6838, + "src": "35551:6:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35558:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "35551:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3830", + "id": 6846, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35568:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_80_by_1", + "typeString": "int_const 80" + }, + "value": "80" + }, + "src": "35551:19:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303631", + "id": 6848, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35572:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_438c5a176571afee566b78f09f63757218623602a6c98e887399fe40429f63df", + "typeString": "literal_string \"LBC061\"" + }, + "value": "LBC061" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_438c5a176571afee566b78f09f63757218623602a6c98e887399fe40429f63df", + "typeString": "literal_string \"LBC061\"" + } + ], + "id": 6843, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "35543:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35543:38:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6850, + "nodeType": "ExpressionStatement", + "src": "35543:38:19" + }, + { + "expression": { + "arguments": [ + { + "id": 6852, + "name": "header", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6838, + "src": "35618:6:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "3638", + "id": 6853, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35626:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_68_by_1", + "typeString": "int_const 68" + }, + "value": "68" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_68_by_1", + "typeString": "int_const 68" + } + ], + "id": 6851, + "name": "sliceUint32FromLSB", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6932, + "src": "35599:18:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint32_$", + "typeString": "function (bytes memory,uint256) pure returns (uint32)" + } + }, + "id": 6854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35599:30:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "functionReturnParameters": 6842, + "id": 6855, + "nodeType": "Return", + "src": "35592:37:19" + } + ] + }, + "documentation": { + "id": 6836, + "nodeType": "StructuredDocumentation", + "src": "35171:158:19", + "text": "@dev Gets the timestamp of a Bitcoin block header\n@param header The block header\n@return The timestamp of the block header" + }, + "functionSelector": "a0cd70fc", + "id": 6857, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBtcBlockTimestamp", + "nameLocation": "35343:20:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6839, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6838, + "mutability": "mutable", + "name": "header", + "nameLocation": "35386:6:19", + "nodeType": "VariableDeclaration", + "scope": 6857, + "src": "35373:19:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6837, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "35373:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "35363:35:19" + }, + "returnParameters": { + "id": 6842, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6841, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6857, + "src": "35420:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6840, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "35420:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "35419:9:19" + }, + "scope": 6933, + "src": "35334:302:19", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6931, + "nodeType": "Block", + "src": "35812:253:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6867, + "name": "bs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6859, + "src": "35830:2:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "35833:6:19", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "35830:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6869, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6861, + "src": "35843:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "34", + "id": 6870, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35852:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "35843:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "35830:23:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303632", + "id": 6873, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35855:8:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_670f3ba0b2ca6f986efb9f8a498a40315443c3d4e263cc5de65e37011508c7c9", + "typeString": "literal_string \"LBC062\"" + }, + "value": "LBC062" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_670f3ba0b2ca6f986efb9f8a498a40315443c3d4e263cc5de65e37011508c7c9", + "typeString": "literal_string \"LBC062\"" + } + ], + "id": 6866, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "35822:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35822:42:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6875, + "nodeType": "ExpressionStatement", + "src": "35822:42:19" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 6929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 6914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 6899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 6880, + "name": "bs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6859, + "src": "35903:2:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6882, + "indexExpression": { + "id": 6881, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6861, + "src": "35906:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35903:10:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 6879, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "35897:5:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 6878, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "35897:5:19", + "typeDescriptions": {} + } + }, + "id": 6883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35897:17:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 6877, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "35890:6:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": { + "id": 6876, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "35890:6:19", + "typeDescriptions": {} + } + }, + "id": 6884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35890:25:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 6897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 6889, + "name": "bs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6859, + "src": "35940:2:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6893, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6890, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6861, + "src": "35943:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 6891, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35952:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "35943:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35940:14:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 6888, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "35934:5:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 6887, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "35934:5:19", + "typeDescriptions": {} + } + }, + "id": 6894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35934:21:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 6886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "35927:6:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": { + "id": 6885, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "35927:6:19", + "typeDescriptions": {} + } + }, + "id": 6895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35927:29:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "38", + "id": 6896, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35960:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "35927:34:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + } + ], + "id": 6898, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "35926:36:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "35890:72:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 6912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 6904, + "name": "bs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6859, + "src": "35987:2:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6908, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6905, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6861, + "src": "35990:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "32", + "id": 6906, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35999:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "35990:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "35987:14:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 6903, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "35981:5:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 6902, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "35981:5:19", + "typeDescriptions": {} + } + }, + "id": 6909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35981:21:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 6901, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "35974:6:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": { + "id": 6900, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "35974:6:19", + "typeDescriptions": {} + } + }, + "id": 6910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "35974:29:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "3136", + "id": 6911, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36007:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "src": "35974:35:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + } + ], + "id": 6913, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "35973:37:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "35890:120:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "|", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 6927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 6919, + "name": "bs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6859, + "src": "36035:2:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6923, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6920, + "name": "offset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6861, + "src": "36038:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "33", + "id": 6921, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36047:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "36038:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "36035:14:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "id": 6918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "36029:5:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 6917, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "36029:5:19", + "typeDescriptions": {} + } + }, + "id": 6924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36029:21:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 6916, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "36022:6:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": { + "id": 6915, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "36022:6:19", + "typeDescriptions": {} + } + }, + "id": 6925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "36022:29:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "<<", + "rightExpression": { + "hexValue": "3234", + "id": 6926, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36055:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_24_by_1", + "typeString": "int_const 24" + }, + "value": "24" + }, + "src": "36022:35:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + } + ], + "id": 6928, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "36021:37:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "35890:168:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "functionReturnParameters": 6865, + "id": 6930, + "nodeType": "Return", + "src": "35875:183:19" + } + ] + }, + "id": 6932, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sliceUint32FromLSB", + "nameLocation": "35710:18:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6862, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6859, + "mutability": "mutable", + "name": "bs", + "nameLocation": "35751:2:19", + "nodeType": "VariableDeclaration", + "scope": 6932, + "src": "35738:15:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6858, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "35738:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6861, + "mutability": "mutable", + "name": "offset", + "nameLocation": "35768:6:19", + "nodeType": "VariableDeclaration", + "scope": 6932, + "src": "35763:11:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6860, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "35763:4:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "35728:52:19" + }, + "returnParameters": { + "id": 6865, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6864, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6932, + "src": "35804:6:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 6863, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "35804:6:19", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "src": "35803:8:19" + }, + "scope": 6933, + "src": "35701:364:19", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 6934, + "src": "479:35588:19", + "usedErrors": [] + } + ], + "src": "32:36036:19" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": { + "31": { + "events": {}, + "links": { + "Quotes": "0x82Ae9f2609FA360D73B12D735356eE467eC1445e" + } + } + }, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.646Z", + "devdoc": { + "events": { + "Initialized(uint8)": { + "details": "Triggered when the contract has been initialized or reinitialized." + } + }, + "kind": "dev", + "methods": { + "addCollateral()": { + "details": "Increases the amount of collateral of the sender" + }, + "callForUser((bytes20,address,address,bytes,address,bytes,uint256,uint256,address,bytes,uint32,int64,uint256,uint32,uint32,uint32,uint16,bool))": { + "details": "Performs a call on behalf of a user", + "params": { + "quote": "The quote that identifies the service" + }, + "returns": { + "_0": "Boolean indicating whether the call was successful" + } + }, + "deposit()": { + "details": "Increases the balance of the sender" + }, + "getBalance(address)": { + "details": "Returns the amount of funds of a liquidity provider", + "params": { + "addr": "The address of the liquidity provider" + }, + "returns": { + "_0": "The balance of the liquidity provider" + } + }, + "getBtcBlockTimestamp(bytes)": { + "details": "Gets the timestamp of a Bitcoin block header", + "params": { + "header": "The block header" + }, + "returns": { + "_0": "The timestamp of the block header" + } + }, + "getCollateral(address)": { + "details": "Returns the amount of collateral of a liquidity provider", + "params": { + "addr": "The address of the liquidity provider" + }, + "returns": { + "_0": "The amount of locked collateral" + } + }, + "hashQuote((bytes20,address,address,bytes,address,bytes,uint256,uint256,address,bytes,uint32,int64,uint256,uint32,uint32,uint32,uint16,bool))": { + "details": "Calculates hash of a quote. Note: besides calculation this function also validates the quote.", + "params": { + "quote": "The quote of the service" + }, + "returns": { + "_0": "The hash of a quote" + } + }, + "initialize(address,uint256,uint256,uint32,uint32,uint256,uint256,bool)": { + "params": { + "_bridgeAddress": "The address of the bridge contract", + "_dustThreshold": "Amount that is considered dust", + "_minimumCollateral": "The minimum required collateral for liquidity providers", + "_minimumPegIn": "The minimum peg-in amount", + "_resignDelayBlocks": "The number of block confirmations that a liquidity // provider needs to wait before it can withdraw its collateral", + "_rewardPercentage": "The percentage of the penalty fee that an honest party // receives when calling registerPegIn in case of a liquidity provider misbehaving" + } + }, + "isOperational(address)": { + "details": "Checks whether a liquidity provider can deliver a pegin service", + "returns": { + "_0": "Whether the liquidity provider is registered and has enough locked collateral" + } + }, + "isOperationalForPegout(address)": { + "details": "Checks whether a liquidity provider can deliver a pegout service", + "returns": { + "_0": "Whether the liquidity provider is registered and has enough locked collateral" + } + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "register(string,string,bool,string)": { + "details": "Registers msg.sender as a liquidity provider with msg.value as collateral" + }, + "registerPegIn((bytes20,address,address,bytes,address,bytes,uint256,uint256,address,bytes,uint32,int64,uint256,uint32,uint32,uint32,uint16,bool),bytes,bytes,bytes,uint256)": { + "details": "Registers a peg-in transaction with the bridge and pays to the involved parties", + "params": { + "btcRawTransaction": "The peg-in transaction", + "height": "The block that contains the peg-in transaction", + "partialMerkleTree": "The merkle tree path that proves transaction inclusion", + "quote": "The quote of the service", + "signature": "The signature of the quote" + }, + "returns": { + "_0": "The total peg-in amount received from the bridge contract or an error code" + } + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "resign()": { + "details": "Used to resign as a liquidity provider" + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + }, + "withdraw(uint256)": { + "details": "Used to withdraw funds", + "params": { + "amount": "The amount to withdraw" + } + }, + "withdrawCollateral()": { + "details": "Used to withdraw the locked collateral" + } + }, + "title": "Contract that assists with the Flyover protocol", + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/LiquidityBridgeContractAdmin.json b/build/contracts/LiquidityBridgeContractAdmin.json new file mode 100644 index 0000000..8eb5635 --- /dev/null +++ b/build/contracts/LiquidityBridgeContractAdmin.json @@ -0,0 +1,3898 @@ +{ + "contractName": "LiquidityBridgeContractAdmin", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "contract TransparentUpgradeableProxy", + "name": "proxy", + "type": "address" + }, + { + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "changeProxyAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract TransparentUpgradeableProxy", + "name": "proxy", + "type": "address" + } + ], + "name": "getProxyAdmin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract TransparentUpgradeableProxy", + "name": "proxy", + "type": "address" + } + ], + "name": "getProxyImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract TransparentUpgradeableProxy", + "name": "proxy", + "type": "address" + }, + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "upgrade", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract TransparentUpgradeableProxy", + "name": "proxy", + "type": "address" + }, + { + "internalType": "address", + "name": "implementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"contract TransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"changeProxyAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract TransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"getProxyAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract TransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"getProxyImplementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract TransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"upgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract TransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"changeProxyAdmin(address,address)\":{\"details\":\"Changes the admin of `proxy` to `newAdmin`. Requirements: - This contract must be the current admin of `proxy`.\"},\"getProxyAdmin(address)\":{\"details\":\"Returns the current admin of `proxy`. Requirements: - This contract must be the admin of `proxy`.\"},\"getProxyImplementation(address)\":{\"details\":\"Returns the current implementation of `proxy`. Requirements: - This contract must be the admin of `proxy`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgrade(address,address)\":{\"details\":\"Upgrades `proxy` to `implementation`. See {TransparentUpgradeableProxy-upgradeTo}. Requirements: - This contract must be the admin of `proxy`.\"},\"upgradeAndCall(address,address,bytes)\":{\"details\":\"Upgrades `proxy` to `implementation` and calls a function on the new implementation. See {TransparentUpgradeableProxy-upgradeToAndCall}. Requirements: - This contract must be the admin of `proxy`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/LiquidityBridgeContractAdmin.sol\":\"LiquidityBridgeContractAdmin\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0xabf3f59bc0e5423eae45e459dbe92e7052c6983628d39008590edc852a62f94a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89c2a0f70157c13845be5cb49b078a6374fee3a78fa950052a3af26190255da8\",\"dweb:/ipfs/QmUcvMEQH1oMM2pUyMuDiBUKdvvnTz1NRB8bmPHrVq8725\"]},\"@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol\":{\"keccak256\":\"0x33b8603bfbef7f33d9308b79c79aa3db7eb19525fd1addd764285e834ca275d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ada1f59ac012751561c8fa066bddf1a8fb518fcb0ea2d64920797c1711aad0c\",\"dweb:/ipfs/QmTrY13qevgKDUAyQhFvMNLvbLuWaQprvDzvLdXWQwnoxA\"]},\"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0xa6a787e7a901af6511e19aa53e1a00352db215a011d2c7a438d0582dd5da76f9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6c4477d480bac20d681ade0e712b77ad828acf530a1d5c0abc5fb78068a05a1\",\"dweb:/ipfs/QmdBqsK8CcUceTeWzhHwFDEvKMoHimwtV96Lbim7ZBtCb8\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]},\"project:/contracts/LiquidityBridgeContractAdmin.sol\":{\"keccak256\":\"0xacc0652aae1fa3e37e577dd9c636bf2b7c16062d902e9d8e9fa9f23d16bdd637\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a51b0d97e300c0db9c9e4adb6d8c9f34915cc441202c352b51a20f50614d9dc\",\"dweb:/ipfs/QmPezJsczFVJAJ29ptXzkshS4RkwerGrcHFZ17HWcfwP2e\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61069b8061007e6000396000f3fe60806040526004361061006b5760003560e01c8063204e1c7a14610070578063715018a6146100a65780637eff275e146100bd5780638da5cb5b146100dd5780639623609d146100f257806399a88ec414610105578063f2fde38b14610125578063f3b7dead14610145575b600080fd5b34801561007c57600080fd5b5061009061008b36600461048e565b610165565b60405161009d91906104b2565b60405180910390f35b3480156100b257600080fd5b506100bb6101f6565b005b3480156100c957600080fd5b506100bb6100d83660046104c6565b61020a565b3480156100e957600080fd5b50610090610274565b6100bb610100366004610515565b610283565b34801561011157600080fd5b506100bb6101203660046104c6565b6102f2565b34801561013157600080fd5b506100bb61014036600461048e565b610326565b34801561015157600080fd5b5061009061016036600461048e565b6103a4565b6000806000836001600160a01b031660405161018b90635c60da1b60e01b815260040190565b600060405180830381855afa9150503d80600081146101c6576040519150601f19603f3d011682016040523d82523d6000602084013e6101cb565b606091505b5091509150816101da57600080fd5b808060200190518101906101ee91906105ea565b949350505050565b6101fe6103ca565b6102086000610429565b565b6102126103ca565b6040516308f2839760e41b81526001600160a01b03831690638f2839709061023e9084906004016104b2565b600060405180830381600087803b15801561025857600080fd5b505af115801561026c573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031690565b61028b6103ca565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906102bb9086908690600401610607565b6000604051808303818588803b1580156102d457600080fd5b505af11580156102e8573d6000803e3d6000fd5b5050505050505050565b6102fa6103ca565b604051631b2ce7f360e11b81526001600160a01b03831690633659cfe69061023e9084906004016104b2565b61032e6103ca565b6001600160a01b0381166103985760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6103a181610429565b50565b6000806000836001600160a01b031660405161018b906303e1469160e61b815260040190565b336103d3610274565b6001600160a01b0316146102085760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161038f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146103a157600080fd5b6000602082840312156104a057600080fd5b81356104ab81610479565b9392505050565b6001600160a01b0391909116815260200190565b600080604083850312156104d957600080fd5b82356104e481610479565b915060208301356104f481610479565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561052a57600080fd5b833561053581610479565b9250602084013561054581610479565b915060408401356001600160401b038082111561056157600080fd5b818601915086601f83011261057557600080fd5b813581811115610587576105876104ff565b604051601f8201601f19908116603f011681019083821181831017156105af576105af6104ff565b816040528281528960208487010111156105c857600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156105fc57600080fd5b81516104ab81610479565b60018060a01b038316815260006020604081840152835180604085015260005b8181101561064357858101830151858201606001528201610627565b506000606082860101526060601f19601f83011685010192505050939250505056fea26469706673582212209f69f7c3393a4e706646b82ee2f9293cf82702b663f63e422d85ecb7cd1194f964736f6c63430008120033", + "deployedBytecode": "0x60806040526004361061006b5760003560e01c8063204e1c7a14610070578063715018a6146100a65780637eff275e146100bd5780638da5cb5b146100dd5780639623609d146100f257806399a88ec414610105578063f2fde38b14610125578063f3b7dead14610145575b600080fd5b34801561007c57600080fd5b5061009061008b36600461048e565b610165565b60405161009d91906104b2565b60405180910390f35b3480156100b257600080fd5b506100bb6101f6565b005b3480156100c957600080fd5b506100bb6100d83660046104c6565b61020a565b3480156100e957600080fd5b50610090610274565b6100bb610100366004610515565b610283565b34801561011157600080fd5b506100bb6101203660046104c6565b6102f2565b34801561013157600080fd5b506100bb61014036600461048e565b610326565b34801561015157600080fd5b5061009061016036600461048e565b6103a4565b6000806000836001600160a01b031660405161018b90635c60da1b60e01b815260040190565b600060405180830381855afa9150503d80600081146101c6576040519150601f19603f3d011682016040523d82523d6000602084013e6101cb565b606091505b5091509150816101da57600080fd5b808060200190518101906101ee91906105ea565b949350505050565b6101fe6103ca565b6102086000610429565b565b6102126103ca565b6040516308f2839760e41b81526001600160a01b03831690638f2839709061023e9084906004016104b2565b600060405180830381600087803b15801561025857600080fd5b505af115801561026c573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031690565b61028b6103ca565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906102bb9086908690600401610607565b6000604051808303818588803b1580156102d457600080fd5b505af11580156102e8573d6000803e3d6000fd5b5050505050505050565b6102fa6103ca565b604051631b2ce7f360e11b81526001600160a01b03831690633659cfe69061023e9084906004016104b2565b61032e6103ca565b6001600160a01b0381166103985760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6103a181610429565b50565b6000806000836001600160a01b031660405161018b906303e1469160e61b815260040190565b336103d3610274565b6001600160a01b0316146102085760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161038f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146103a157600080fd5b6000602082840312156104a057600080fd5b81356104ab81610479565b9392505050565b6001600160a01b0391909116815260200190565b600080604083850312156104d957600080fd5b82356104e481610479565b915060208301356104f481610479565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561052a57600080fd5b833561053581610479565b9250602084013561054581610479565b915060408401356001600160401b038082111561056157600080fd5b818601915086601f83011261057557600080fd5b813581811115610587576105876104ff565b604051601f8201601f19908116603f011681019083821181831017156105af576105af6104ff565b816040528281528960208487010111156105c857600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156105fc57600080fd5b81516104ab81610479565b60018060a01b038316815260006020604081840152835180604085015260005b8181101561064357858101830151858201606001528201610627565b506000606082860101526060601f19601f83011685010192505050939250505056fea26469706673582212209f69f7c3393a4e706646b82ee2f9293cf82702b663f63e422d85ecb7cd1194f964736f6c63430008120033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:5150:30", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:30", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "88:86:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "152:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "161:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "164:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "154:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "154:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "154:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "111:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "122:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "137:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "142:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "133:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "133:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "146:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "129:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "129:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "118:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "118:31:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "108:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "108:42:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "101:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "101:50:30" + }, + "nodeType": "YulIf", + "src": "98:70:30" + } + ] + }, + "name": "validator_revert_contract_TransparentUpgradeableProxy", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "77:5:30", + "type": "" + } + ], + "src": "14:160:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "285:206:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "331:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "340:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "343:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "333:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "333:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "333:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "306:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "315:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "302:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "302:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "327:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "298:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "298:32:30" + }, + "nodeType": "YulIf", + "src": "295:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "356:36:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "382:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "369:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "369:23:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "360:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "455:5:30" + } + ], + "functionName": { + "name": "validator_revert_contract_TransparentUpgradeableProxy", + "nodeType": "YulIdentifier", + "src": "401:53:30" + }, + "nodeType": "YulFunctionCall", + "src": "401:60:30" + }, + "nodeType": "YulExpressionStatement", + "src": "401:60:30" + }, + { + "nodeType": "YulAssignment", + "src": "470:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "480:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "470:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_contract$_TransparentUpgradeableProxy_$1523", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "251:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "262:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "274:6:30", + "type": "" + } + ], + "src": "179:312:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "597:102:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "607:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "619:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "630:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "615:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "615:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "607:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "649:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "664:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "680:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "685:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "676:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "676:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "689:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "672:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "672:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "660:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "660:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "642:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "642:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "642:51:30" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "566:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "577:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "588:4:30", + "type": "" + } + ], + "src": "496:203:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "827:359:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "873:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "882:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "885:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "875:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "875:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "875:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "848:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "857:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "844:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "844:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "869:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "840:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "840:32:30" + }, + "nodeType": "YulIf", + "src": "837:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "898:36:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "924:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "911:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "911:23:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "902:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "997:5:30" + } + ], + "functionName": { + "name": "validator_revert_contract_TransparentUpgradeableProxy", + "nodeType": "YulIdentifier", + "src": "943:53:30" + }, + "nodeType": "YulFunctionCall", + "src": "943:60:30" + }, + "nodeType": "YulExpressionStatement", + "src": "943:60:30" + }, + { + "nodeType": "YulAssignment", + "src": "1012:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1022:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1012:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1036:47:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1068:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1079:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1064:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1064:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1051:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1051:32:30" + }, + "variables": [ + { + "name": "value_1", + "nodeType": "YulTypedName", + "src": "1040:7:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "1146:7:30" + } + ], + "functionName": { + "name": "validator_revert_contract_TransparentUpgradeableProxy", + "nodeType": "YulIdentifier", + "src": "1092:53:30" + }, + "nodeType": "YulFunctionCall", + "src": "1092:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1092:62:30" + }, + { + "nodeType": "YulAssignment", + "src": "1163:17:30", + "value": { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "1173:7:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1163:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_contract$_TransparentUpgradeableProxy_$1523t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "785:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "796:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "808:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "816:6:30", + "type": "" + } + ], + "src": "704:482:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1223:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1240:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1247:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1252:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1243:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1243:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1233:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1233:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1233:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1280:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1283:4:30", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1273:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1273:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1273:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1304:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1307:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1297:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1297:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1297:15:30" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "1191:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1472:1142:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1518:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1527:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1530:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1520:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1520:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1520:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1493:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1502:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1489:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1489:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1514:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1485:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1485:32:30" + }, + "nodeType": "YulIf", + "src": "1482:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1543:36:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1569:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1556:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1556:23:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1547:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1642:5:30" + } + ], + "functionName": { + "name": "validator_revert_contract_TransparentUpgradeableProxy", + "nodeType": "YulIdentifier", + "src": "1588:53:30" + }, + "nodeType": "YulFunctionCall", + "src": "1588:60:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1588:60:30" + }, + { + "nodeType": "YulAssignment", + "src": "1657:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1667:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1657:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1681:47:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1713:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1724:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1709:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1709:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1696:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1696:32:30" + }, + "variables": [ + { + "name": "value_1", + "nodeType": "YulTypedName", + "src": "1685:7:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "1791:7:30" + } + ], + "functionName": { + "name": "validator_revert_contract_TransparentUpgradeableProxy", + "nodeType": "YulIdentifier", + "src": "1737:53:30" + }, + "nodeType": "YulFunctionCall", + "src": "1737:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1737:62:30" + }, + { + "nodeType": "YulAssignment", + "src": "1808:17:30", + "value": { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "1818:7:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1808:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1834:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1865:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1876:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1861:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1861:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1848:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1848:32:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1838:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1889:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1907:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1911:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1903:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1903:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1915:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1899:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1899:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "1893:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1944:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1953:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1956:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1946:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1946:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1946:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1932:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1940:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1929:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1929:14:30" + }, + "nodeType": "YulIf", + "src": "1926:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1969:32:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1983:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1994:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1979:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1979:22:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "1973:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2049:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2058:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2061:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2051:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2051:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2051:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "2028:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2032:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2024:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2024:13:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2039:7:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2020:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2020:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2013:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2013:35:30" + }, + "nodeType": "YulIf", + "src": "2010:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2074:26:30", + "value": { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "2097:2:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2084:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2084:16:30" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "2078:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2123:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "2125:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "2125:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2125:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "2115:2:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2119:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2112:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2112:10:30" + }, + "nodeType": "YulIf", + "src": "2109:36:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2154:17:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2168:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "2164:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2164:7:30" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "2158:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2180:23:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2200:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2194:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "2194:9:30" + }, + "variables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "2184:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2212:71:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2234:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "2258:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2262:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2254:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2254:13:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "2269:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2250:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2250:22:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2274:2:30", + "type": "", + "value": "63" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2246:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2246:31:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "2279:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2242:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2242:40:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2230:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2230:53:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "2216:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2342:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "2344:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "2344:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2344:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "2301:10:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2313:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2298:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2298:18:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "2321:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2333:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "2318:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2318:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "2295:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2295:46:30" + }, + "nodeType": "YulIf", + "src": "2292:72:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2380:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "2384:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2373:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2373:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2373:22:30" + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2411:6:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "2419:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2404:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2404:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2404:18:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2468:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2477:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2480:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2470:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2470:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2470:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "2445:2:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "2449:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2441:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2441:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2454:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2437:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2437:20:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2459:7:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2434:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2434:33:30" + }, + "nodeType": "YulIf", + "src": "2431:53:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2510:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2518:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2506:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2506:15:30" + }, + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "2527:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2531:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2523:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2523:11:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "2536:2:30" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "2493:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2493:46:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2493:46:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2563:6:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "2571:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2559:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2559:15:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2576:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2555:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2555:24:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2581:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2548:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2548:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2548:35:30" + }, + { + "nodeType": "YulAssignment", + "src": "2592:16:30", + "value": { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2602:6:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "2592:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_contract$_TransparentUpgradeableProxy_$1523t_addresst_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1422:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1433:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1445:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1453:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "1461:6:30", + "type": "" + } + ], + "src": "1323:1291:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2689:206:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2735:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2744:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2747:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2737:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2737:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2737:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2710:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2719:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2706:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2706:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2731:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2702:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2702:32:30" + }, + "nodeType": "YulIf", + "src": "2699:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2760:36:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2786:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2773:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2773:23:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2764:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2859:5:30" + } + ], + "functionName": { + "name": "validator_revert_contract_TransparentUpgradeableProxy", + "nodeType": "YulIdentifier", + "src": "2805:53:30" + }, + "nodeType": "YulFunctionCall", + "src": "2805:60:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2805:60:30" + }, + { + "nodeType": "YulAssignment", + "src": "2874:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2884:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2874:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2655:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2666:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2678:6:30", + "type": "" + } + ], + "src": "2619:276:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3091:76:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3108:3:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3117:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3122:10:30", + "type": "", + "value": "0x5c60da1b" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "3113:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3113:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3101:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3101:33:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3101:33:30" + }, + { + "nodeType": "YulAssignment", + "src": "3143:18:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3154:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3159:1:30", + "type": "", + "value": "4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3150:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3150:11:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3143:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_96a4c6be7716f5be15d118c16bd1d464cb27f01187d0b9218993a5d488a47c29__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3075:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3083:3:30", + "type": "" + } + ], + "src": "2900:267:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3261:199:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3307:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3316:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3319:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3309:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3309:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3309:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3282:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3291:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3278:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3278:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3303:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3274:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3274:32:30" + }, + "nodeType": "YulIf", + "src": "3271:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3332:29:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3351:9:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3345:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "3345:16:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3336:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3424:5:30" + } + ], + "functionName": { + "name": "validator_revert_contract_TransparentUpgradeableProxy", + "nodeType": "YulIdentifier", + "src": "3370:53:30" + }, + "nodeType": "YulFunctionCall", + "src": "3370:60:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3370:60:30" + }, + { + "nodeType": "YulAssignment", + "src": "3439:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3449:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3439:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address_payable_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3227:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3238:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3250:6:30", + "type": "" + } + ], + "src": "3172:288:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3612:496:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3629:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3644:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3660:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3665:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "3656:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3656:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3669:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3652:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3652:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3640:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3640:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3622:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3622:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3622:51:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3682:12:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3692:2:30", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "3686:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3714:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "3725:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3710:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3710:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3730:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3703:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3703:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3703:30:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3742:27:30", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3762:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3756:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "3756:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3746:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3789:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3800:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3785:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3785:18:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3805:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3778:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3778:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3778:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3821:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3830:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "3825:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3890:90:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3919:9:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "3930:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3915:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3915:17:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3934:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3911:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3911:26:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3953:6:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "3961:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3949:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3949:14:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "3965:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3945:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3945:23:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3939:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "3939:30:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3904:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3904:66:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3904:66:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "3851:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3854:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "3848:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "3848:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "3862:19:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3864:15:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "3873:1:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "3876:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3869:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3869:10:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "3864:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "3844:3:30", + "statements": [] + }, + "src": "3840:140:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4004:9:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4015:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4000:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4000:22:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4024:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3996:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3996:31:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4029:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3989:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3989:42:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3989:42:30" + }, + { + "nodeType": "YulAssignment", + "src": "4040:62:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4056:9:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4075:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4083:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4071:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4071:15:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4092:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "4088:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4088:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4067:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4067:29:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4052:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4052:45:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4099:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4048:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4048:54:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4040:4:30" + } + ] + } + ] + }, + "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": "3573:9:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3584:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3592:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3603:4:30", + "type": "" + } + ], + "src": "3465:643:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4287:228:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4304:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4315:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4297:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4297:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4297:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4338:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4349:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4334:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4334:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4354:2:30", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4327:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4327:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4327:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4377:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4388:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4373:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4373:18:30" + }, + { + "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061", + "kind": "string", + "nodeType": "YulLiteral", + "src": "4393:34:30", + "type": "", + "value": "Ownable: new owner is the zero a" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4366:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4366:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4366:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4448:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4459:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4444:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4444:18:30" + }, + { + "hexValue": "646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "4464:8:30", + "type": "", + "value": "ddress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4437:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4437:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4437:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "4482:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4494:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4505:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4490:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4490:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4482:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4264:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "4278:4:30", + "type": "" + } + ], + "src": "4113:402:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4711:76:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4728:3:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4737:3:30", + "type": "", + "value": "230" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4742:10:30", + "type": "", + "value": "0x03e14691" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "4733:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4733:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4721:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4721:33:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4721:33:30" + }, + { + "nodeType": "YulAssignment", + "src": "4763:18:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4774:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4779:1:30", + "type": "", + "value": "4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4770:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4770:11:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4763:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_cb23cf6c353ccb16f0d92c8e6b5c5b425654e65dd07e2d295b394de4cf15afb7__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4695:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4703:3:30", + "type": "" + } + ], + "src": "4520:267:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4966:182:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4983:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4994:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4976:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4976:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4976:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5017:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5028:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5013:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5013:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5033:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5006:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5006:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5006:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5056:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5067:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5052:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5052:18:30" + }, + { + "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "5072:34:30", + "type": "", + "value": "Ownable: caller is not the owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5045:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5045:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5045:62:30" + }, + { + "nodeType": "YulAssignment", + "src": "5116:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5128:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5139:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5124:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5124:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5116:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4943:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "4957:4:30", + "type": "" + } + ], + "src": "4792:356:30" + } + ] + }, + "contents": "{\n { }\n function validator_revert_contract_TransparentUpgradeableProxy(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_contract$_TransparentUpgradeableProxy_$1523(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_TransparentUpgradeableProxy(value)\n value0 := value\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, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_contract$_TransparentUpgradeableProxy_$1523t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_TransparentUpgradeableProxy(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_contract_TransparentUpgradeableProxy(value_1)\n value1 := value_1\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_tuple_t_contract$_TransparentUpgradeableProxy_$1523t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_TransparentUpgradeableProxy(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_contract_TransparentUpgradeableProxy(value_1)\n value1 := value_1\n let offset := calldataload(add(headStart, 64))\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 := calldataload(_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 calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value2 := memPtr\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_contract_TransparentUpgradeableProxy(value)\n value0 := value\n }\n function abi_encode_tuple_packed_t_stringliteral_96a4c6be7716f5be15d118c16bd1d464cb27f01187d0b9218993a5d488a47c29__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos) -> end\n {\n mstore(pos, shl(224, 0x5c60da1b))\n end := add(pos, 4)\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_contract_TransparentUpgradeableProxy(value)\n value0 := value\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, sub(shl(160, 1), 1)))\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 mstore(add(add(headStart, length), 96), 0)\n tail := add(add(headStart, and(add(length, 31), not(31))), 96)\n }\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_packed_t_stringliteral_cb23cf6c353ccb16f0d92c8e6b5c5b425654e65dd07e2d295b394de4cf15afb7__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos) -> end\n {\n mstore(pos, shl(230, 0x03e14691))\n end := add(pos, 4)\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n}", + "id": 30, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "126:54:20:-:0;;;;;;;;;;;;-1:-1:-1;936:32:5;719:10:14;936:18:5;:32::i;:::-;126:54:20;;2433:187:5;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:5;;;-1:-1:-1;;;;;;2541:17:5;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2496:124;2433:187;:::o;126:54:20:-;;;;;;;", + "deployedSourceMap": "126:54:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;635:437:11;;;;;;;;;;-1:-1:-1;635:437:11;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1831:101:5;;;;;;;;;;;;;:::i;:::-;;1825:148:11;;;;;;;;;;-1:-1:-1;1825:148:11;;;;;:::i;:::-;;:::i;1201:85:5:-;;;;;;;;;;;;;:::i;2593:244:11:-;;;;;;:::i;:::-;;:::i;2178:149::-;;;;;;;;;;-1:-1:-1;2178:149:11;;;;;:::i;:::-;;:::i;2081:198:5:-;;;;;;;;;;-1:-1:-1;2081:198:5;;;;;:::i;:::-;;:::i;1232:419:11:-;;;;;;;;;;-1:-1:-1;1232:419:11;;;;;:::i;:::-;;:::i;635:437::-;731:7;908:12;922:23;957:5;-1:-1:-1;;;;;949:25:11;:40;;;;-1:-1:-1;;;3101:33:30;;3159:1;3150:11;;2900:267;949:40:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;907:82;;;;1007:7;999:16;;;;;;1043:10;1032:33;;;;;;;;;;;;:::i;:::-;1025:40;635:437;-1:-1:-1;;;;635:437:11:o;1831:101:5:-;1094:13;:11;:13::i;:::-;1895:30:::1;1922:1;1895:18;:30::i;:::-;1831:101::o:0;1825:148:11:-;1094:13:5;:11;:13::i;:::-;1939:27:11::1;::::0;-1:-1:-1;;;1939:27:11;;-1:-1:-1;;;;;1939:17:11;::::1;::::0;::::1;::::0;:27:::1;::::0;1957:8;;1939:27:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;1825:148:::0;;:::o;1201:85:5:-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:5;;1201:85::o;2593:244:11:-;1094:13:5;:11;:13::i;:::-;2768:62:11::1;::::0;-1:-1:-1;;;2768:62:11;;-1:-1:-1;;;;;2768:22:11;::::1;::::0;::::1;::::0;2798:9:::1;::::0;2768:62:::1;::::0;2809:14;;2825:4;;2768:62:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;2593:244:::0;;;:::o;2178:149::-;1094:13:5;:11;:13::i;:::-;2289:31:11::1;::::0;-1:-1:-1;;;2289:31:11;;-1:-1:-1;;;;;2289:15:11;::::1;::::0;::::1;::::0;:31:::1;::::0;2305:14;;2289:31:::1;;;:::i;2081:198:5:-:0;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2169:22:5;::::1;2161:73;;;::::0;-1:-1:-1;;;2161:73:5;;4315:2:30;2161:73:5::1;::::0;::::1;4297:21:30::0;4354:2;4334:18;;;4327:30;4393:34;4373:18;;;4366:62;-1:-1:-1;;;4444:18:30;;;4437:36;4490:19;;2161:73:5::1;;;;;;;;;2244:28;2263:8;2244:18;:28::i;:::-;2081:198:::0;:::o;1232:419:11:-;1319:7;1487:12;1501:23;1536:5;-1:-1:-1;;;;;1528:25:11;:40;;;;-1:-1:-1;;;4721:33:30;;4779:1;4770:11;;4520:267;1359:130:5;719:10:14;1422:7:5;:5;:7::i;:::-;-1:-1:-1;;;;;1422:23:5;;1414:68;;;;-1:-1:-1;;;1414:68:5;;4994:2:30;1414:68:5;;;4976:21:30;;;5013:18;;;5006:30;5072:34;5052:18;;;5045:62;5124:18;;1414:68:5;4792:356:30;2433:187:5;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:5;;;-1:-1:-1;;;;;;2541:17:5;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2496:124;2433:187;:::o;14:160:30:-;-1:-1:-1;;;;;118:31:30;;108:42;;98:70;;164:1;161;154:12;179:312;274:6;327:2;315:9;306:7;302:23;298:32;295:52;;;343:1;340;333:12;295:52;382:9;369:23;401:60;455:5;401:60;:::i;:::-;480:5;179:312;-1:-1:-1;;;179:312:30:o;496:203::-;-1:-1:-1;;;;;660:32:30;;;;642:51;;630:2;615:18;;496:203::o;704:482::-;808:6;816;869:2;857:9;848:7;844:23;840:32;837:52;;;885:1;882;875:12;837:52;924:9;911:23;943:60;997:5;943:60;:::i;:::-;1022:5;-1:-1:-1;1079:2:30;1064:18;;1051:32;1092:62;1051:32;1092:62;:::i;:::-;1173:7;1163:17;;;704:482;;;;;:::o;1191:127::-;1252:10;1247:3;1243:20;1240:1;1233:31;1283:4;1280:1;1273:15;1307:4;1304:1;1297:15;1323:1291;1445:6;1453;1461;1514:2;1502:9;1493:7;1489:23;1485:32;1482:52;;;1530:1;1527;1520:12;1482:52;1569:9;1556:23;1588:60;1642:5;1588:60;:::i;:::-;1667:5;-1:-1:-1;1724:2:30;1709:18;;1696:32;1737:62;1696:32;1737:62;:::i;:::-;1818:7;-1:-1:-1;1876:2:30;1861:18;;1848:32;-1:-1:-1;;;;;1929:14:30;;;1926:34;;;1956:1;1953;1946:12;1926:34;1994:6;1983:9;1979:22;1969:32;;2039:7;2032:4;2028:2;2024:13;2020:27;2010:55;;2061:1;2058;2051:12;2010:55;2097:2;2084:16;2119:2;2115;2112:10;2109:36;;;2125:18;;:::i;:::-;2200:2;2194:9;2168:2;2254:13;;-1:-1:-1;;2250:22:30;;;2274:2;2246:31;2242:40;2230:53;;;2298:18;;;2318:22;;;2295:46;2292:72;;;2344:18;;:::i;:::-;2384:10;2380:2;2373:22;2419:2;2411:6;2404:18;2459:7;2454:2;2449;2445;2441:11;2437:20;2434:33;2431:53;;;2480:1;2477;2470:12;2431:53;2536:2;2531;2527;2523:11;2518:2;2510:6;2506:15;2493:46;2581:1;2576:2;2571;2563:6;2559:15;2555:24;2548:35;2602:6;2592:16;;;;;;;1323:1291;;;;;:::o;3172:288::-;3250:6;3303:2;3291:9;3282:7;3278:23;3274:32;3271:52;;;3319:1;3316;3309:12;3271:52;3351:9;3345:16;3370:60;3424:5;3370:60;:::i;3465:643::-;3669:1;3665;3660:3;3656:11;3652:19;3644:6;3640:32;3629:9;3622:51;3603:4;3692:2;3730;3725;3714:9;3710:18;3703:30;3762:6;3756:13;3805:6;3800:2;3789:9;3785:18;3778:34;3830:1;3840:140;3854:6;3851:1;3848:13;3840:140;;;3949:14;;;3945:23;;3939:30;3915:17;;;3934:2;3911:26;3904:66;3869:10;;3840:140;;;3844:3;4029:1;4024:2;4015:6;4004:9;4000:22;3996:31;3989:42;4099:2;4092;4088:7;4083:2;4075:6;4071:15;4067:29;4056:9;4052:45;4048:54;4040:62;;;;3465:643;;;;;:::o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.18;\n\nimport \"@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol\";\n\ncontract LiquidityBridgeContractAdmin is ProxyAdmin {}", + "sourcePath": "/Users/luischavez/iov/liquidity-bridge-contract/contracts/LiquidityBridgeContractAdmin.sol", + "ast": { + "absolutePath": "project:/contracts/LiquidityBridgeContractAdmin.sol", + "exportedSymbols": { + "Address": [ + 1853 + ], + "Context": [ + 1875 + ], + "ERC1967Proxy": [ + 859 + ], + "ERC1967Upgrade": [ + 1177 + ], + "IBeacon": [ + 1239 + ], + "IERC1822Proxiable": [ + 822 + ], + "LiquidityBridgeContractAdmin": [ + 6939 + ], + "Ownable": [ + 812 + ], + "Proxy": [ + 1229 + ], + "ProxyAdmin": [ + 1375 + ], + "StorageSlot": [ + 1935 + ], + "TransparentUpgradeableProxy": [ + 1523 + ] + }, + "id": 6940, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6935, + "literals": [ + "solidity", + "^", + "0.8", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "32:24:20" + }, + { + "absolutePath": "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol", + "file": "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol", + "id": 6936, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 6940, + "sourceUnit": 1376, + "src": "58:66:20", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 6937, + "name": "ProxyAdmin", + "nameLocations": [ + "167:10:20" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1375, + "src": "167:10:20" + }, + "id": 6938, + "nodeType": "InheritanceSpecifier", + "src": "167:10:20" + } + ], + "canonicalName": "LiquidityBridgeContractAdmin", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 6939, + "linearizedBaseContracts": [ + 6939, + 1375, + 812, + 1875 + ], + "name": "LiquidityBridgeContractAdmin", + "nameLocation": "135:28:20", + "nodeType": "ContractDefinition", + "nodes": [], + "scope": 6940, + "src": "126:54:20", + "usedErrors": [] + } + ], + "src": "32:148:20" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.668Z", + "devdoc": { + "kind": "dev", + "methods": { + "changeProxyAdmin(address,address)": { + "details": "Changes the admin of `proxy` to `newAdmin`. Requirements: - This contract must be the current admin of `proxy`." + }, + "getProxyAdmin(address)": { + "details": "Returns the current admin of `proxy`. Requirements: - This contract must be the admin of `proxy`." + }, + "getProxyImplementation(address)": { + "details": "Returns the current implementation of `proxy`. Requirements: - This contract must be the admin of `proxy`." + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + }, + "upgrade(address,address)": { + "details": "Upgrades `proxy` to `implementation`. See {TransparentUpgradeableProxy-upgradeTo}. Requirements: - This contract must be the admin of `proxy`." + }, + "upgradeAndCall(address,address,bytes)": { + "details": "Upgrades `proxy` to `implementation` and calls a function on the new implementation. See {TransparentUpgradeableProxy-upgradeToAndCall}. Requirements: - This contract must be the admin of `proxy`." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/LiquidityBridgeContractProxy.json b/build/contracts/LiquidityBridgeContractProxy.json new file mode 100644 index 0000000..428a74c --- /dev/null +++ b/build/contracts/LiquidityBridgeContractProxy.json @@ -0,0 +1,6280 @@ +{ + "contractName": "LiquidityBridgeContractProxy", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_admin", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "admin_", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "changeAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "implementation_", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_logic\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_admin\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"admin_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"changeAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"implementation_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is upgraded.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"admin()\":{\"details\":\"Returns the current admin. NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyAdmin}. TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`\"},\"changeAdmin(address)\":{\"details\":\"Changes the admin of the proxy. Emits an {AdminChanged} event. NOTE: Only the admin can call this function. See {ProxyAdmin-changeProxyAdmin}.\"},\"implementation()\":{\"details\":\"Returns the current implementation. NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyImplementation}. TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`\"},\"upgradeTo(address)\":{\"details\":\"Upgrade the implementation of the proxy. NOTE: Only the admin can call this function. See {ProxyAdmin-upgrade}.\"},\"upgradeToAndCall(address,bytes)\":{\"details\":\"Upgrade the implementation of the proxy, and then call a function from the new implementation as specified by `data`, which should be an encoded function call. This is useful to initialize new storage variables in the proxied contract. NOTE: Only the admin can call this function. See {ProxyAdmin-upgradeAndCall}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/LiquidityBridgeContractProxy.sol\":\"LiquidityBridgeContractProxy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0xabf3f59bc0e5423eae45e459dbe92e7052c6983628d39008590edc852a62f94a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89c2a0f70157c13845be5cb49b078a6374fee3a78fa950052a3af26190255da8\",\"dweb:/ipfs/QmUcvMEQH1oMM2pUyMuDiBUKdvvnTz1NRB8bmPHrVq8725\"]},\"@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0xa6a787e7a901af6511e19aa53e1a00352db215a011d2c7a438d0582dd5da76f9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6c4477d480bac20d681ade0e712b77ad828acf530a1d5c0abc5fb78068a05a1\",\"dweb:/ipfs/QmdBqsK8CcUceTeWzhHwFDEvKMoHimwtV96Lbim7ZBtCb8\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]},\"project:/contracts/LiquidityBridgeContractProxy.sol\":{\"keccak256\":\"0xdd817afe5e2270f102fbeb056481a3f490c999161d8ab1fc9042ce246e21a302\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7c6d7e3520cf591471d5de90a41d333593f6a48771531604786a23999932803\",\"dweb:/ipfs/QmbwqYWEFd33YnSYGzQnboFiwXEJvmiXB7owyAgNibiAhT\"]}},\"version\":1}", + "bytecode": "0x608060405260405162000e4a38038062000e4a83398101604081905262000026916200049d565b8282828281620000398282600062000053565b506200004790508262000090565b505050505050620005d0565b6200005e83620000eb565b6000825111806200006c5750805b156200008b576200008983836200012d60201b6200022e1760201c565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f620000bb6200015c565b604080516001600160a01b03928316815291841660208301520160405180910390a1620000e88162000195565b50565b620000f6816200024a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062000155838360405180606001604052806027815260200162000e2360279139620002fe565b9392505050565b60006200018660008051602062000e0383398151915260001b6200037d60201b620001ea1760201c565b546001600160a01b0316919050565b6001600160a01b038116620002005760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b806200022960008051602062000e0383398151915260001b6200037d60201b620001ea1760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b62000260816200038060201b6200025a1760201c565b620002c45760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620001f7565b80620002297f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6200037d60201b620001ea1760201c565b6060600080856001600160a01b0316856040516200031d91906200057d565b600060405180830381855af49150503d80600081146200035a576040519150601f19603f3d011682016040523d82523d6000602084013e6200035f565b606091505b50909250905062000373868383876200038f565b9695505050505050565b90565b6001600160a01b03163b151590565b6060831562000403578251600003620003fb57620003ad8562000380565b620003fb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620001f7565b50816200040f565b6200040f838362000417565b949350505050565b815115620004285781518083602001fd5b8060405162461bcd60e51b8152600401620001f791906200059b565b80516001600160a01b03811681146200045c57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004945781810151838201526020016200047a565b50506000910152565b600080600060608486031215620004b357600080fd5b620004be8462000444565b9250620004ce6020850162000444565b60408501519092506001600160401b0380821115620004ec57600080fd5b818601915086601f8301126200050157600080fd5b81518181111562000516576200051662000461565b604051601f8201601f19908116603f0116810190838211818310171562000541576200054162000461565b816040528281528960208487010111156200055b57600080fd5b6200056e83602083016020880162000477565b80955050505050509250925092565b600082516200059181846020870162000477565b9190910192915050565b6020815260008251806020840152620005bc81604085016020870162000477565b601f01601f19169190910160400192915050565b61082380620005e06000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b610080366004610676565b610118565b61005b610093366004610691565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e4366004610676565b6101ed565b3480156100f557600080fd5b506100ad61020d565b610106610269565b6101166101116102fe565b610308565b565b61012061032c565b6001600160a01b0316330361014d5761014a8160405180602001604052806000815250600061034d565b50565b61014a6100fe565b61015d61032c565b6001600160a01b031633036101b4576101af8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061034d915050565b505050565b6101af6100fe565b60006101c661032c565b6001600160a01b031633036101e2576101dd6102fe565b905090565b6101ea6100fe565b90565b6101f561032c565b6001600160a01b0316330361014d5761014a81610378565b600061021761032c565b6001600160a01b031633036101e2576101dd61032c565b606061025383836040518060600160405280602781526020016107c7602791396103cc565b9392505050565b6001600160a01b03163b151590565b61027161032c565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd610444565b3660008037600080366000845af43d6000803e808015610327573d6000f35b3d6000fd5b60006000805160206107878339815191525b546001600160a01b0316919050565b6103568361045a565b6000825111806103635750805b156101af57610372838361022e565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103a161032c565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a8161049a565b6060600080856001600160a01b0316856040516103e99190610737565b600060405180830381855af49150503d8060008114610424576040519150601f19603f3d011682016040523d82523d6000602084013e610429565b606091505b509150915061043a86838387610531565b9695505050505050565b60006000805160206107a783398151915261033e565b610463816105b0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166104ff5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b806000805160206107878339815191525b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060831561059e5782516000036105975761054b8561025a565b6105975760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f5565b50816105a8565b6105a88383610630565b949350505050565b6105b98161025a565b61061b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f5565b806000805160206107a7833981519152610510565b8151156106405781518083602001fd5b8060405162461bcd60e51b81526004016102f59190610753565b80356001600160a01b038116811461067157600080fd5b919050565b60006020828403121561068857600080fd5b6102538261065a565b6000806000604084860312156106a657600080fd5b6106af8461065a565b925060208401356001600160401b03808211156106cb57600080fd5b818601915086601f8301126106df57600080fd5b8135818111156106ee57600080fd5b87602082850101111561070057600080fd5b6020830194508093505050509250925092565b60005b8381101561072e578181015183820152602001610716565b50506000910152565b60008251610749818460208701610713565b9190910192915050565b6020815260008251806020840152610772816040850160208701610713565b601f01601f1916919091016040019291505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e8cbb6d1b6ecba82451f3c2ff4a291ae0a175c1d2dcebd7fb3caba7bb26354ca64736f6c63430008120033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", + "deployedBytecode": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b610080366004610676565b610118565b61005b610093366004610691565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e4366004610676565b6101ed565b3480156100f557600080fd5b506100ad61020d565b610106610269565b6101166101116102fe565b610308565b565b61012061032c565b6001600160a01b0316330361014d5761014a8160405180602001604052806000815250600061034d565b50565b61014a6100fe565b61015d61032c565b6001600160a01b031633036101b4576101af8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061034d915050565b505050565b6101af6100fe565b60006101c661032c565b6001600160a01b031633036101e2576101dd6102fe565b905090565b6101ea6100fe565b90565b6101f561032c565b6001600160a01b0316330361014d5761014a81610378565b600061021761032c565b6001600160a01b031633036101e2576101dd61032c565b606061025383836040518060600160405280602781526020016107c7602791396103cc565b9392505050565b6001600160a01b03163b151590565b61027161032c565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd610444565b3660008037600080366000845af43d6000803e808015610327573d6000f35b3d6000fd5b60006000805160206107878339815191525b546001600160a01b0316919050565b6103568361045a565b6000825111806103635750805b156101af57610372838361022e565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103a161032c565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a8161049a565b6060600080856001600160a01b0316856040516103e99190610737565b600060405180830381855af49150503d8060008114610424576040519150601f19603f3d011682016040523d82523d6000602084013e610429565b606091505b509150915061043a86838387610531565b9695505050505050565b60006000805160206107a783398151915261033e565b610463816105b0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166104ff5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b806000805160206107878339815191525b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060831561059e5782516000036105975761054b8561025a565b6105975760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f5565b50816105a8565b6105a88383610630565b949350505050565b6105b98161025a565b61061b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f5565b806000805160206107a7833981519152610510565b8151156106405781518083602001fd5b8060405162461bcd60e51b81526004016102f59190610753565b80356001600160a01b038116811461067157600080fd5b919050565b60006020828403121561068857600080fd5b6102538261065a565b6000806000604084860312156106a657600080fd5b6106af8461065a565b925060208401356001600160401b03808211156106cb57600080fd5b818601915086601f8301126106df57600080fd5b8135818111156106ee57600080fd5b87602082850101111561070057600080fd5b6020830194508093505050509250925092565b60005b8381101561072e578181015183820152602001610716565b50506000910152565b60008251610749818460208701610713565b9190910192915050565b6020815260008251806020840152610772816040850160208701610713565b601f01601f1916919091016040019291505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e8cbb6d1b6ecba82451f3c2ff4a291ae0a175c1d2dcebd7fb3caba7bb26354ca64736f6c63430008120033", + "immutableReferences": {}, + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:3832:30", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:30", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "74:117:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "84:22:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "99:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "93:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "93:13:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "84:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "169:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "178:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "181:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "171:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "171:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "171:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "128:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "139:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "154:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "159:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "150:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "150:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "163:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "146:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "146:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "135:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "135:31:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "125:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "125:42:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "118:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "118:50:30" + }, + "nodeType": "YulIf", + "src": "115:70:30" + } + ] + }, + "name": "abi_decode_address_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "53:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "64:5:30", + "type": "" + } + ], + "src": "14:177:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "228:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "245:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "252:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "257:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "248:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "248:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "238:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "238:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "238:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "285:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "288:4:30", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "278:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "278:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "278:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "309:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "312:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "302:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "302:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "302:15:30" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "196:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "394:184:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "404:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "413:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "408:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "473:63:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "498:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "503:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "494:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "494:11:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "517:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "522:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "513:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "513:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "507:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "507:18:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "487:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "487:39:30" + }, + "nodeType": "YulExpressionStatement", + "src": "487:39:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "434:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "437:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "431:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "431:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "445:19:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "447:15:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "456:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "459:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "452:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "452:10:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "447:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "427:3:30", + "statements": [] + }, + "src": "423:113:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "556:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "561:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "552:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "552:16:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "570:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "545:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "545:27:30" + }, + "nodeType": "YulExpressionStatement", + "src": "545:27:30" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "372:3:30", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "377:3:30", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "382:6:30", + "type": "" + } + ], + "src": "328:250:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "707:942:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "753:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "762:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "765:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "755:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "755:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "755:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "728:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "737:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "724:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "724:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "749:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "720:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "720:32:30" + }, + "nodeType": "YulIf", + "src": "717:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "778:50:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "818:9:30" + } + ], + "functionName": { + "name": "abi_decode_address_fromMemory", + "nodeType": "YulIdentifier", + "src": "788:29:30" + }, + "nodeType": "YulFunctionCall", + "src": "788:40:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "778:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "837:59:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "881:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "892:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "877:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "877:18:30" + } + ], + "functionName": { + "name": "abi_decode_address_fromMemory", + "nodeType": "YulIdentifier", + "src": "847:29:30" + }, + "nodeType": "YulFunctionCall", + "src": "847:49:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "837:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "905:39:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "929:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "940:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "925:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "925:18:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "919:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "919:25:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "909:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "953:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "971:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "975:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "967:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "967:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "979:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "963:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "963:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "957:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1008:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1017:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1020:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1010:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1010:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1010:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "996:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1004:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "993:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "993:14:30" + }, + "nodeType": "YulIf", + "src": "990:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1033:32:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1047:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1058:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1043:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1043:22:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "1037:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1113:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1122:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1125:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1115:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1115:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1115:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1092:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1096:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1088:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1088:13:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1103:7:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1084:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1084:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1077:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1077:35:30" + }, + "nodeType": "YulIf", + "src": "1074:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1138:19:30", + "value": { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1154:2:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1148:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "1148:9:30" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "1142:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1180:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1182:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "1182:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1182:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1172:2:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1176:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1169:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1169:10:30" + }, + "nodeType": "YulIf", + "src": "1166:36:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1211:17:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1225:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "1221:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1221:7:30" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "1215:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1237:23:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1257:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1251:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "1251:9:30" + }, + "variables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1241:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1269:71:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1291:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1315:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1319:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1311:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1311:13:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "1326:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1307:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1307:22:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1331:2:30", + "type": "", + "value": "63" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1303:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1303:31:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "1336:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1299:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1299:40:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1287:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1287:53:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "1273:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1399:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1401:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "1401:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1401:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1358:10:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1370:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1355:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1355:18:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1378:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1390:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1375:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1375:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1352:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1352:46:30" + }, + "nodeType": "YulIf", + "src": "1349:72:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1437:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1441:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1430:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1430:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1430:22:30" + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1468:6:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1476:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1461:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1461:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1461:18:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1525:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1534:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1537:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1527:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1527:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1527:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1502:2:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1506:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1498:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1498:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1511:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1494:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1494:20:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1516:7:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1491:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1491:33:30" + }, + "nodeType": "YulIf", + "src": "1488:53:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1589:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1593:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1585:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1585:11:30" + }, + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1602:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1610:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1598:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1598:15:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1615:2:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "1550:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "1550:68:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1550:68:30" + }, + { + "nodeType": "YulAssignment", + "src": "1627:16:30", + "value": { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1637:6:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "1627:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_bytes_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "657:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "668:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "680:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "688:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "696:6:30", + "type": "" + } + ], + "src": "583:1066:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1783:175:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1793:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1805:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1816:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1801:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1801:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1793:4:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1828:29:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1846:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1851:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1842:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1842:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1855:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1838:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1838:19:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "1832:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1873:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1888:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1896:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1884:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1884:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1866:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1866:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1866:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1920:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1931:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1916:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1916:18:30" + }, + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1940:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1948:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1936:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1936:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1909:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1909:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1909:43:30" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1744:9:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1755:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1763:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1774:4:30", + "type": "" + } + ], + "src": "1654:304:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2137:228:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2154:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2165:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2147:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2147:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2147:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2188:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2199:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2184:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2184:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2204:2:30", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2177:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2177:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2177:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2227:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2238:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2223:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2223:18:30" + }, + { + "hexValue": "455243313936373a206e65772061646d696e20697320746865207a65726f2061", + "kind": "string", + "nodeType": "YulLiteral", + "src": "2243:34:30", + "type": "", + "value": "ERC1967: new admin is the zero a" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2216:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2216:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2216:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2298:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2309:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2294:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2294:18:30" + }, + { + "hexValue": "646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "2314:8:30", + "type": "", + "value": "ddress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2287:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2287:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2287:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "2332:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2344:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2355:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2340:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2340:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2332:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3820e16891102c1360a787e6e648431097d92537f969d458f5c94b56f8318be5__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2114:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2128:4:30", + "type": "" + } + ], + "src": "1963:402:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2544:235:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2561:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2572:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2554:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2554:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2554:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2595:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2606:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2591:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2591:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2611:2:30", + "type": "", + "value": "45" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2584:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2584:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2584:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2634:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2645:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2630:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2630:18:30" + }, + { + "hexValue": "455243313936373a206e657720696d706c656d656e746174696f6e206973206e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "2650:34:30", + "type": "", + "value": "ERC1967: new implementation is n" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2623:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2623:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2623:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2705:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2716:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2701:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2701:18:30" + }, + { + "hexValue": "6f74206120636f6e7472616374", + "kind": "string", + "nodeType": "YulLiteral", + "src": "2721:15:30", + "type": "", + "value": "ot a contract" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2694:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2694:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2694:43:30" + }, + { + "nodeType": "YulAssignment", + "src": "2746:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2758:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2769:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2754:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2754:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2746:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2521:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2535:4:30", + "type": "" + } + ], + "src": "2370:409:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2921:150:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2931:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2951:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2945:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "2945:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2935:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3006:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3014:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3002:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3002:17:30" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3021:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3026:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "2967:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "2967:66:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2967:66:30" + }, + { + "nodeType": "YulAssignment", + "src": "3042:23:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3053:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3058:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3049:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3049:16:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3042:3:30" + } + ] + } + ] + }, + "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": "2897:3:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2902:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2913:3:30", + "type": "" + } + ], + "src": "2784:287:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3250:179:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3267:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3278:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3260:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3260:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3260:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3301:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3312:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3297:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3297:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3317:2:30", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3290:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3290:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3290:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3340:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3351:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3336:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3336:18:30" + }, + { + "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", + "kind": "string", + "nodeType": "YulLiteral", + "src": "3356:31:30", + "type": "", + "value": "Address: call to non-contract" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3329:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3329:59:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3329:59:30" + }, + { + "nodeType": "YulAssignment", + "src": "3397:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3409:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3420:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3405:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3405:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3397:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3227:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3241:4:30", + "type": "" + } + ], + "src": "3076:353:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3555:275:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3572:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3583:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3565:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3565:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3565:21:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3595:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3615:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3609:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "3609:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3599:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3642:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3653:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3638:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3638:18:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3658:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3631:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3631:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3631:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3713:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3721:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3709:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3709:15:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3730:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3741:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3726:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3726:18:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3746:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "3674:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "3674:79:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3674:79:30" + }, + { + "nodeType": "YulAssignment", + "src": "3762:62:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3778:9:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3797:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3805:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3793:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3793:15:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3814:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "3810:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3810:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3789:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3789:29:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3774:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3774:45:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3821:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3770:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3770:54:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3762:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3524:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3535:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3546:4:30", + "type": "" + } + ], + "src": "3434:396:30" + } + ] + }, + "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 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_with_cleanup(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 mstore(add(dst, length), 0)\n }\n function abi_decode_tuple_t_addresst_addresst_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address_fromMemory(headStart)\n value1 := abi_decode_address_fromMemory(add(headStart, 32))\n let offset := mload(add(headStart, 64))\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_with_cleanup(add(_2, 32), add(memPtr, 32), _3)\n value2 := memPtr\n }\n function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n }\n function abi_encode_tuple_t_stringliteral_3820e16891102c1360a787e6e648431097d92537f969d458f5c94b56f8318be5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC1967: new admin is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"ERC1967: new implementation is n\")\n mstore(add(headStart, 96), \"ot a contract\")\n tail := add(headStart, 128)\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_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"Address: call to non-contract\")\n tail := add(headStart, 96)\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_with_cleanup(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n}", + "id": 30, + "language": "Yul", + "name": "#utility.yul" + } + ], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:4169:30", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:30", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "63:124:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "73:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "95:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "82:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "82:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "73:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "165:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "174:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "177:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "167:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "167:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "167:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "124:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "135:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "150:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "155:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "146:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "146:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "159:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "142:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "142:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "131:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "131:31:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "121:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "121:42:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "114:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "114:50:30" + }, + "nodeType": "YulIf", + "src": "111:70:30" + } + ] + }, + "name": "abi_decode_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "42:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "53:5:30", + "type": "" + } + ], + "src": "14:173:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "262:116:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "308:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "283:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "292:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "279:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "279:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "304:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "275:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "275:32:30" + }, + "nodeType": "YulIf", + "src": "272:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "333:39:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "362:9:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "343:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "343:29:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "333:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "228:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "239:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "251:6:30", + "type": "" + } + ], + "src": "192:186:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "489:559:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "535:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "544:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "547:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "537:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "537:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "537:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "510:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "519:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "506:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "506:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "531:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "502:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "502:32:30" + }, + "nodeType": "YulIf", + "src": "499:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "560:39:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "589:9:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "570:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "570:29:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "560:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "608:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "639:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "650:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "635:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "635:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "622:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "622:32:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "612:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "663:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "681:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "685:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "677:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "677:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "689:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "673:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "673:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "667:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "718:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "727:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "730:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "720:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "720:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "720:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "706:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "714:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "703:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "703:14:30" + }, + "nodeType": "YulIf", + "src": "700:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "743:32:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "757:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "768:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "753:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "753:22:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "747:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "823:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "832:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "835:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "825:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "825:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "825:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "802:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "806:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "798:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "798:13:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "813:7:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "794:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "794:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "787:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "787:35:30" + }, + "nodeType": "YulIf", + "src": "784:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "848:30:30", + "value": { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "875:2:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "862:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "862:16:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "852:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "905:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "914:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "917:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "907:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "907:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "907:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "893:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "901:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "890:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "890:14:30" + }, + "nodeType": "YulIf", + "src": "887:34:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "971:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "980:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "983:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "973:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "973:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "973:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "944:2:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "948:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "940:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "940:15:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "957:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "936:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "936:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "962:7:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "933:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "933:37:30" + }, + "nodeType": "YulIf", + "src": "930:57:30" + }, + { + "nodeType": "YulAssignment", + "src": "996:21:30", + "value": { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1010:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1014:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1006:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1006:11:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "996:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1026:16:30", + "value": { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1036:6:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "1026:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bytes_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "439:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "450:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "462:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "470:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "478:6:30", + "type": "" + } + ], + "src": "383:665:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1154:102:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1164:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1176:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1187:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1172:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1172:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1164:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1206:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1221:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1237:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1242:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1233:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1233:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1246:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1229:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1229:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1217:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1217:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1199:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1199:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1199:51:30" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1123:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1134:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1145:4:30", + "type": "" + } + ], + "src": "1053:203:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1435:296:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1452:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1463:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1445:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1445:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1445:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1486:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1497:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1482:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1482:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1502:2:30", + "type": "", + "value": "66" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1475:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1475:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1475:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1525:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1536:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1521:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1521:18:30" + }, + { + "hexValue": "5472616e73706172656e745570677261646561626c6550726f78793a2061646d", + "kind": "string", + "nodeType": "YulLiteral", + "src": "1541:34:30", + "type": "", + "value": "TransparentUpgradeableProxy: adm" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1514:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1514:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1514:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1596:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1607:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1592:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1592:18:30" + }, + { + "hexValue": "696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267", + "kind": "string", + "nodeType": "YulLiteral", + "src": "1612:34:30", + "type": "", + "value": "in cannot fallback to proxy targ" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1585:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1585:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1585:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1667:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1678:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1663:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1663:19:30" + }, + { + "hexValue": "6574", + "kind": "string", + "nodeType": "YulLiteral", + "src": "1684:4:30", + "type": "", + "value": "et" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1656:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1656:33:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1656:33:30" + }, + { + "nodeType": "YulAssignment", + "src": "1698:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1710:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1721:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1706:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1706:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1698:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_f5d2ea39d7e6c7d19dc32ccc2bd7ca26b7aa4a603ef4aa6f2b205c93c3ffe43d__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1412:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1426:4:30", + "type": "" + } + ], + "src": "1261:470:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1865:175:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1875:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1887:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1898:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1883:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1883:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1875:4:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1910:29:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1928:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1933:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1924:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1924:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1937:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1920:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1920:19:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "1914:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1955:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1970:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1978:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1966:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1966:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1948:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1948:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1948:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2002:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2013:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1998:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1998:18:30" + }, + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "2022:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2030:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2018:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2018:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1991:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1991:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1991:43:30" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1826:9:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1837:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1845:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1856:4:30", + "type": "" + } + ], + "src": "1736:304:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2111:184:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2121:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2130:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "2125:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2190:63:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2215:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2220:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2211:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2211:11:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2234:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2239:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2230:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2230:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2224:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "2224:18:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2204:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2204:39:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2204:39:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2151:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2154:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "2148:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2148:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "2162:19:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2164:15:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2173:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2176:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2169:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2169:10:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2164:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "2144:3:30", + "statements": [] + }, + "src": "2140:113:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2273:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2278:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2269:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2269:16:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2287:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2262:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2262:27:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2262:27:30" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "2089:3:30", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "2094:3:30", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2099:6:30", + "type": "" + } + ], + "src": "2045:250:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2437:150:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2447:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2467:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2461:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "2461:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2451:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2522:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2530:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2518:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2518:17:30" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2537:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2542:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "2483:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "2483:66:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2483:66:30" + }, + { + "nodeType": "YulAssignment", + "src": "2558:23:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2569:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2574:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2565:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2565:16:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2558:3:30" + } + ] + } + ] + }, + "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": "2413:3:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2418:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2429:3:30", + "type": "" + } + ], + "src": "2300:287:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2766:228:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2783:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2794:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2776:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2776:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2776:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2817:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2828:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2813:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2813:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2833:2:30", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2806:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2806:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2806:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2856:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2867:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2852:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2852:18:30" + }, + { + "hexValue": "455243313936373a206e65772061646d696e20697320746865207a65726f2061", + "kind": "string", + "nodeType": "YulLiteral", + "src": "2872:34:30", + "type": "", + "value": "ERC1967: new admin is the zero a" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2845:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2845:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2845:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2927:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2938:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2923:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2923:18:30" + }, + { + "hexValue": "646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "2943:8:30", + "type": "", + "value": "ddress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2916:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2916:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2916:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "2961:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2973:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2984:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2969:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2969:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2961:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3820e16891102c1360a787e6e648431097d92537f969d458f5c94b56f8318be5__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2743:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2757:4:30", + "type": "" + } + ], + "src": "2592:402:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3173:179:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3190:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3201:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3183:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3183:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3183:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3224:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3235:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3220:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3220:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3240:2:30", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3213:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3213:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3213:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3263:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3274:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3259:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3259:18:30" + }, + { + "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", + "kind": "string", + "nodeType": "YulLiteral", + "src": "3279:31:30", + "type": "", + "value": "Address: call to non-contract" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3252:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3252:59:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3252:59:30" + }, + { + "nodeType": "YulAssignment", + "src": "3320:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3332:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3343:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3328:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3328:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3320:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3150:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3164:4:30", + "type": "" + } + ], + "src": "2999:353:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3531:235:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3548:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3559:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3541:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3541:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3541:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3582:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3593:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3578:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3578:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3598:2:30", + "type": "", + "value": "45" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3571:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3571:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3571:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3621:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3632:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3617:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3617:18:30" + }, + { + "hexValue": "455243313936373a206e657720696d706c656d656e746174696f6e206973206e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "3637:34:30", + "type": "", + "value": "ERC1967: new implementation is n" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3610:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3610:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3610:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3692:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3703:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3688:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3688:18:30" + }, + { + "hexValue": "6f74206120636f6e7472616374", + "kind": "string", + "nodeType": "YulLiteral", + "src": "3708:15:30", + "type": "", + "value": "ot a contract" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3681:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3681:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3681:43:30" + }, + { + "nodeType": "YulAssignment", + "src": "3733:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3745:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3756:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3741:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3741:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3733:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3508:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3522:4:30", + "type": "" + } + ], + "src": "3357:409:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3892:275:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3909:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3920:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3902:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3902:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3902:21:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3932:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3952:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3946:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "3946:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3936:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3979:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3990:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3975:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3975:18:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3995:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3968:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3968:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3968:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4050:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4058:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4046:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4046:15:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4067:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4078:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4063:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4063:18:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4083:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "4011:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "4011:79:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4011:79:30" + }, + { + "nodeType": "YulAssignment", + "src": "4099:62:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4115:9:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4134:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4142:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4130:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4130:15:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4151:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "4147:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4147:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4126:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4126:29:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4111:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4111:45:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4158:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4107:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4107:54:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4099:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3861:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3872:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3883:4:30", + "type": "" + } + ], + "src": "3771:396:30" + } + ] + }, + "contents": "{\n { }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { 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 := 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 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_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_stringliteral_f5d2ea39d7e6c7d19dc32ccc2bd7ca26b7aa4a603ef4aa6f2b205c93c3ffe43d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 66)\n mstore(add(headStart, 64), \"TransparentUpgradeableProxy: adm\")\n mstore(add(headStart, 96), \"in cannot fallback to proxy targ\")\n mstore(add(headStart, 128), \"et\")\n tail := add(headStart, 160)\n }\n function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n }\n function copy_memory_to_memory_with_cleanup(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 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_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_3820e16891102c1360a787e6e648431097d92537f969d458f5c94b56f8318be5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC1967: new admin is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"Address: call to non-contract\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"ERC1967: new implementation is n\")\n mstore(add(headStart, 96), \"ot a contract\")\n tail := add(headStart, 128)\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_with_cleanup(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n}", + "id": 30, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "143:203:21:-:0;;;216:128;;;;;;;;;;;;;;;;;;:::i;:::-;312:6;319;327:5;312:6;327:5;1024:39:7;312:6:21;327:5;1057::7;1024:17;:39::i;:::-;-1:-1:-1;2063:20:12::1;::::0;-1:-1:-1;2076:6:12;2063:12:::1;:20::i;:::-;1923:167:::0;;;216:128:21;;;143:203;;2183:295:8;2321:29;2332:17;2321:10;:29::i;:::-;2378:1;2364:4;:11;:15;:28;;;;2383:9;2364:28;2360:112;;;2408:53;2437:17;2456:4;2408:28;;;;;:53;;:::i;:::-;;2360:112;2183:295;;;:::o;4624:135::-;4688:35;4701:11;:9;:11::i;:::-;4688:35;;;-1:-1:-1;;;;;1884:15:30;;;1866:34;;1936:15;;;1931:2;1916:18;;1909:43;1801:18;4688:35:8;;;;;;;4733:19;4743:8;4733:9;:19::i;:::-;4624:135;:::o;1897:152::-;1963:37;1982:17;1963:18;:37::i;:::-;2015:27;;-1:-1:-1;;;;;2015:27:8;;;;;;;;1897:152;:::o;6469:198:13:-;6552:12;6583:77;6604:6;6612:4;6583:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6576:84;6469:198;-1:-1:-1;;;6469:198:13:o;4108:122:8:-;4152:7;4178:39;-1:-1:-1;;;;;;;;;;;4205:11:8;;4178:26;;;;;:39;;:::i;:::-;:45;-1:-1:-1;;;;;4178:45:8;;4108:122;-1:-1:-1;4108:122:8:o;4312:201::-;-1:-1:-1;;;;;4375:22:8;;4367:73;;;;-1:-1:-1;;;4367:73:8;;2165:2:30;4367:73:8;;;2147:21:30;2204:2;2184:18;;;2177:30;2243:34;2223:18;;;2216:62;-1:-1:-1;;;2294:18:30;;;2287:36;2340:19;;4367:73:8;;;;;;;;;4498:8;4450:39;-1:-1:-1;;;;;;;;;;;4477:11:8;;4450:26;;;;;:39;;:::i;:::-;:56;;-1:-1:-1;;;;;;4450:56:8;-1:-1:-1;;;;;4450:56:8;;;;;;;;;;-1:-1:-1;4312:201:8:o;1532:259::-;1613:37;1632:17;1613:18;;;;;:37;;:::i;:::-;1605:95;;;;-1:-1:-1;;;1605:95:8;;2572:2:30;1605:95:8;;;2554:21:30;2611:2;2591:18;;;2584:30;2650:34;2630:18;;;2623:62;-1:-1:-1;;;2701:18:30;;;2694:43;2754:19;;1605:95:8;2370:409:30;1605:95:8;1767:17;1710:48;1030:66;1737:20;;1710:26;;;;;:48;;:::i;6853:325:13:-;6994:12;7019;7033:23;7060:6;-1:-1:-1;;;;;7060:19:13;7080:4;7060:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7018:67:13;;-1:-1:-1;7018:67:13;-1:-1:-1;7102:69:13;7129:6;7018:67;;7158:12;7102:26;:69::i;:::-;7095:76;6853:325;-1:-1:-1;;;;;;6853:325:13:o;1614:190:15:-;1784:4;1614:190::o;1175:320:13:-;-1:-1:-1;;;;;1465:19:13;;:23;;;1175:320::o;7466:628::-;7646:12;7674:7;7670:418;;;7701:10;:17;7722:1;7701:22;7697:286;;7916:18;7927:6;7916:10;:18::i;:::-;7908:60;;;;-1:-1:-1;;;7908:60:13;;3278:2:30;7908:60:13;;;3260:21:30;3317:2;3297:18;;;3290:30;3356:31;3336:18;;;3329:59;3405:18;;7908:60:13;3076:353:30;7908:60:13;-1:-1:-1;8003:10:13;7996:17;;7670:418;8044:33;8052:10;8064:12;8044:7;:33::i;:::-;7466:628;;;;;;:::o;8616:540::-;8775:17;;:21;8771:379;;9003:10;8997:17;9059:15;9046:10;9042:2;9038:19;9031:44;8771:379;9126:12;9119:20;;-1:-1:-1;;;9119:20:13;;;;;;;;:::i;14:177:30:-;93:13;;-1:-1:-1;;;;;135:31:30;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:127::-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:250;413:1;423:113;437:6;434:1;431:13;423:113;;;513:11;;;507:18;494:11;;;487:39;459:2;452:10;423:113;;;-1:-1:-1;;570:1:30;552:16;;545:27;328:250::o;583:1066::-;680:6;688;696;749:2;737:9;728:7;724:23;720:32;717:52;;;765:1;762;755:12;717:52;788:40;818:9;788:40;:::i;:::-;778:50;;847:49;892:2;881:9;877:18;847:49;:::i;:::-;940:2;925:18;;919:25;837:59;;-1:-1:-1;;;;;;993:14:30;;;990:34;;;1020:1;1017;1010:12;990:34;1058:6;1047:9;1043:22;1033:32;;1103:7;1096:4;1092:2;1088:13;1084:27;1074:55;;1125:1;1122;1115:12;1074:55;1154:2;1148:9;1176:2;1172;1169:10;1166:36;;;1182:18;;:::i;:::-;1257:2;1251:9;1225:2;1311:13;;-1:-1:-1;;1307:22:30;;;1331:2;1303:31;1299:40;1287:53;;;1355:18;;;1375:22;;;1352:46;1349:72;;;1401:18;;:::i;:::-;1441:10;1437:2;1430:22;1476:2;1468:6;1461:18;1516:7;1511:2;1506;1502;1498:11;1494:20;1491:33;1488:53;;;1537:1;1534;1527:12;1488:53;1550:68;1615:2;1610;1602:6;1598:15;1593:2;1589;1585:11;1550:68;:::i;:::-;1637:6;1627:16;;;;;;;583:1066;;;;;:::o;2784:287::-;2913:3;2951:6;2945:13;2967:66;3026:6;3021:3;3014:4;3006:6;3002:17;2967:66;:::i;:::-;3049:16;;;;;2784:287;-1:-1:-1;;2784:287:30:o;3434:396::-;3583:2;3572:9;3565:21;3546:4;3615:6;3609:13;3658:6;3653:2;3642:9;3638:18;3631:34;3674:79;3746:6;3741:2;3730:9;3726:18;3721:2;3713:6;3709:15;3674:79;:::i;:::-;3814:2;3793:15;-1:-1:-1;;3789:29:30;3774:45;;;;3821:2;3770:54;;3434:396;-1:-1:-1;;3434:396:30:o;:::-;143:203:21;;;;;;", + "deployedSourceMap": "143:203:21:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2898:11:9;:9;:11::i;:::-;143:203:21;;2675:11:9;:9;:11::i;3960:134:12:-;;;;;;;;;;-1:-1:-1;3960:134:12;;;;;:::i;:::-;;:::i;4470:164::-;;;;;;:::i;:::-;;:::i;3363:129::-;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1217:32:30;;;1199:51;;1187:2;1172:18;3363:129:12;;;;;;;3697:103;;;;;;;;;;-1:-1:-1;3697:103:12;;;;;:::i;:::-;;:::i;2807:96::-;;;;;;;;;;;;;:::i;2322:110:9:-;2370:17;:15;:17::i;:::-;2397:28;2407:17;:15;:17::i;:::-;2397:9;:28::i;:::-;2322:110::o;3960:134:12:-;2278:11;:9;:11::i;:::-;-1:-1:-1;;;;;2264:25:12;:10;:25;2260:99;;4033:54:::1;4051:17;4070:9;;;;;;;;;;;::::0;4081:5:::1;4033:17;:54::i;:::-;3960:134:::0;:::o;2260:99::-;2337:11;:9;:11::i;4470:164::-;2278:11;:9;:11::i;:::-;-1:-1:-1;;;;;2264:25:12;:10;:25;2260:99;;4579:48:::1;4597:17;4616:4;;4579:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;4622:4:12::1;::::0;-1:-1:-1;4579:17:12::1;::::0;-1:-1:-1;;4579:48:12:i:1;:::-;4470:164:::0;;;:::o;2260:99::-;2337:11;:9;:11::i;3363:129::-;3415:23;2278:11;:9;:11::i;:::-;-1:-1:-1;;;;;2264:25:12;:10;:25;2260:99;;3468:17:::1;:15;:17::i;:::-;3450:35;;3363:129:::0;:::o;2260:99::-;2337:11;:9;:11::i;:::-;3363:129;:::o;3697:103::-;2278:11;:9;:11::i;:::-;-1:-1:-1;;;;;2264:25:12;:10;:25;2260:99;;3771:22:::1;3784:8;3771:12;:22::i;2807:96::-:0;2850:14;2278:11;:9;:11::i;:::-;-1:-1:-1;;;;;2264:25:12;:10;:25;2260:99;;2885:11:::1;:9;:11::i;6469:198:13:-:0;6552:12;6583:77;6604:6;6612:4;6583:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6576:84;6469:198;-1:-1:-1;;;6469:198:13:o;1175:320::-;-1:-1:-1;;;;;1465:19:13;;:23;;;1175:320::o;4909:207:12:-;4994:11;:9;:11::i;:::-;-1:-1:-1;;;;;4980:25:12;:10;:25;4972:104;;;;-1:-1:-1;;;4972:104:12;;1463:2:30;4972:104:12;;;1445:21:30;1502:2;1482:18;;;1475:30;1541:34;1521:18;;;1514:62;1612:34;1592:18;;;1585:62;-1:-1:-1;;;1663:19:30;;;1656:33;1706:19;;4972:104:12;;;;;;;;1148:140:7;1215:12;1246:35;:33;:35::i;948:895:9:-;1286:14;1283:1;1280;1267:34;1500:1;1497;1481:14;1478:1;1462:14;1455:5;1442:60;1576:16;1573:1;1570;1555:38;1614:6;1681:66;;;;1796:16;1793:1;1786:27;1681:66;1716:16;1713:1;1706:27;4108:122:8;4152:7;-1:-1:-1;;;;;;;;;;;4178:39:8;:45;-1:-1:-1;;;;;4178:45:8;;4108:122;-1:-1:-1;4108:122:8:o;2183:295::-;2321:29;2332:17;2321:10;:29::i;:::-;2378:1;2364:4;:11;:15;:28;;;;2383:9;2364:28;2360:112;;;2408:53;2437:17;2456:4;2408:28;:53::i;:::-;;2183:295;;;:::o;4624:135::-;4688:35;4701:11;:9;:11::i;:::-;4688:35;;;-1:-1:-1;;;;;1966:15:30;;;1948:34;;2018:15;;;2013:2;1998:18;;1991:43;1883:18;4688:35:8;;;;;;;4733:19;4743:8;4733:9;:19::i;6853:325:13:-;6994:12;7019;7033:23;7060:6;-1:-1:-1;;;;;7060:19:13;7080:4;7060:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7018:67;;;;7102:69;7129:6;7137:7;7146:10;7158:12;7102:26;:69::i;:::-;7095:76;6853:325;-1:-1:-1;;;;;;6853:325:13:o;1301:140:8:-;1354:7;-1:-1:-1;;;;;;;;;;;1380:48:8;1614:190:15;1897:152:8;1963:37;1982:17;1963:18;:37::i;:::-;2015:27;;-1:-1:-1;;;;;2015:27:8;;;;;;;;1897:152;:::o;4312:201::-;-1:-1:-1;;;;;4375:22:8;;4367:73;;;;-1:-1:-1;;;4367:73:8;;2794:2:30;4367:73:8;;;2776:21:30;2833:2;2813:18;;;2806:30;2872:34;2852:18;;;2845:62;-1:-1:-1;;;2923:18:30;;;2916:36;2969:19;;4367:73:8;2592:402:30;4367:73:8;4498:8;-1:-1:-1;;;;;;;;;;;4450:39:8;:56;;-1:-1:-1;;;;;;4450:56:8;-1:-1:-1;;;;;4450:56:8;;;;;;;;;;-1:-1:-1;4312:201:8:o;7466:628:13:-;7646:12;7674:7;7670:418;;;7701:10;:17;7722:1;7701:22;7697:286;;7916:18;7927:6;7916:10;:18::i;:::-;7908:60;;;;-1:-1:-1;;;7908:60:13;;3201:2:30;7908:60:13;;;3183:21:30;3240:2;3220:18;;;3213:30;3279:31;3259:18;;;3252:59;3328:18;;7908:60:13;2999:353:30;7908:60:13;-1:-1:-1;8003:10:13;7996:17;;7670:418;8044:33;8052:10;8064:12;8044:7;:33::i;:::-;7466:628;;;;;;:::o;1532:259:8:-;1613:37;1632:17;1613:18;:37::i;:::-;1605:95;;;;-1:-1:-1;;;1605:95:8;;3559:2:30;1605:95:8;;;3541:21:30;3598:2;3578:18;;;3571:30;3637:34;3617:18;;;3610:62;-1:-1:-1;;;3688:18:30;;;3681:43;3741:19;;1605:95:8;3357:409:30;1605:95:8;1767:17;-1:-1:-1;;;;;;;;;;;1710:48:8;1614:190:15;8616:540:13;8775:17;;:21;8771:379;;9003:10;8997:17;9059:15;9046:10;9042:2;9038:19;9031:44;8771:379;9126:12;9119:20;;-1:-1:-1;;;9119:20:13;;;;;;;;:::i;14:173:30:-;82:20;;-1:-1:-1;;;;;131:31:30;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;383:665::-;462:6;470;478;531:2;519:9;510:7;506:23;502:32;499:52;;;547:1;544;537:12;499:52;570:29;589:9;570:29;:::i;:::-;560:39;-1:-1:-1;650:2:30;635:18;;622:32;-1:-1:-1;;;;;703:14:30;;;700:34;;;730:1;727;720:12;700:34;768:6;757:9;753:22;743:32;;813:7;806:4;802:2;798:13;794:27;784:55;;835:1;832;825:12;784:55;875:2;862:16;901:2;893:6;890:14;887:34;;;917:1;914;907:12;887:34;962:7;957:2;948:6;944:2;940:15;936:24;933:37;930:57;;;983:1;980;973:12;930:57;1014:2;1010;1006:11;996:21;;1036:6;1026:16;;;;;383:665;;;;;:::o;2045:250::-;2130:1;2140:113;2154:6;2151:1;2148:13;2140:113;;;2230:11;;;2224:18;2211:11;;;2204:39;2176:2;2169:10;2140:113;;;-1:-1:-1;;2287:1:30;2269:16;;2262:27;2045:250::o;2300:287::-;2429:3;2467:6;2461:13;2483:66;2542:6;2537:3;2530:4;2522:6;2518:17;2483:66;:::i;:::-;2565:16;;;;;2300:287;-1:-1:-1;;2300:287:30:o;3771:396::-;3920:2;3909:9;3902:21;3883:4;3952:6;3946:13;3995:6;3990:2;3979:9;3975:18;3968:34;4011:79;4083:6;4078:2;4067:9;4063:18;4058:2;4050:6;4046:15;4011:79;:::i;:::-;4151:2;4130:15;-1:-1:-1;;4126:29:30;4111:45;;;;4158:2;4107:54;;3771:396;-1:-1:-1;;3771:396:30:o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.18;\n\nimport \"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\";\n\ncontract LiquidityBridgeContractProxy is TransparentUpgradeableProxy {\n constructor(address _logic, address _admin, bytes memory _data)\n TransparentUpgradeableProxy(_logic,_admin, _data) payable {}\n}", + "sourcePath": "/Users/luischavez/iov/liquidity-bridge-contract/contracts/LiquidityBridgeContractProxy.sol", + "ast": { + "absolutePath": "project:/contracts/LiquidityBridgeContractProxy.sol", + "exportedSymbols": { + "Address": [ + 1853 + ], + "ERC1967Proxy": [ + 859 + ], + "ERC1967Upgrade": [ + 1177 + ], + "IBeacon": [ + 1239 + ], + "IERC1822Proxiable": [ + 822 + ], + "LiquidityBridgeContractProxy": [ + 6960 + ], + "Proxy": [ + 1229 + ], + "StorageSlot": [ + 1935 + ], + "TransparentUpgradeableProxy": [ + 1523 + ] + }, + "id": 6961, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6941, + "literals": [ + "solidity", + "^", + "0.8", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "32:24:21" + }, + { + "absolutePath": "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol", + "file": "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol", + "id": 6942, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 6961, + "sourceUnit": 1524, + "src": "58:83:21", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 6943, + "name": "TransparentUpgradeableProxy", + "nameLocations": [ + "184:27:21" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1523, + "src": "184:27:21" + }, + "id": 6944, + "nodeType": "InheritanceSpecifier", + "src": "184:27:21" + } + ], + "canonicalName": "LiquidityBridgeContractProxy", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 6960, + "linearizedBaseContracts": [ + 6960, + 1523, + 859, + 1177, + 1229 + ], + "name": "LiquidityBridgeContractProxy", + "nameLocation": "152:28:21", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 6958, + "nodeType": "Block", + "src": "342:2:21", + "statements": [] + }, + "id": 6959, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 6953, + "name": "_logic", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6946, + "src": "312:6:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6954, + "name": "_admin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6948, + "src": "319:6:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6955, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6950, + "src": "327:5:21", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 6956, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 6952, + "name": "TransparentUpgradeableProxy", + "nameLocations": [ + "284:27:21" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1523, + "src": "284:27:21" + }, + "nodeType": "ModifierInvocation", + "src": "284:49:21" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6951, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6946, + "mutability": "mutable", + "name": "_logic", + "nameLocation": "236:6:21", + "nodeType": "VariableDeclaration", + "scope": 6959, + "src": "228:14:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6945, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "228:7:21", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6948, + "mutability": "mutable", + "name": "_admin", + "nameLocation": "252:6:21", + "nodeType": "VariableDeclaration", + "scope": 6959, + "src": "244:14:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6947, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "244:7:21", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6950, + "mutability": "mutable", + "name": "_data", + "nameLocation": "273:5:21", + "nodeType": "VariableDeclaration", + "scope": 6959, + "src": "260:18:21", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6949, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "260:5:21", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "227:52:21" + }, + "returnParameters": { + "id": 6957, + "nodeType": "ParameterList", + "parameters": [], + "src": "342:0:21" + }, + "scope": 6960, + "src": "216:128:21", + "stateMutability": "payable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 6961, + "src": "143:203:21", + "usedErrors": [] + } + ], + "src": "32:314:21" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.670Z", + "devdoc": { + "events": { + "AdminChanged(address,address)": { + "details": "Emitted when the admin account has changed." + }, + "BeaconUpgraded(address)": { + "details": "Emitted when the beacon is upgraded." + }, + "Upgraded(address)": { + "details": "Emitted when the implementation is upgraded." + } + }, + "kind": "dev", + "methods": { + "admin()": { + "details": "Returns the current admin. NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyAdmin}. TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`" + }, + "changeAdmin(address)": { + "details": "Changes the admin of the proxy. Emits an {AdminChanged} event. NOTE: Only the admin can call this function. See {ProxyAdmin-changeProxyAdmin}." + }, + "implementation()": { + "details": "Returns the current implementation. NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyImplementation}. TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`" + }, + "upgradeTo(address)": { + "details": "Upgrade the implementation of the proxy. NOTE: Only the admin can call this function. See {ProxyAdmin-upgrade}." + }, + "upgradeToAndCall(address,bytes)": { + "details": "Upgrade the implementation of the proxy, and then call a function from the new implementation as specified by `data`, which should be an encoded function call. This is useful to initialize new storage variables in the proxied contract. NOTE: Only the admin can call this function. See {ProxyAdmin-upgradeAndCall}." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/LiquidityBridgeContractV2.json b/build/contracts/LiquidityBridgeContractV2.json new file mode 100644 index 0000000..031d739 --- /dev/null +++ b/build/contracts/LiquidityBridgeContractV2.json @@ -0,0 +1,86614 @@ +{ + "contractName": "LiquidityBridgeContractV2", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "dest", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "BalanceDecrease", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "dest", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "BalanceIncrease", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "int256", + "name": "errorCode", + "type": "int256" + } + ], + "name": "BridgeCapExceeded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "dest", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "gasLimit", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bool", + "name": "success", + "type": "bool" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + } + ], + "name": "CallForUser", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "CollateralIncrease", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "DaoFeeSent", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "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": "bytes32", + "name": "quoteHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "int256", + "name": "transferredAmount", + "type": "int256" + } + ], + "name": "PegInRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "name": "PegOutDeposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + } + ], + "name": "PegOutRefunded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "userAddress", + "type": "address" + } + ], + "name": "PegOutUserRefunded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "PegoutCollateralIncrease", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "PegoutWithdrawCollateral", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "liquidityProvider", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "penalty", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + } + ], + "name": "Penalized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "dest", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "success", + "type": "bool" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + } + ], + "name": "Refund", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Register", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + } + ], + "name": "Resigned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "WithdrawCollateral", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "BRIDGE_GENERIC_ERROR", + "outputs": [ + { + "internalType": "int16", + "name": "", + "type": "int16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "BRIDGE_REFUNDED_LP_ERROR_CODE", + "outputs": [ + { + "internalType": "int16", + "name": "", + "type": "int16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "BRIDGE_REFUNDED_USER_ERROR_CODE", + "outputs": [ + { + "internalType": "int16", + "name": "", + "type": "int16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "BRIDGE_UNPROCESSABLE_TX_ALREADY_PROCESSED_ERROR_CODE", + "outputs": [ + { + "internalType": "int16", + "name": "", + "type": "int16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "BRIDGE_UNPROCESSABLE_TX_INVALID_SENDER_ERROR_CODE", + "outputs": [ + { + "internalType": "int16", + "name": "", + "type": "int16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "BRIDGE_UNPROCESSABLE_TX_NOT_CONTRACT_ERROR_CODE", + "outputs": [ + { + "internalType": "int16", + "name": "", + "type": "int16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "BRIDGE_UNPROCESSABLE_TX_UTXO_AMOUNT_SENT_BELOW_MINIMUM_ERROR", + "outputs": [ + { + "internalType": "int16", + "name": "", + "type": "int16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "BRIDGE_UNPROCESSABLE_TX_VALIDATIONS_ERROR", + "outputs": [ + { + "internalType": "int16", + "name": "", + "type": "int16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "BRIDGE_UNPROCESSABLE_TX_VALUE_ZERO_ERROR", + "outputs": [ + { + "internalType": "int16", + "name": "", + "type": "int16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "CALL_DONE_CODE", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_CALL_GAS_COST", + "outputs": [ + { + "internalType": "uint16", + "name": "", + "type": "uint16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_REFUND_GAS_LIMIT", + "outputs": [ + { + "internalType": "uint16", + "name": "", + "type": "uint16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PAY_TO_ADDRESS_OUTPUT", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PROCESSED_QUOTE_CODE", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "QUOTE_HASH_OUTPUT", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "UNPROCESSED_QUOTE_CODE", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "bridge", + "outputs": [ + { + "internalType": "contract Bridge", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "daoFeeCollectorAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "productFeePercentage", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "providerId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_productFeePercentage", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_daoFeeCollectorAddress", + "type": "address" + } + ], + "name": "initializeV2", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_providerId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "status", + "type": "bool" + } + ], + "name": "setProviderStatus", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getProviderIds", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getBridgeAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMinCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMinPegIn", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getRewardPercentage", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getResignDelayBlocks", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getDustThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + } + ], + "name": "getRegisteredPegOutQuote", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "lbcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "lpRskAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "btcRefundAddress", + "type": "bytes" + }, + { + "internalType": "address", + "name": "rskRefundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "lpBtcAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penaltyFee", + "type": "uint256" + }, + { + "internalType": "int64", + "name": "nonce", + "type": "int64" + }, + { + "internalType": "bytes", + "name": "deposityAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "agreementTimestamp", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "depositDateLimit", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "depositConfirmations", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "transferConfirmations", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "transferTime", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "expireDate", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "expireBlock", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "productFeeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasFee", + "type": "uint256" + } + ], + "internalType": "struct QuotesV2.PegOutQuote", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + } + ], + "name": "isPegOutQuoteCompleted", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "isOperational", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "isOperationalForPegout", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_apiBaseUrl", + "type": "string" + }, + { + "internalType": "bool", + "name": "_status", + "type": "bool" + }, + { + "internalType": "string", + "name": "_providerType", + "type": "string" + } + ], + "name": "register", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "providerIds", + "type": "uint256[]" + } + ], + "name": "getProviders", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "provider", + "type": "address" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "apiBaseUrl", + "type": "string" + }, + { + "internalType": "bool", + "name": "status", + "type": "bool" + }, + { + "internalType": "string", + "name": "providerType", + "type": "string" + } + ], + "internalType": "struct LiquidityBridgeContractV2.LiquidityProvider[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "addCollateral", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "addPegoutCollateral", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "deposit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawPegoutCollateral", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "resign", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "getCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "getPegoutCollateral", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "getBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes20", + "name": "fedBtcAddress", + "type": "bytes20" + }, + { + "internalType": "address", + "name": "lbcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidityProviderRskAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "btcRefundAddress", + "type": "bytes" + }, + { + "internalType": "address payable", + "name": "rskRefundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "liquidityProviderBtcAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penaltyFee", + "type": "uint256" + }, + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint32", + "name": "gasLimit", + "type": "uint32" + }, + { + "internalType": "int64", + "name": "nonce", + "type": "int64" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "agreementTimestamp", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "timeForDeposit", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "callTime", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "depositConfirmations", + "type": "uint16" + }, + { + "internalType": "bool", + "name": "callOnRegister", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "productFeeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasFee", + "type": "uint256" + } + ], + "internalType": "struct QuotesV2.PeginQuote", + "name": "quote", + "type": "tuple" + } + ], + "name": "callForUser", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes20", + "name": "fedBtcAddress", + "type": "bytes20" + }, + { + "internalType": "address", + "name": "lbcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidityProviderRskAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "btcRefundAddress", + "type": "bytes" + }, + { + "internalType": "address payable", + "name": "rskRefundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "liquidityProviderBtcAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penaltyFee", + "type": "uint256" + }, + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint32", + "name": "gasLimit", + "type": "uint32" + }, + { + "internalType": "int64", + "name": "nonce", + "type": "int64" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "agreementTimestamp", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "timeForDeposit", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "callTime", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "depositConfirmations", + "type": "uint16" + }, + { + "internalType": "bool", + "name": "callOnRegister", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "productFeeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasFee", + "type": "uint256" + } + ], + "internalType": "struct QuotesV2.PeginQuote", + "name": "quote", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "btcRawTransaction", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "partialMerkleTree", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "height", + "type": "uint256" + } + ], + "name": "registerPegIn", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "lbcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "lpRskAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "btcRefundAddress", + "type": "bytes" + }, + { + "internalType": "address", + "name": "rskRefundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "lpBtcAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penaltyFee", + "type": "uint256" + }, + { + "internalType": "int64", + "name": "nonce", + "type": "int64" + }, + { + "internalType": "bytes", + "name": "deposityAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "agreementTimestamp", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "depositDateLimit", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "depositConfirmations", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "transferConfirmations", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "transferTime", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "expireDate", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "expireBlock", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "productFeeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasFee", + "type": "uint256" + } + ], + "internalType": "struct QuotesV2.PegOutQuote", + "name": "quote", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "depositPegout", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + } + ], + "name": "refundUserPegOut", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "btcTx", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "btcBlockHeaderHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "partialMerkleTree", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "merkleBranchHashes", + "type": "bytes32[]" + } + ], + "name": "refundPegOut", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes20", + "name": "fedBtcAddress", + "type": "bytes20" + }, + { + "internalType": "address", + "name": "lbcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidityProviderRskAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "btcRefundAddress", + "type": "bytes" + }, + { + "internalType": "address payable", + "name": "rskRefundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "liquidityProviderBtcAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penaltyFee", + "type": "uint256" + }, + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint32", + "name": "gasLimit", + "type": "uint32" + }, + { + "internalType": "int64", + "name": "nonce", + "type": "int64" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "agreementTimestamp", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "timeForDeposit", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "callTime", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "depositConfirmations", + "type": "uint16" + }, + { + "internalType": "bool", + "name": "callOnRegister", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "productFeeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasFee", + "type": "uint256" + } + ], + "internalType": "struct QuotesV2.PeginQuote", + "name": "quote", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "depositAddress", + "type": "bytes" + } + ], + "name": "validatePeginDepositAddress", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes20", + "name": "fedBtcAddress", + "type": "bytes20" + }, + { + "internalType": "address", + "name": "lbcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidityProviderRskAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "btcRefundAddress", + "type": "bytes" + }, + { + "internalType": "address payable", + "name": "rskRefundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "liquidityProviderBtcAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penaltyFee", + "type": "uint256" + }, + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint32", + "name": "gasLimit", + "type": "uint32" + }, + { + "internalType": "int64", + "name": "nonce", + "type": "int64" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "agreementTimestamp", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "timeForDeposit", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "callTime", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "depositConfirmations", + "type": "uint16" + }, + { + "internalType": "bool", + "name": "callOnRegister", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "productFeeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasFee", + "type": "uint256" + } + ], + "internalType": "struct QuotesV2.PeginQuote", + "name": "quote", + "type": "tuple" + } + ], + "name": "hashQuote", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "lbcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "lpRskAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "btcRefundAddress", + "type": "bytes" + }, + { + "internalType": "address", + "name": "rskRefundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "lpBtcAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penaltyFee", + "type": "uint256" + }, + { + "internalType": "int64", + "name": "nonce", + "type": "int64" + }, + { + "internalType": "bytes", + "name": "deposityAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "agreementTimestamp", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "depositDateLimit", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "depositConfirmations", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "transferConfirmations", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "transferTime", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "expireDate", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "expireBlock", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "productFeeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasFee", + "type": "uint256" + } + ], + "internalType": "struct QuotesV2.PegOutQuote", + "name": "quote", + "type": "tuple" + } + ], + "name": "hashPegoutQuote", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"dest\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BalanceDecrease\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"dest\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BalanceIncrease\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"errorCode\",\"type\":\"int256\"}],\"name\":\"BridgeCapExceeded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"dest\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"}],\"name\":\"CallForUser\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"CollateralIncrease\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DaoFeeSent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"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\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"transferredAmount\",\"type\":\"int256\"}],\"name\":\"PegInRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"PegOutDeposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"}],\"name\":\"PegOutRefunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"userAddress\",\"type\":\"address\"}],\"name\":\"PegOutUserRefunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PegoutCollateralIncrease\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PegoutWithdrawCollateral\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"liquidityProvider\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"penalty\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"}],\"name\":\"Penalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"dest\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"}],\"name\":\"Refund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Register\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"Resigned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"WithdrawCollateral\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BRIDGE_GENERIC_ERROR\",\"outputs\":[{\"internalType\":\"int16\",\"name\":\"\",\"type\":\"int16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BRIDGE_REFUNDED_LP_ERROR_CODE\",\"outputs\":[{\"internalType\":\"int16\",\"name\":\"\",\"type\":\"int16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BRIDGE_REFUNDED_USER_ERROR_CODE\",\"outputs\":[{\"internalType\":\"int16\",\"name\":\"\",\"type\":\"int16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BRIDGE_UNPROCESSABLE_TX_ALREADY_PROCESSED_ERROR_CODE\",\"outputs\":[{\"internalType\":\"int16\",\"name\":\"\",\"type\":\"int16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BRIDGE_UNPROCESSABLE_TX_INVALID_SENDER_ERROR_CODE\",\"outputs\":[{\"internalType\":\"int16\",\"name\":\"\",\"type\":\"int16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BRIDGE_UNPROCESSABLE_TX_NOT_CONTRACT_ERROR_CODE\",\"outputs\":[{\"internalType\":\"int16\",\"name\":\"\",\"type\":\"int16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BRIDGE_UNPROCESSABLE_TX_UTXO_AMOUNT_SENT_BELOW_MINIMUM_ERROR\",\"outputs\":[{\"internalType\":\"int16\",\"name\":\"\",\"type\":\"int16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BRIDGE_UNPROCESSABLE_TX_VALIDATIONS_ERROR\",\"outputs\":[{\"internalType\":\"int16\",\"name\":\"\",\"type\":\"int16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BRIDGE_UNPROCESSABLE_TX_VALUE_ZERO_ERROR\",\"outputs\":[{\"internalType\":\"int16\",\"name\":\"\",\"type\":\"int16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CALL_DONE_CODE\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_CALL_GAS_COST\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_REFUND_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAY_TO_ADDRESS_OUTPUT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PROCESSED_QUOTE_CODE\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"QUOTE_HASH_OUTPUT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNPROCESSED_QUOTE_CODE\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"addCollateral\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"addPegoutCollateral\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"bridge\",\"outputs\":[{\"internalType\":\"contract Bridge\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes20\",\"name\":\"fedBtcAddress\",\"type\":\"bytes20\"},{\"internalType\":\"address\",\"name\":\"lbcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"liquidityProviderRskAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"btcRefundAddress\",\"type\":\"bytes\"},{\"internalType\":\"address payable\",\"name\":\"rskRefundAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"liquidityProviderBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"penaltyFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"int64\",\"name\":\"nonce\",\"type\":\"int64\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"agreementTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"timeForDeposit\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"callTime\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"depositConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"callOnRegister\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"productFeeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasFee\",\"type\":\"uint256\"}],\"internalType\":\"struct QuotesV2.PeginQuote\",\"name\":\"quote\",\"type\":\"tuple\"}],\"name\":\"callForUser\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"daoFeeCollectorAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"lbcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"lpRskAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"btcRefundAddress\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"rskRefundAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"lpBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"penaltyFee\",\"type\":\"uint256\"},{\"internalType\":\"int64\",\"name\":\"nonce\",\"type\":\"int64\"},{\"internalType\":\"bytes\",\"name\":\"deposityAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"agreementTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"depositDateLimit\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"depositConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"transferConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"transferTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"expireDate\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"expireBlock\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"productFeeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasFee\",\"type\":\"uint256\"}],\"internalType\":\"struct QuotesV2.PegOutQuote\",\"name\":\"quote\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"depositPegout\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBridgeAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getCollateral\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDustThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinCollateral\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinPegIn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getPegoutCollateral\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProviderIds\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"providerIds\",\"type\":\"uint256[]\"}],\"name\":\"getProviders\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"provider\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"apiBaseUrl\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"providerType\",\"type\":\"string\"}],\"internalType\":\"struct LiquidityBridgeContractV2.LiquidityProvider[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"}],\"name\":\"getRegisteredPegOutQuote\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"lbcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"lpRskAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"btcRefundAddress\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"rskRefundAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"lpBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"penaltyFee\",\"type\":\"uint256\"},{\"internalType\":\"int64\",\"name\":\"nonce\",\"type\":\"int64\"},{\"internalType\":\"bytes\",\"name\":\"deposityAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"agreementTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"depositDateLimit\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"depositConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"transferConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"transferTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"expireDate\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"expireBlock\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"productFeeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasFee\",\"type\":\"uint256\"}],\"internalType\":\"struct QuotesV2.PegOutQuote\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getResignDelayBlocks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardPercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"lbcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"lpRskAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"btcRefundAddress\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"rskRefundAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"lpBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"penaltyFee\",\"type\":\"uint256\"},{\"internalType\":\"int64\",\"name\":\"nonce\",\"type\":\"int64\"},{\"internalType\":\"bytes\",\"name\":\"deposityAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"agreementTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"depositDateLimit\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"depositConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"transferConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"transferTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"expireDate\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"expireBlock\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"productFeeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasFee\",\"type\":\"uint256\"}],\"internalType\":\"struct QuotesV2.PegOutQuote\",\"name\":\"quote\",\"type\":\"tuple\"}],\"name\":\"hashPegoutQuote\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes20\",\"name\":\"fedBtcAddress\",\"type\":\"bytes20\"},{\"internalType\":\"address\",\"name\":\"lbcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"liquidityProviderRskAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"btcRefundAddress\",\"type\":\"bytes\"},{\"internalType\":\"address payable\",\"name\":\"rskRefundAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"liquidityProviderBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"penaltyFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"int64\",\"name\":\"nonce\",\"type\":\"int64\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"agreementTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"timeForDeposit\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"callTime\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"depositConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"callOnRegister\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"productFeeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasFee\",\"type\":\"uint256\"}],\"internalType\":\"struct QuotesV2.PeginQuote\",\"name\":\"quote\",\"type\":\"tuple\"}],\"name\":\"hashQuote\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_productFeePercentage\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_daoFeeCollectorAddress\",\"type\":\"address\"}],\"name\":\"initializeV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"isOperational\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"isOperationalForPegout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"}],\"name\":\"isPegOutQuoteCompleted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"productFeePercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"providerId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"btcTx\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"btcBlockHeaderHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"partialMerkleTree\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"merkleBranchHashes\",\"type\":\"bytes32[]\"}],\"name\":\"refundPegOut\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"}],\"name\":\"refundUserPegOut\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_apiBaseUrl\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_status\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"_providerType\",\"type\":\"string\"}],\"name\":\"register\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes20\",\"name\":\"fedBtcAddress\",\"type\":\"bytes20\"},{\"internalType\":\"address\",\"name\":\"lbcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"liquidityProviderRskAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"btcRefundAddress\",\"type\":\"bytes\"},{\"internalType\":\"address payable\",\"name\":\"rskRefundAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"liquidityProviderBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"penaltyFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"int64\",\"name\":\"nonce\",\"type\":\"int64\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"agreementTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"timeForDeposit\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"callTime\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"depositConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"callOnRegister\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"productFeeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasFee\",\"type\":\"uint256\"}],\"internalType\":\"struct QuotesV2.PeginQuote\",\"name\":\"quote\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"btcRawTransaction\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"partialMerkleTree\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"}],\"name\":\"registerPegIn\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resign\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_providerId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setProviderStatus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes20\",\"name\":\"fedBtcAddress\",\"type\":\"bytes20\"},{\"internalType\":\"address\",\"name\":\"lbcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"liquidityProviderRskAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"btcRefundAddress\",\"type\":\"bytes\"},{\"internalType\":\"address payable\",\"name\":\"rskRefundAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"liquidityProviderBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"penaltyFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"int64\",\"name\":\"nonce\",\"type\":\"int64\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"agreementTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"timeForDeposit\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"callTime\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"depositConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"callOnRegister\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"productFeeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasFee\",\"type\":\"uint256\"}],\"internalType\":\"struct QuotesV2.PeginQuote\",\"name\":\"quote\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"depositAddress\",\"type\":\"bytes\"}],\"name\":\"validatePeginDepositAddress\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawCollateral\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawPegoutCollateral\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"addCollateral()\":{\"details\":\"Increases the amount of collateral of the sender\"},\"callForUser((bytes20,address,address,bytes,address,bytes,uint256,uint256,address,bytes,uint32,int64,uint256,uint32,uint32,uint32,uint16,bool,uint256,uint256))\":{\"details\":\"Performs a call on behalf of a user\",\"params\":{\"quote\":\"The quote that identifies the service\"},\"returns\":{\"_0\":\"Boolean indicating whether the call was successful\"}},\"deposit()\":{\"details\":\"Increases the balance of the sender\"},\"getBalance(address)\":{\"details\":\"Returns the amount of funds of a liquidity provider\",\"params\":{\"addr\":\"The address of the liquidity provider\"},\"returns\":{\"_0\":\"The balance of the liquidity provider\"}},\"getCollateral(address)\":{\"details\":\"Returns the amount of collateral of a liquidity provider\",\"params\":{\"addr\":\"The address of the liquidity provider\"},\"returns\":{\"_0\":\"The amount of locked collateral\"}},\"hashQuote((bytes20,address,address,bytes,address,bytes,uint256,uint256,address,bytes,uint32,int64,uint256,uint32,uint32,uint32,uint16,bool,uint256,uint256))\":{\"details\":\"Calculates hash of a quote. Note: besides calculation this function also validates the quote.\",\"params\":{\"quote\":\"The quote of the service\"},\"returns\":{\"_0\":\"The hash of a quote\"}},\"isOperational(address)\":{\"details\":\"Checks whether a liquidity provider can deliver a pegin service\",\"returns\":{\"_0\":\"Whether the liquidity provider is registered and has enough locked collateral\"}},\"isOperationalForPegout(address)\":{\"details\":\"Checks whether a liquidity provider can deliver a pegout service\",\"returns\":{\"_0\":\"Whether the liquidity provider is registered and has enough locked collateral\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"register(string,string,bool,string)\":{\"details\":\"Registers msg.sender as a liquidity provider with msg.value as collateral\"},\"registerPegIn((bytes20,address,address,bytes,address,bytes,uint256,uint256,address,bytes,uint32,int64,uint256,uint32,uint32,uint32,uint16,bool,uint256,uint256),bytes,bytes,bytes,uint256)\":{\"details\":\"Registers a peg-in transaction with the bridge and pays to the involved parties\",\"params\":{\"btcRawTransaction\":\"The peg-in transaction\",\"height\":\"The block that contains the peg-in transaction\",\"partialMerkleTree\":\"The merkle tree path that proves transaction inclusion\",\"quote\":\"The quote of the service\",\"signature\":\"The signature of the quote\"},\"returns\":{\"_0\":\"The total peg-in amount received from the bridge contract or an error code\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"resign()\":{\"details\":\"Used to resign as a liquidity provider\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"withdraw(uint256)\":{\"details\":\"Used to withdraw funds\",\"params\":{\"amount\":\"The amount to withdraw\"}},\"withdrawCollateral()\":{\"details\":\"Used to withdraw the locked collateral\"}},\"title\":\"Contract that assists with the Flyover protocol\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/LiquidityBridgeContractV2.sol\":\"LiquidityBridgeContractV2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x247c62047745915c0af6b955470a72d1696ebad4352d7d3011aef1a2463cd888\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7fc8396619de513c96b6e00301b88dd790e83542aab918425633a5f7297a15a\",\"dweb:/ipfs/QmXbP4kiZyp7guuS7xe8KaybnwkRPGrBc2Kbi3vhcTfpxb\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x037c334add4b033ad3493038c25be1682d78c00992e1acb0e2795caff3925271\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a313cf42389440e2706837c91370323b85971c06afd6d056d21e2bc86459618\",\"dweb:/ipfs/QmT8XUrUvQ9aZaPKrqgRU2JVGWnaxBcUYJA7Q7K5KcLBSZ\"]},\"@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2b3005a0064cfc558bdf64b2bae94b565f4574a536aadd61c13838d4f2157790\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://622c3eb87563e71585c9f538d1a196fe2d154dcc5b8f335e8770a8acc95e1f3a\",\"dweb:/ipfs/QmSnDqJJLzv3mirjGB1vrk5X7hegFdS7BKpscpxyqj7sWu\"]},\"@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x2edcb41c121abc510932e8d83ff8b82cf9cdde35e7c297622f5c29ef0af25183\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72460c66cd1c3b1c11b863e0d8df0a1c56f37743019e468dc312c754f43e3b06\",\"dweb:/ipfs/QmPExYKiNb9PUsgktQBupPaM33kzDHxaYoVeJdLhv8s879\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"@rsksmart/btc-transaction-solidity-helper/contracts/BtcUtils.sol\":{\"keccak256\":\"0x74f37be19bedfd0d29802bad535d081f97689171ea0317d65803c9a66af49c1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://44325d49566d08e72d7ed85a98382d0dcd66bde2e4046df2dd63df43a5196cc5\",\"dweb:/ipfs/QmUQvPkSpciVbFueE2GEwnMap5qUxHgf2DnQAnqhCx6a2R\"]},\"project:/contracts/Bridge.sol\":{\"keccak256\":\"0xae192fa4fc0d6d395fd0c3912bc3affe86ddd4869f04501fbae0afe234d1becd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://309436cba07567a3ee76e71d6a751023b436a17f7d83e291ef731318287756e6\",\"dweb:/ipfs/QmZTjw3hbY4ofptJmQwnLRGrBTQcv6yPgbY4WvMAwgkzGS\"]},\"project:/contracts/LiquidityBridgeContractV2.sol\":{\"keccak256\":\"0x7835647296fe39259f732e4f2243a41c7fe944bc0c9c833c1546a3b56f3fda9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4bd0386f2d3f4e822d91d6ad4ef508d6a19fe10aafebd176809120406584ecf\",\"dweb:/ipfs/QmSYo9FRdm1GzfZXkcdjTg81tthpqcwEYuxcEgL2r6NbX4\"]},\"project:/contracts/QuotesV2.sol\":{\"keccak256\":\"0xda3afec2b2b9aae5c1747ffcd7646fd0680965743702961b08236e0cce699d35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e751b7128c53b32303e573fb14796eb0e8912d50114c8824ad307ac632725ee\",\"dweb:/ipfs/QmTyF3Dmw1d7crXtSALUsaQcHtp5cCzUo1xEtyG3uBtXAY\"]},\"project:/contracts/SignatureValidator.sol\":{\"keccak256\":\"0x9d72920dd5ff2891c8dd3b3a814c1b108e82fcc6dfd849c96842e88c01d25b2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8df1167e9def35ced4a620e3fa1e6d148bc7c1fb995378bf12dabef250b3be65\",\"dweb:/ipfs/QmZJJchWvzUeMb68VPHFGnMXBx7aMhK5GqJy8ECDx2rf58\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50615f5d80620000216000396000f3fe60806040526004361061027f5760003560e01c806304ade855146102d35780630a7bf57a146102ff5780630a9cb4a71461031457806322140009146103335780632490fe36146103535780632d67952c146103955780632e1a7d4d146103b557806333f07ad3146103d557806335510a7d146103ea57806341705518146103ff578063418663a2146104125780634198687e1461043c578063457385f2146104445780634d0ec9711461047457806354015ee01461049457806359c153be146104c757806363c67135146104dc578063668dbd83146104f257806369652fcf1461051f578063710738b114610534578063715018a61461056157806372cbf4e81461057657806379b9550b146105965780637aefa8c2146105b65780638490a8df146105c95780638beb537a146105df5780638d597939146105f25780638da5cb5b146106095780638f91797d1461061e5780639b56d6c91461063e5780639cd6557f146106745780639d79b59b146106895780639e816999146106b2578063a4a5ba50146106ba578063a93bb247146106cf578063ae76ce86146106e6578063ae93b67b146106fd578063b3a849aa14610714578063bd519eff14610734578063bd5798c31461076a578063be6de4eb1461078c578063c525cdd8146107a1578063c7213163146107b8578063cfb92f0a146107d3578063d0e30db0146107ea578063d6c70de8146107f2578063e1de16c614610812578063e30e6ea314610828578063e78cea921461083e578063e830b6901461085e578063e8fcce7114610873578063e90d2ddb14610889578063f2fde38b146108b6578063f8b2cb4f146108d6578063fa88dcde1461090c578063fb32c5081461092157600080fd5b366102ce576097546001600160a01b031633146102cc5760405162461bcd60e51b81526020600482015260066024820152654c424330303760d01b60448201526064015b60405180910390fd5b005b600080fd5b3480156102df57600080fd5b506102e8600181565b60405160ff90911681526020015b60405180910390f35b34801561030b57600080fd5b506102e8600281565b34801561032057600080fd5b5060a2545b6040519081526020016102f6565b34801561033f57600080fd5b5061032561034e366004614b16565b61093f565b34801561035f57600080fd5b506102cc61036e366004614b4a565b60a89190915560a980546001600160a01b0319166001600160a01b03909216919091179055565b3480156103a157600080fd5b506103256103b0366004614d4e565b610950565b3480156103c157600080fd5b506102cc6103d0366004614e02565b611162565b3480156103e157600080fd5b5060a154610325565b3480156103f657600080fd5b506102cc61125a565b61032561040d366004614e1b565b611388565b34801561041e57600080fd5b506104296101301981565b60405160019190910b81526020016102f6565b6102cc6118ba565b34801561045057600080fd5b5061046461045f366004614eb7565b61193f565b60405190151581526020016102f6565b34801561048057600080fd5b5061046461048f366004614eb7565b611975565b3480156104a057600080fd5b506104646104af366004614e02565b600090815260a7602052604090206001015460ff1690565b3480156104d357600080fd5b506102cc6119ab565b3480156104e857600080fd5b5061032560a85481565b3480156104fe57600080fd5b5061051261050d366004614ef7565b611ad9565b6040516102f69190614fe4565b34801561052b57600080fd5b506102cc611e5a565b34801561054057600080fd5b5060a954610554906001600160a01b031681565b6040516102f691906150b3565b34801561056d57600080fd5b506102cc611f05565b34801561058257600080fd5b506102cc6105913660046150c7565b611f19565b3480156105a257600080fd5b506104646105b13660046150ec565b611fb3565b6104646105c436600461514f565b61211f565b3480156105d557600080fd5b5061032560a25481565b6102cc6105ed366004615183565b612431565b3480156105fe57600080fd5b5061042961012c1981565b34801561061557600080fd5b506105546128ea565b34801561062a57600080fd5b506102cc610639366004614e02565b6128f9565b34801561064a57600080fd5b50610325610659366004614eb7565b6001600160a01b031660009081526099602052604090205490565b34801561068057600080fd5b506102e8600081565b34801561069557600080fd5b5061069f6188b881565b60405161ffff90911681526020016102f6565b6102cc612c26565b3480156106c657600080fd5b50610325600181565b3480156106db57600080fd5b5061042961012d1981565b3480156106f257600080fd5b5061042961012b1981565b34801561070957600080fd5b506104296103831981565b34801561072057600080fd5b5061032561072f36600461514f565b612ca1565b34801561074057600080fd5b5061032561074f366004614eb7565b6001600160a01b03166000908152609a602052604090205490565b34801561077657600080fd5b5060a054600160201b900463ffffffff16610325565b34801561079857600080fd5b50610325600081565b3480156107ad57600080fd5b5061042961012e1981565b3480156107c457600080fd5b5060a05463ffffffff16610325565b3480156107df57600080fd5b5061042961012f1981565b6102cc612cac565b3480156107fe57600080fd5b506102cc61080d3660046151b9565b612cdb565b34801561081e57600080fd5b5061069f6108fc81565b34801561083457600080fd5b5061042960c71981565b34801561084a57600080fd5b50609754610554906001600160a01b031681565b34801561086a57600080fd5b50609e54610325565b34801561087f57600080fd5b5061042960631981565b34801561089557600080fd5b506108a96108a4366004614e02565b6137ce565b6040516102f6919061528f565b3480156108c257600080fd5b506102cc6108d1366004614eb7565b613b1f565b3480156108e257600080fd5b506103256108f1366004614eb7565b6001600160a01b031660009081526098602052604090205490565b34801561091857600080fd5b50609f54610325565b34801561092d57600080fd5b506097546001600160a01b0316610554565b600061094a82613b95565b92915050565b600061095a613c64565b600061096587613cbd565b600081815260a56020526040902054909150600160ff909116111561099c5760405162461bcd60e51b81526004016102c390615429565b60408088015190516301a86b5560e41b815273__SignatureValidator____________________91631a86b550916109db919085908b90600401615449565b602060405180830381865af41580156109f8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1c9190615470565b610a385760405162461bcd60e51b81526004016102c39061548d565b637fffffff8310610a745760405162461bcd60e51b815260206004820152600660248201526504c42433033360d41b60448201526064016102c3565b6000610a838887878786613ef0565b905061012f8101610abf5760405162461bcd60e51b81526020600482015260066024820152654c424330333160d01b60448201526064016102c3565b61012e8101610af95760405162461bcd60e51b815260206004820152600660248201526526212198199960d11b60448201526064016102c3565b6101308101610b335760405162461bcd60e51b81526020600482015260066024820152654c424330333360d01b60448201526064016102c3565b6101318101610b6d5760405162461bcd60e51b8152602060048201526006602482015265131090cc0ccd60d21b60448201526064016102c3565b6103848101610ba75760405162461bcd60e51b81526020600482015260066024820152654c424330333560d01b60448201526064016102c3565b6000811380610bb7575060c71981145b80610bc3575060631981145b610bf85760405162461bcd60e51b815260206004820152600660248201526526212198199b60d11b60448201526064016102c3565b6000828152609c6020526040902054610c1b908990839063ffffffff1687613fc2565b15610cec5760e08801516040808a01516001600160a01b031660009081526099602052908120549091610c4d91614323565b905080609960008b604001516001600160a01b03166001600160a01b031681526020019081526020016000206000828254610c8891906154c3565b90915550506040808a01519051600080516020615ee883398151915291610cb291849087906154d6565b60405180910390a160a054600090606490610cd39063ffffffff16846154f7565b610cdd9190615524565b9050610ce9338261433b565b50505b60c719811480610cfd575060631981145b15610d7157600082815260a560209081526040808320805460ff19166002179055609c825291829020805464ffffffffff1916905581518481529081018390527ffb209329d5ab5b7bcb2e92f45f4534814b6e68fa5ad1f171dabc1d17d26f0ebe910160405180910390a1915061114f9050565b60405163fa6ea3e760e01b8152819073__QuotesV2______________________________9063fa6ea3e790610dac908c9085906004016156a4565b60006040518083038186803b158015610dc457600080fd5b505af4158015610dd8573d6000803e3d6000fd5b5050506000848152609c602052604090205463ffffffff16159050610f43576000838152609c6020526040812054600160201b900460ff1615610e4a57610e43828b61026001518c60c001518d6101800151610e3491906156c6565b610e3e91906156c6565b614323565b9050610e66565b610e63828b61026001518c60c00151610e3e91906156c6565b90505b610e748a604001518261433b565b6000610e8082846154c3565b9050610e918b61024001518661439a565b60a154811115610f3c5760808b01516040516000916001600160a01b0316906108fc90849084818181858888f193505050503d8060008114610eef576040519150601f19603f3d011682016040523d82523d6000602084013e610ef4565b606091505b50509050600080516020615ec88339815191528c60800151838389604051610f1f94939291906156d9565b60405180910390a180610f3a57610f3a8c604001518361433b565b505b50506110e8565b61022089015181908015610f5c57508961018001518110155b1561104e5760008a61010001516001600160a01b03168b610140015163ffffffff168c61018001518d6101200151604051610f979190615701565b600060405180830381858888f193505050503d8060008114610fd5576040519150601f19603f3d011682016040523d82523d6000602084013e610fda565b606091505b505090508a61010001516001600160a01b0316336001600160a01b0316600080516020615f088339815191528d61014001518e61018001518f6101200151868b60405161102b95949392919061571d565b60405180910390a3801561104c576101808b015161104990836154c3565b91505b505b60a1548111156110e65760808a01516040516000916001600160a01b0316906108fc90849084818181858888f193505050503d80600081146110ac576040519150601f19603f3d011682016040523d82523d6000602084013e6110b1565b606091505b50509050600080516020615ec88339815191528b608001518383886040516110dc94939291906156d9565b60405180910390a1505b505b600083815260a560209081526040808320805460ff19166002179055609c825291829020805464ffffffffff19169055905183815284917f0629ae9d1dc61501b0ca90670a9a9b88daaf7504b54537b53e1219de794c63d2910160405180910390a2509150505b6111596001606555565b95945050505050565b336000908152609860205260409020548111156111915760405162461bcd60e51b81526004016102c390615756565b33600090815260986020526040812080548392906111b09084906154c3565b9091555050604051600090339083908381818185875af1925050503d80600081146111f7576040519150601f19603f3d011682016040523d82523d6000602084013e6111fc565b606091505b505090508061121d5760405162461bcd60e51b81526004016102c390615776565b7f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65338360405161124e929190615796565b60405180910390a15050565b336000908152609d60205260409020546112865760405162461bcd60e51b81526004016102c3906157af565b60a054336000908152609d6020526040902054600160201b90910463ffffffff16906112b290436154c3565b10156112d05760405162461bcd60e51b81526004016102c3906157cf565b336000818152609a60209081526040808320805490849055609d9092528083208390555190929083908381818185875af1925050503d8060008114611331576040519150601f19603f3d011682016040523d82523d6000602084013e611336565b606091505b50509050806113575760405162461bcd60e51b81526004016102c390615776565b7ffc72299650b405e7b0480ca8fb0fb3948fb10a77ac02f797cc9de1f4aaa55db7338360405161124e929190615796565b60003233146113c25760405162461bcd60e51b81526020600482015260066024820152654c424330303360d01b60448201526064016102c3565b60008551116113fc5760405162461bcd60e51b815260206004820152600660248201526504c42433031360d41b60448201526064016102c3565b60008451116114365760405162461bcd60e51b81526020600482015260066024820152654c424330313760d01b60448201526064016102c3565b604051602001611445906157ef565b604051602081830303815290604052805190602001208260405160200161146c9190615701565b6040516020818303038152906040528051906020012014806114d7575060405160200161149890615800565b60405160208183030381529060405280519060200120826040516020016114bf9190615701565b60405160208183030381529060405280519060200120145b8061152f5750604051630c4dee8d60e31b602082015260240160405160208183030381529060405280519060200120826040516020016115179190615701565b60405160208183030381529060405280519060200120145b6115645760405162461bcd60e51b815260206004820152600660248201526509884866062760d31b60448201526064016102c3565b3360009081526099602052604090205415801561158e5750336000908152609a6020526040902054155b6115c35760405162461bcd60e51b815260206004820152600660248201526504c42433037360d41b60448201526064016102c3565b336000908152609d6020526040902054156116095760405162461bcd60e51b81526020600482015260066024820152654c424330303960d01b60448201526064016102c3565b604051602001611618906157ef565b604051602081830303815290604052805190602001208260405160200161163f9190615701565b604051602081830303815290604052805190602001200361169357609e5434101561167c5760405162461bcd60e51b81526004016102c390615812565b336000908152609960205260409020349055611798565b6040516020016116a290615800565b60405160208183030381529060405280519060200120826040516020016116c99190615701565b604051602081830303815290604052805190602001200361171d57609e543410156117065760405162461bcd60e51b81526004016102c390615812565b336000908152609a60205260409020349055611798565b609e5461172b9060026154f7565b34101561174a5760405162461bcd60e51b81526004016102c390615812565b6000611757600234615524565b9050611764600234615832565b15611779576117748160016156c6565b61177b565b805b33600090815260996020908152604080832093909355609a905220555b60a280549060006117a883615846565b90915550506040805160c08101825260a2548082523360208084019182528385018a8152606085018a9052881515608086015260a085018890526000938452609b909152939091208251815590516001820180546001600160a01b0319166001600160a01b039092169190911790559151909190600282019061182b90826158e8565b506060820151600382019061184090826158e8565b50608082015160048201805460ff191691151591909117905560a0820151600582019061186d90826158e8565b505060a254604080519182523460208301523392507fa9d44d6e13bb3fee938c3f66d1103e91f8dc6b12d4405a55eea558e8f275aa6e910160405180910390a25060a2545b949350505050565b6118c33361446c565b6118df5760405162461bcd60e51b81526004016102c3906159a7565b336000908152609a6020526040812080543492906118fe9084906156c6565b90915550506040517f873d5a2949567203ad4f0cceef41c2813c87b9a397ee777d87a8acdaec2c6fa9906119359033903490615796565b60405180910390a1565b600061194a826144ab565b801561094a5750609e546001600160a01b038316600090815260996020526040902054101592915050565b60006119808261446c565b801561094a5750609e546001600160a01b0383166000908152609a6020526040902054101592915050565b336000908152609d60205260409020546119d75760405162461bcd60e51b81526004016102c3906157af565b60a054336000908152609d6020526040902054600160201b90910463ffffffff1690611a0390436154c3565b1015611a215760405162461bcd60e51b81526004016102c3906157cf565b336000818152609960209081526040808320805490849055609d9092528083208390555190929083908381818185875af1925050503d8060008114611a82576040519150601f19603f3d011682016040523d82523d6000602084013e611a87565b606091505b5050905080611aa85760405162461bcd60e51b81526004016102c390615776565b7fa8e76b822fc682be77f3b1c822ea81f6bda5aed92ba82e6873bfd889f328d1d2338360405161124e929190615796565b6060600082516001600160401b03811115611af657611af66147fd565b604051908082528060200260200182016040528015611b6b57816020015b611b586040518060c001604052806000815260200160006001600160a01b031681526020016060815260200160608152602001600015158152602001606081525090565b815260200190600190039081611b145790505b5090506000805b8451811015611e51576000858281518110611b8f57611b8f6159c7565b6020908102919091018101516000818152609b909252604090912060010154909150611bc3906001600160a01b03166144ab565b80611bed57506000818152609b6020526040902060010154611bed906001600160a01b031661446c565b8015611c0a57506000818152609b602052604090206004015460ff165b15611e3e576000818152609b6020908152604091829020825160c0810184528154815260018201546001600160a01b0316928101929092526002810180549293919291840191611c599061585f565b80601f0160208091040260200160405190810160405280929190818152602001828054611c859061585f565b8015611cd25780601f10611ca757610100808354040283529160200191611cd2565b820191906000526020600020905b815481529060010190602001808311611cb557829003601f168201915b50505050508152602001600382018054611ceb9061585f565b80601f0160208091040260200160405190810160405280929190818152602001828054611d179061585f565b8015611d645780601f10611d3957610100808354040283529160200191611d64565b820191906000526020600020905b815481529060010190602001808311611d4757829003601f168201915b5050509183525050600482015460ff1615156020820152600582018054604090920191611d909061585f565b80601f0160208091040260200160405190810160405280929190818152602001828054611dbc9061585f565b8015611e095780601f10611dde57610100808354040283529160200191611e09565b820191906000526020600020905b815481529060010190602001808311611dec57829003601f168201915b505050505081525050848481518110611e2457611e246159c7565b60200260200101819052508280611e3a90615846565b9350505b5080611e4981615846565b915050611b72565b50909392505050565b611e63336144ab565b611e7f5760405162461bcd60e51b81526004016102c3906159a7565b336000908152609d602052604090205415611ec55760405162461bcd60e51b81526020600482015260066024820152654c424330323360d01b60448201526064016102c3565b336000818152609d602052604090819020439055517fa6674aa33cd1b7435474751667707bf05fde99e537d67043ec5f907782577d8691611935916150b3565b611f0d6144ea565b611f176000614549565b565b81611f226128ea565b6001600160a01b0316336001600160a01b03161480611f5a57506000818152609b60205260409020600101546001600160a01b031633145b611f8f5760405162461bcd60e51b81526020600482015260066024820152654c424330303560d01b60448201526064016102c3565b506000918252609b6020526040909120600401805460ff1916911515919091179055565b600080611fbf84612ca1565b8460600151856020015160601b8660a00151604051602001611fe494939291906159dd565b604051602081830303815290604052805190602001209050600081609760009054906101000a90046001600160a01b03166001600160a01b0316631d73d5dd6040518163ffffffff1660e01b8152600401600060405180830381865afa158015612052573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261207a9190810190615a6f565b60405160200161208b929190615aa3565b60408051601f198184030181529082905260a454639b02794b60e01b835290925073__BtcUtils______________________________91639b02794b916120de918891869160ff90911690600401615add565b602060405180830381865af41580156120fb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111599190615470565b600061212a336144ab565b6121465760405162461bcd60e51b81526004016102c3906159a7565b61214e613c64565b81604001516001600160a01b0316336001600160a01b03161461219c5760405162461bcd60e51b8152602060048201526006602482015265131090cc0c8d60d21b60448201526064016102c3565b6101808201516040808401516001600160a01b03166000908152609860205220546121c89034906156c6565b10156121e65760405162461bcd60e51b81526004016102c390615756565b60006121f183613cbd565b600081815260a5602052604090205490915060ff161561223c5760405162461bcd60e51b81526020600482015260066024820152654c424330323560d01b60448201526064016102c3565b61224a83604001513461433b565b61014083015161225d906188b890615b15565b63ffffffff165a101561229b5760405162461bcd60e51b815260206004820152600660248201526526212198191b60d11b60448201526064016102c3565b60008361010001516001600160a01b031684610140015163ffffffff168561018001518661012001516040516122d19190615701565b600060405180830381858888f193505050503d806000811461230f576040519150601f19603f3d011682016040523d82523d6000602084013e612314565b606091505b509091505063ffffffff4211156123565760405162461bcd60e51b81526020600482015260066024820152654c424330323760d01b60448201526064016102c3565b6000828152609c60205260409020805463ffffffff19164263ffffffff1617905580156123b1576000828152609c602052604090819020805460ff60201b1916600160201b1790558401516101808501516123b1919061459b565b8361010001516001600160a01b0316336001600160a01b0316600080516020615f0883398151915286610140015187610180015188610120015186886040516123fe95949392919061571d565b60405180910390a3600091825260a56020526040909120805460ff19166001179055905061242c6001606555565b919050565b61243e826020015161446c565b6124735760405162461bcd60e51b81526020600482015260066024820152654c424330333760d01b60448201526064016102c3565b348261024001518361022001518460a0015185610120015161249591906156c6565b61249f91906156c6565b6124a991906156c6565b11156124e05760405162461bcd60e51b81526020600482015260066024820152654c424330363360d01b60448201526064016102c3565b81610160015163ffffffff164211156125245760405162461bcd60e51b81526020600482015260066024820152654c424330363560d01b60448201526064016102c3565b816101e0015163ffffffff164211156125685760405162461bcd60e51b8152602060048201526006602482015265262121981a1b60d11b60448201526064016102c3565b81610200015163ffffffff164311156125ac5760405162461bcd60e51b81526020600482015260066024820152654c424330343760d01b60448201526064016102c3565b60006125b78361093f565b60208401516040516301a86b5560e41b815291925073__SignatureValidator____________________91631a86b550916125f89185908790600401615449565b602060405180830381865af4158015612615573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126399190615470565b6126555760405162461bcd60e51b81526004016102c39061548d565b600081815260a66020908152604080832060a79092529091206001015460ff16156126925760405162461bcd60e51b81526004016102c390615b39565b80546001600160a01b0316156126ba5760405162461bcd60e51b81526004016102c390615429565b600082815260a66020908152604091829020865181546001600160a01b03199081166001600160a01b039283161783559288015160018301805490941691161790915590850151859190600282019061271390826158e8565b5060608201516003820180546001600160a01b0319166001600160a01b039092169190911790556080820151600482019061274e90826158e8565b5060a0820151600582015560c0820151600682015560e08201516007820180546001600160401b0319166001600160401b03909216919091179055610100820151600882019061279e90826158e8565b506101208201516009820155610140820151600a820180546101608501516101808601516101a08701516101c08801516101e08901516102008a015163ffffffff9889166001600160401b031990971696909617600160201b958916959095029490941763ffffffff60401b1916600160401b61ffff9485160261ffff60501b191617600160501b939092169290920217600160601b600160a01b031916600160601b9186169190910263ffffffff60801b191617600160801b918516919091021763ffffffff60a01b1916600160a01b9390911692909202919091179055610220820151600b82015561024090910151600c90910155600082815260a760209081526040918290204290819055825134815291820152339184917fb1bc7bfc0dab19777eb03aa0a5643378fc9f186c8fc5a36620d21136fbea570f910160405180910390a350505050565b6033546001600160a01b031690565b612901613c64565b600081815260a66020526040902080546001600160a01b03166129365760405162461bcd60e51b81526004016102c390615b59565b600a810154600160801b900463ffffffff16421180156129665750600a810154600160a01b900463ffffffff1643115b61299b5760405162461bcd60e51b81526020600482015260066024820152654c424330343160d01b60448201526064016102c3565b600081600c015482600b0154836005015484600901546129bb91906156c6565b6129c591906156c6565b6129cf91906156c6565b6003830154600684015460018501546001600160a01b039081166000908152609a6020526040812054949550921692612a089190614323565b60018501546001600160a01b03166000908152609a6020526040812080549293508392909190612a399084906154c3565b90915550506001840154604051600080516020615ee883398151915291612a6f916001600160a01b0390911690849089906154d6565b60405180910390a16003840154604080518581526001600160a01b03909216602083015286917f9ccbeffc442024e2a6ade18ff0978af9a4c4d6562ae38adb51ccf8256cf42b41910160405180910390a2600085815260a66020526040812080546001600160a01b03199081168255600182018054909116905590612af760028301826147af565b6003820180546001600160a01b0319169055612b176004830160006147af565b600060058301819055600683018190556007830180546001600160401b0319169055612b479060088401906147af565b50600060098201819055600a820180546001600160c01b0319169055600b8201819055600c90910181905585815260a760205260408082206001908101805460ff19169091179055516001600160a01b0384169085908381818185875af1925050503d8060008114612bd5576040519150601f19603f3d011682016040523d82523d6000602084013e612bda565b606091505b5050905080612c145760405162461bcd60e51b8152602060048201526006602482015265131090cc0d0d60d21b60448201526064016102c3565b5050505050612c236001606555565b50565b612c2f336144ab565b612c4b5760405162461bcd60e51b81526004016102c3906159a7565b3360009081526099602052604081208054349290612c6a9084906156c6565b90915550506040517f456e0f4ea86ac283092c750200e8c877f6ad8901ae575f90e02081acd455af84906119359033903490615796565b600061094a82613cbd565b612cb5336144ab565b612cd15760405162461bcd60e51b81526004016102c3906159a7565b611f17333461433b565b612ce3613c64565b612cec3361446c565b612d085760405162461bcd60e51b81526004016102c3906159a7565b600085815260a7602052604090206001015460ff1615612d3a5760405162461bcd60e51b81526004016102c390615b39565b600085815260a66020526040902080546001600160a01b0316612d6f5760405162461bcd60e51b81526004016102c390615b59565b60405162f5b49160e01b815260009073__BtcUtils______________________________9062f5b49190612da7908990600401615b79565b600060405180830381865af4158015612dc4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612dec9190810190615b8c565b9050600073__BtcUtils______________________________632d56f32383600181518110612e1d57612e1d6159c7565b6020026020010151602001516040518263ffffffff1660e01b8152600401612e459190615b79565b600060405180830381865af4158015612e62573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612e8a9190810190615a6f565b905080516021148015612ec2575080600081518110612eab57612eab6159c7565b6020910101516001600160f81b031916600160fd1b145b612ef75760405162461bcd60e51b81526020600482015260066024820152654c424330373560d01b60448201526064016102c3565b60005b60018251612f0891906154c3565b8160ff161015612f7a5781612f1e826001615c9f565b60ff1681518110612f3157612f316159c7565b602001015160f81c60f81b828260ff1681518110612f5157612f516159c7565b60200101906001600160f81b031916908160001a90535080612f7281615cb8565b915050612efa565b50600081806020019051810190612f919190615cd7565b9050808914612fcb5760405162461bcd60e51b81526020600482015260066024820152654c424330363960d01b60448201526064016102c3565b60018401546001600160a01b031633146130105760405162461bcd60e51b815260206004820152600660248201526509884866068760d31b60448201526064016102c3565b600a84015460975460405163fea8ba6360e01b8152600160501b90920461ffff16916001600160a01b0390911690635b6445879073__BtcUtils______________________________9063fea8ba639061306e908e90600401615b79565b602060405180830381865af415801561308b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130af9190615cd7565b8a8a8a6040518563ffffffff1660e01b81526004016130d19493929190615cf0565b602060405180830381865afa1580156130ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131129190615cd7565b12156131495760405162461bcd60e51b81526020600482015260066024820152654c424330343960d01b60448201526064016102c3565b8260008151811061315c5761315c6159c7565b6020026020010151600001516402540be4006131789190615d4c565b6001600160401b0316846009015411156131bd5760405162461bcd60e51b81526020600482015260066024820152654c424330363760d01b60448201526064016102c3565b600073__BtcUtils______________________________634c03fe59856000815181106131ec576131ec6159c7565b602090810291909101810151015160a4546040516001600160e01b031960e085901b168152613222929160ff1690600401615d77565b600060405180830381865af415801561323f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526132679190810190615a6f565b90508080519060200120856008016040516132829190615d9b565b6040518091039020146132c05760405162461bcd60e51b81526020600482015260066024820152650988486606c760d31b60448201526064016102c3565b604080516102608101825286546001600160a01b0390811682526001880154166020820152600287018054613571938992908401916132fe9061585f565b80601f016020809104026020016040519081016040528092919081815260200182805461332a9061585f565b80156133775780601f1061334c57610100808354040283529160200191613377565b820191906000526020600020905b81548152906001019060200180831161335a57829003601f168201915b505050918352505060038201546001600160a01b031660208201526004820180546040909201916133a79061585f565b80601f01602080910402602001604051908101604052809291908181526020018280546133d39061585f565b80156134205780601f106133f557610100808354040283529160200191613420565b820191906000526020600020905b81548152906001019060200180831161340357829003601f168201915b50505091835250506005820154602082015260068201546040820152600780830154900b606082015260088201805460809092019161345e9061585f565b80601f016020809104026020016040519081016040528092919081815260200182805461348a9061585f565b80156134d75780601f106134ac576101008083540402835291602001916134d7565b820191906000526020600020905b8154815290600101906020018083116134ba57829003601f168201915b505050918352505060098201546020820152600a82015463ffffffff8082166040840152600160201b82048116606084015261ffff600160401b830481166080850152600160501b83041660a0840152600160601b8204811660c0840152600160801b8204811660e0840152600160a01b90910416610100820152600b820154610120820152600c9091015461014090910152838a6145fa565b1561361457600685015460018601546001600160a01b03166000908152609a602052604081205490916135a391614323565b60018701546001600160a01b03166000908152609a60205260408120805492935083929091906135d49084906154c3565b90915550506001860154604051600080516020615ee88339815191529161360a916001600160a01b0390911690849087906154d6565b60405180910390a1505b6001850154600586015460098701546000926001600160a01b031691613639916156c6565b604051600081818185875af1925050503d8060008114613675576040519150601f19603f3d011682016040523d82523d6000602084013e61367a565b606091505b50509050806136b45760405162461bcd60e51b815260206004820152600660248201526504c42433035360d41b60448201526064016102c3565b6136c286600b01548c61439a565b600083815260a66020526040812080546001600160a01b031990811682556001820180549091169055906136f960028301826147af565b6003820180546001600160a01b03191690556137196004830160006147af565b600060058301819055600683018190556007830180546001600160401b03191690556137499060088401906147af565b50600060098201819055600a820180546001600160c01b0319169055600b8201819055600c90910181905583815260a760205260408082206001908101805460ff191690911790555184917fb781856ec73fd0dc39351043d1634ea22cd3277b0866ab93e7ec1801766bb38491a25050505050506137c76001606555565b5050505050565b6040805161026080820183526000808352602080840182905260608486018190528085018390526080850181905260a0850183905260c0850183905260e0850183905261010085015261012084018290526101408401829052610160840182905261018084018290526101a084018290526101c084018290526101e0840182905261020084018290526102208401829052610240840182905285825260a68152908490208451928301855280546001600160a01b039081168452600182015416918301919091526002810180549394929391928401916138ad9061585f565b80601f01602080910402602001604051908101604052809291908181526020018280546138d99061585f565b80156139265780601f106138fb57610100808354040283529160200191613926565b820191906000526020600020905b81548152906001019060200180831161390957829003601f168201915b505050918352505060038201546001600160a01b031660208201526004820180546040909201916139569061585f565b80601f01602080910402602001604051908101604052809291908181526020018280546139829061585f565b80156139cf5780601f106139a4576101008083540402835291602001916139cf565b820191906000526020600020905b8154815290600101906020018083116139b257829003601f168201915b50505091835250506005820154602082015260068201546040820152600780830154900b6060820152600882018054608090920191613a0d9061585f565b80601f0160208091040260200160405190810160405280929190818152602001828054613a399061585f565b8015613a865780601f10613a5b57610100808354040283529160200191613a86565b820191906000526020600020905b815481529060010190602001808311613a6957829003601f168201915b505050918352505060098201546020820152600a82015463ffffffff8082166040840152600160201b82048116606084015261ffff600160401b830481166080850152600160501b83041660a0840152600160601b8204811660c0840152600160801b8204811660e0840152600160a01b90910416610100820152600b820154610120820152600c909101546101409091015292915050565b613b276144ea565b6001600160a01b038116613b8c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102c3565b612c2381614549565b80516000906001600160a01b03163014613bda5760405162461bcd60e51b8152602060048201526006602482015265262121981a9b60d11b60448201526064016102c3565b60405163025018e760e31b815273__QuotesV2______________________________90631280c73890613c1190859060040161528f565b600060405180830381865af4158015613c2e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c569190810190615a6f565b805190602001209050919050565b600260655403613cb65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102c3565b6002606555565b600081602001516001600160a01b0316306001600160a01b031614613d0d5760405162461bcd60e51b81526020600482015260066024820152654c424330353160d01b60448201526064016102c3565b6101008201516097546001600160a01b03918216911603613d595760405162461bcd60e51b8152602060048201526006602482015265262121981a9960d11b60448201526064016102c3565b81606001515160151480613d7257508160600151516021145b613da75760405162461bcd60e51b81526020600482015260066024820152654c424330353360d01b60448201526064016102c3565b8160a0015151601514613de55760405162461bcd60e51b8152602060048201526006602482015265131090cc0d4d60d21b60448201526064016102c3565b609f548261026001518361024001518460c00151856101800151613e0991906156c6565b613e1391906156c6565b613e1d91906156c6565b1015613e545760405162461bcd60e51b81526020600482015260066024820152654c424330353560d01b60448201526064016102c3565b816101c0015163ffffffff16826101a0015163ffffffff16613e769190615e11565b6001600160401b031663ffffffff1015613ebb5760405162461bcd60e51b81526020600482015260066024820152654c424330373160d01b60448201526064016102c3565b60405162773b7960e01b815273__QuotesV2______________________________9062773b7990613c11908590600401615e31565b609754606086015160a08701516000848152609c602052604081205490936001600160a01b031692636adc013392899288928a92899230919063ffffffff1615801590613f52575060008b8152609c6020526040902054600160201b900460ff165b6040518963ffffffff1660e01b8152600401613f75989796959493929190615e44565b6020604051808303816000875af1158015613f94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fb89190615cd7565b9695505050505050565b6000808413801561400657508461026001518561024001518660c00151876101800151613fef91906156c6565b613ff991906156c6565b61400391906156c6565b84105b15614013575060006118b2565b60975460405163bd0c1fff60e01b8152600481018490526000916001600160a01b03169063bd0c1fff90602401600060405180830381865afa15801561405d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526140859190810190615a6f565b905060008151116140cf5760405162461bcd60e51b8152602060048201526014602482015273125b9d985b1a5908189b1bd8dac81a195a59da1d60621b60448201526064016102c3565b6040516328335c3f60e21b815260009073__BtcUtils______________________________9063a0cd70fc90614109908590600401615b79565b602060405180830381865af4158015614126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061414a9190615cd7565b90506000876101c00151886101a001516141649190615b15565b63ffffffff1690508082111561418057600093505050506118b2565b8560000361419457600193505050506118b2565b6097546102008901516000916001600160a01b03169063bd0c1fff906001906141c19061ffff168a6156c6565b6141cb91906154c3565b6040518263ffffffff1660e01b81526004016141e991815260200190565b600060405180830381865afa158015614206573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261422e9190810190615a6f565b9050600081511161426a5760405162461bcd60e51b81526020600482015260066024820152650988486606a760d31b60448201526064016102c3565b6040516328335c3f60e21b815260009073__BtcUtils______________________________9063a0cd70fc906142a4908590600401615b79565b602060405180830381865af41580156142c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142e59190615cd7565b9050896101e0015163ffffffff16816142fe91906156c6565b881115614313576001955050505050506118b2565b5060009998505050505050505050565b60008183106143325781614334565b825b9392505050565b6001600160a01b038216600090815260986020526040812080548392906143639084906156c6565b90915550506040517f42cfb81a915ac5a674852db250bf722637bee705a267633b68cab3a2dde06f539061124e9084908490615796565b81156144685760a9546040516000916001600160a01b03169084908381818185875af1925050503d80600081146143ed576040519150601f19603f3d011682016040523d82523d6000602084013e6143f2565b606091505b505090508061442c5760405162461bcd60e51b8152602060048201526006602482015265131090cc0dcd60d21b60448201526064016102c3565b817f58e13ac0d5c8d27d14009841e72ac8b1858e2709c2c99af2075d9bb5f340ecfc8460405161445e91815260200190565b60405180910390a2505b5050565b6001600160a01b0381166000908152609a60205260408120541580159061094a5750506001600160a01b03166000908152609d60205260409020541590565b6001600160a01b0381166000908152609960205260408120541580159061094a5750506001600160a01b03166000908152609d60205260409020541590565b336144f36128ea565b6001600160a01b031614611f175760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102c3565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216600090815260986020526040812080548392906145c39084906154c3565b90915550506040517f8e51a4493a6f66c76e13fd9e3b754eafbfe21343c04508deb61be8ccc00645879061124e9084908490615796565b6097546040516339cf1b2560e11b81526004810183905260009182916001600160a01b039091169063739e364a90602401600060405180830381865afa158015614648573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526146709190810190615a6f565b905060008151116146ac5760405162461bcd60e51b81526020600482015260066024820152654c424330353960d01b60448201526064016102c3565b6040516328335c3f60e21b815260009073__BtcUtils______________________________9063a0cd70fc906146e6908590600401615b79565b602060405180830381865af4158015614703573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147279190615cd7565b60a3546101c0880151600088815260a7602052604090205492935090916147549163ffffffff16906156c6565b61475e91906156c6565b81111561477057600192505050614334565b856101e0015163ffffffff16421180614793575085610200015163ffffffff1643115b156147a357600192505050614334565b50600095945050505050565b5080546147bb9061585f565b6000825580601f106147cb575050565b601f016020900490600052602060002090810190612c2391905b808211156147f957600081556001016147e5565b5090565b634e487b7160e01b600052604160045260246000fd5b60405161026081016001600160401b0381118282101715614836576148366147fd565b60405290565b60405161028081016001600160401b0381118282101715614836576148366147fd565b604051608081016001600160401b0381118282101715614836576148366147fd565b604051601f8201601f191681016001600160401b03811182821017156148a9576148a96147fd565b604052919050565b6001600160a01b0381168114612c2357600080fd5b803561242c816148b1565b60006001600160401b038211156148ea576148ea6147fd565b50601f01601f191660200190565b600082601f83011261490957600080fd5b813561491c614917826148d1565b614881565b81815284602083860101111561493157600080fd5b816020850160208301376000918101602001919091529392505050565b8035600781900b811461242c57600080fd5b803563ffffffff8116811461242c57600080fd5b803561ffff8116811461242c57600080fd5b6000610260828403121561499957600080fd5b6149a1614813565b90506149ac826148c6565b81526149ba602083016148c6565b602082015260408201356001600160401b03808211156149d957600080fd5b6149e5858386016148f8565b60408401526149f6606085016148c6565b60608401526080840135915080821115614a0f57600080fd5b614a1b858386016148f8565b608084015260a084013560a084015260c084013560c0840152614a4060e0850161494e565b60e084015261010091508184013581811115614a5b57600080fd5b614a67868287016148f8565b83850152505050610120808301358183015250610140614a88818401614960565b90820152610160614a9a838201614960565b90820152610180614aac838201614974565b908201526101a0614abe838201614974565b908201526101c0614ad0838201614960565b908201526101e0614ae2838201614960565b90820152610200614af4838201614960565b9082015261022082810135908201526102409182013591810191909152919050565b600060208284031215614b2857600080fd5b81356001600160401b03811115614b3e57600080fd5b6118b284828501614986565b60008060408385031215614b5d57600080fd5b823591506020830135614b6f816148b1565b809150509250929050565b80356001600160601b03198116811461242c57600080fd5b8015158114612c2357600080fd5b803561242c81614b92565b60006102808284031215614bbe57600080fd5b614bc661483c565b9050614bd182614b7a565b8152614bdf602083016148c6565b6020820152614bf0604083016148c6565b604082015260608201356001600160401b0380821115614c0f57600080fd5b614c1b858386016148f8565b6060840152614c2c608085016148c6565b608084015260a0840135915080821115614c4557600080fd5b614c51858386016148f8565b60a084015260c084013560c084015260e084013560e08401526101009150614c7a8285016148c6565b8284015261012091508184013581811115614c9457600080fd5b614ca0868287016148f8565b83850152505050610140614cb5818401614960565b90820152610160614cc783820161494e565b9082015261018082810135908201526101a0614ce4818401614960565b908201526101c0614cf6838201614960565b908201526101e0614d08838201614960565b90820152610200614d1a838201614974565b90820152610220614d2c838201614ba0565b9082015261024082810135908201526102609182013591810191909152919050565b600080600080600060a08688031215614d6657600080fd5b85356001600160401b0380821115614d7d57600080fd5b614d8989838a01614bab565b96506020880135915080821115614d9f57600080fd5b614dab89838a016148f8565b95506040880135915080821115614dc157600080fd5b614dcd89838a016148f8565b94506060880135915080821115614de357600080fd5b50614df0888289016148f8565b95989497509295608001359392505050565b600060208284031215614e1457600080fd5b5035919050565b60008060008060808587031215614e3157600080fd5b84356001600160401b0380821115614e4857600080fd5b614e54888389016148f8565b95506020870135915080821115614e6a57600080fd5b614e76888389016148f8565b945060408701359150614e8882614b92565b90925060608601359080821115614e9e57600080fd5b50614eab878288016148f8565b91505092959194509250565b600060208284031215614ec957600080fd5b8135614334816148b1565b60006001600160401b03821115614eed57614eed6147fd565b5060051b60200190565b60006020808385031215614f0a57600080fd5b82356001600160401b03811115614f2057600080fd5b8301601f81018513614f3157600080fd5b8035614f3f61491782614ed4565b81815260059190911b82018301908381019087831115614f5e57600080fd5b928401925b82841015614f7c57833582529284019290840190614f63565b979650505050505050565b6001600160a01b03169052565b60005b83811015614faf578181015183820152602001614f97565b50506000910152565b60008151808452614fd0816020860160208601614f94565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156150a557888303603f19018552815180518452878101516001600160a01b0316888501528681015160c08886018190529061504c82870182614fb8565b915050606080830151868303828801526150668382614fb8565b925050506080808301511515818701525060a080830151925085820381870152506150918183614fb8565b96890196945050509086019060010161500b565b509098975050505050505050565b6001600160a01b0391909116815260200190565b600080604083850312156150da57600080fd5b823591506020830135614b6f81614b92565b600080604083850312156150ff57600080fd5b82356001600160401b038082111561511657600080fd5b61512286838701614bab565b9350602085013591508082111561513857600080fd5b50615145858286016148f8565b9150509250929050565b60006020828403121561516157600080fd5b81356001600160401b0381111561517757600080fd5b6118b284828501614bab565b6000806040838503121561519657600080fd5b82356001600160401b03808211156151ad57600080fd5b61512286838701614986565b600080600080600060a086880312156151d157600080fd5b853594506020808701356001600160401b03808211156151f057600080fd5b6151fc8a838b016148f8565b96506040890135955060608901359450608089013591508082111561522057600080fd5b508701601f8101891361523257600080fd5b803561524061491782614ed4565b81815260059190911b8201830190838101908b83111561525f57600080fd5b928401925b8284101561527d57833582529284019290840190615264565b80955050505050509295509295909350565b602081526152a1602082018351614f87565b600060208301516152b56040840182614f87565b5060408301516102608060608501526152d2610280850183614fb8565b915060608501516152e66080860182614f87565b506080850151601f19808685030160a08701526153038483614fb8565b935060a087015160c087015260c087015160e087015260e087015191506101006153318188018460070b9052565b8088015192505061012081878603018188015261534e8584614fb8565b90880151610140888101919091528801519094509150610160905061537a8187018363ffffffff169052565b86015190506101806153938682018363ffffffff169052565b86015190506101a06153aa8682018361ffff169052565b86015190506101c06153c18682018361ffff169052565b86015190506101e06153da8682018363ffffffff169052565b86015190506102006153f38682018363ffffffff169052565b860151905061022061540c8682018363ffffffff169052565b860151610240868101919091529095015193019290925250919050565b60208082526006908201526509884866064760d31b604082015260600190565b60018060a01b03841681528260208201526060604082015260006111596060830184614fb8565b60006020828403121561548257600080fd5b815161433481614b92565b6020808252600690820152654c424330323960d01b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561094a5761094a6154ad565b6001600160a01b039390931683526020830191909152604082015260600190565b808202811582820484141761094a5761094a6154ad565b634e487b7160e01b600052601260045260246000fd5b6000826155335761553361550e565b500490565b80516001600160601b03191682526000610280602083015161555d6020860182614f87565b5060408301516155706040860182614f87565b50606083015181606086015261558882860182614fb8565b915050608083015161559d6080860182614f87565b5060a083015184820360a08601526155b58282614fb8565b91505060c083015160c085015260e083015160e0850152610100808401516155df82870182614f87565b505061012080840151858303828701526155f98382614fb8565b92505050610140808401516156158287018263ffffffff169052565b50506101608084015161562c8287018260070b9052565b505061018083810151908501526101a08084015163ffffffff908116918601919091526101c0808501518216908601526101e080850151909116908501526102008084015161ffff16908501526102208084015115159085015261024080840151908501526102609283015192909301919091525090565b6040815260006156b76040830185615538565b90508260208301529392505050565b8082018082111561094a5761094a6154ad565b6001600160a01b03949094168452602084019290925215156040830152606082015260800190565b60008251615713818460208701614f94565b9190910192915050565b63ffffffff8616815284602082015260a06040820152600061574260a0830186614fb8565b931515606083015250608001529392505050565b6020808252600690820152654c424330313960d01b604082015260600190565b60208082526006908201526504c42433032360d41b604082015260600190565b6001600160a01b03929092168252602082015260400190565b6020808252600690820152654c424330323160d01b604082015260600190565b60208082526006908201526526212198191960d11b604082015260600190565b643832b3b4b760d91b815260050190565b651c1959dbdd5d60d21b815260060190565b60208082526006908201526509884866060760d31b604082015260600190565b6000826158415761584161550e565b500690565b600060018201615858576158586154ad565b5060010190565b600181811c9082168061587357607f821691505b60208210810361589357634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156158e357600081815260208120601f850160051c810160208610156158c05750805b601f850160051c820191505b818110156158df578281556001016158cc565b5050505b505050565b81516001600160401b03811115615901576159016147fd565b6159158161590f845461585f565b84615899565b602080601f83116001811461594a57600084156159325750858301515b600019600386901b1c1916600185901b1785556158df565b600085815260208120601f198616915b828110156159795788860151825594840194600190910190840161595a565b50858210156159975787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020808252600690820152654c424330303160d01b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b848152600084516159f5816020850160208901614f94565b808301905060018060601b0319851660208201528351615a1c816034840160208801614f94565b016034019695505050505050565b600082601f830112615a3b57600080fd5b8151615a49614917826148d1565b818152846020838601011115615a5e57600080fd5b6118b2826020830160208701614f94565b600060208284031215615a8157600080fd5b81516001600160401b03811115615a9757600080fd5b6118b284828501615a2a565b600160fd1b8152826001820152607560f81b602182015260008251615acf816022850160208701614f94565b919091016022019392505050565b606081526000615af06060830186614fb8565b8281036020840152615b028186614fb8565b9150508215156040830152949350505050565b63ffffffff818116838216019080821115615b3257615b326154ad565b5092915050565b602080825260069082015265131090cc0d8d60d21b604082015260600190565b602080825260069082015265262121981a1960d11b604082015260600190565b6020815260006143346020830184614fb8565b60006020808385031215615b9f57600080fd5b82516001600160401b0380821115615bb657600080fd5b818501915085601f830112615bca57600080fd5b8151615bd861491782614ed4565b81815260059190911b83018401908481019088831115615bf757600080fd5b8585015b83811015615c9257805185811115615c135760008081fd5b86016080818c03601f1901811315615c2b5760008081fd5b615c3361485f565b898301518881168114615c465760008081fd5b815260408381015189811115615c5c5760008081fd5b615c6a8f8d83880101615a2a565b838d015250606084810151918301919091529190920151908201528352918601918601615bfb565b5098975050505050505050565b60ff818116838216019081111561094a5761094a6154ad565b600060ff821660ff8103615cce57615cce6154ad565b60010192915050565b600060208284031215615ce957600080fd5b5051919050565b600060808201868352602086818501528560408501526080606085015281855180845260a086019150828701935060005b81811015615d3d57845183529383019391830191600101615d21565b50909998505050505050505050565b6001600160401b03818116838216028082169190828114615d6f57615d6f6154ad565b505092915050565b604081526000615d8a6040830185614fb8565b905082151560208301529392505050565b6000808354615da98161585f565b60018281168015615dc15760018114615dd657615e05565b60ff1984168752821515830287019450615e05565b8760005260208060002060005b85811015615dfc5781548a820152908401908201615de3565b50505082870194505b50929695505050505050565b6001600160401b03818116838216019080821115615b3257615b326154ad565b6020815260006143346020830184615538565b6000610100808352615e588184018c614fb8565b90508960208401528281036040840152615e72818a614fb8565b90508760608401528281036080840152615e8c8188614fb8565b6001600160a01b03871660a085015283810360c08501529050615eaf8186614fb8565b91505082151560e0830152999850505050505050505056fe3052ea2f7e0d74fdc1c1e1f858ff1ae3d91ab1609717c3efedb95db603b255f69685484093cc596fdaeab51abf645b1753dbb7d869bfd2eb21e2c646e47a36f4bfc7404e6fe464f0646fe2c6ab942b92d56be722bb39f8c6bc4830d2d32fb80da2646970667358221220833b92078494044fc59b649cfe3df801f21d42d1f05bb5584eb9540f3a6b8b2f64736f6c63430008120033", + "deployedBytecode": "0x60806040526004361061027f5760003560e01c806304ade855146102d35780630a7bf57a146102ff5780630a9cb4a71461031457806322140009146103335780632490fe36146103535780632d67952c146103955780632e1a7d4d146103b557806333f07ad3146103d557806335510a7d146103ea57806341705518146103ff578063418663a2146104125780634198687e1461043c578063457385f2146104445780634d0ec9711461047457806354015ee01461049457806359c153be146104c757806363c67135146104dc578063668dbd83146104f257806369652fcf1461051f578063710738b114610534578063715018a61461056157806372cbf4e81461057657806379b9550b146105965780637aefa8c2146105b65780638490a8df146105c95780638beb537a146105df5780638d597939146105f25780638da5cb5b146106095780638f91797d1461061e5780639b56d6c91461063e5780639cd6557f146106745780639d79b59b146106895780639e816999146106b2578063a4a5ba50146106ba578063a93bb247146106cf578063ae76ce86146106e6578063ae93b67b146106fd578063b3a849aa14610714578063bd519eff14610734578063bd5798c31461076a578063be6de4eb1461078c578063c525cdd8146107a1578063c7213163146107b8578063cfb92f0a146107d3578063d0e30db0146107ea578063d6c70de8146107f2578063e1de16c614610812578063e30e6ea314610828578063e78cea921461083e578063e830b6901461085e578063e8fcce7114610873578063e90d2ddb14610889578063f2fde38b146108b6578063f8b2cb4f146108d6578063fa88dcde1461090c578063fb32c5081461092157600080fd5b366102ce576097546001600160a01b031633146102cc5760405162461bcd60e51b81526020600482015260066024820152654c424330303760d01b60448201526064015b60405180910390fd5b005b600080fd5b3480156102df57600080fd5b506102e8600181565b60405160ff90911681526020015b60405180910390f35b34801561030b57600080fd5b506102e8600281565b34801561032057600080fd5b5060a2545b6040519081526020016102f6565b34801561033f57600080fd5b5061032561034e366004614b16565b61093f565b34801561035f57600080fd5b506102cc61036e366004614b4a565b60a89190915560a980546001600160a01b0319166001600160a01b03909216919091179055565b3480156103a157600080fd5b506103256103b0366004614d4e565b610950565b3480156103c157600080fd5b506102cc6103d0366004614e02565b611162565b3480156103e157600080fd5b5060a154610325565b3480156103f657600080fd5b506102cc61125a565b61032561040d366004614e1b565b611388565b34801561041e57600080fd5b506104296101301981565b60405160019190910b81526020016102f6565b6102cc6118ba565b34801561045057600080fd5b5061046461045f366004614eb7565b61193f565b60405190151581526020016102f6565b34801561048057600080fd5b5061046461048f366004614eb7565b611975565b3480156104a057600080fd5b506104646104af366004614e02565b600090815260a7602052604090206001015460ff1690565b3480156104d357600080fd5b506102cc6119ab565b3480156104e857600080fd5b5061032560a85481565b3480156104fe57600080fd5b5061051261050d366004614ef7565b611ad9565b6040516102f69190614fe4565b34801561052b57600080fd5b506102cc611e5a565b34801561054057600080fd5b5060a954610554906001600160a01b031681565b6040516102f691906150b3565b34801561056d57600080fd5b506102cc611f05565b34801561058257600080fd5b506102cc6105913660046150c7565b611f19565b3480156105a257600080fd5b506104646105b13660046150ec565b611fb3565b6104646105c436600461514f565b61211f565b3480156105d557600080fd5b5061032560a25481565b6102cc6105ed366004615183565b612431565b3480156105fe57600080fd5b5061042961012c1981565b34801561061557600080fd5b506105546128ea565b34801561062a57600080fd5b506102cc610639366004614e02565b6128f9565b34801561064a57600080fd5b50610325610659366004614eb7565b6001600160a01b031660009081526099602052604090205490565b34801561068057600080fd5b506102e8600081565b34801561069557600080fd5b5061069f6188b881565b60405161ffff90911681526020016102f6565b6102cc612c26565b3480156106c657600080fd5b50610325600181565b3480156106db57600080fd5b5061042961012d1981565b3480156106f257600080fd5b5061042961012b1981565b34801561070957600080fd5b506104296103831981565b34801561072057600080fd5b5061032561072f36600461514f565b612ca1565b34801561074057600080fd5b5061032561074f366004614eb7565b6001600160a01b03166000908152609a602052604090205490565b34801561077657600080fd5b5060a054600160201b900463ffffffff16610325565b34801561079857600080fd5b50610325600081565b3480156107ad57600080fd5b5061042961012e1981565b3480156107c457600080fd5b5060a05463ffffffff16610325565b3480156107df57600080fd5b5061042961012f1981565b6102cc612cac565b3480156107fe57600080fd5b506102cc61080d3660046151b9565b612cdb565b34801561081e57600080fd5b5061069f6108fc81565b34801561083457600080fd5b5061042960c71981565b34801561084a57600080fd5b50609754610554906001600160a01b031681565b34801561086a57600080fd5b50609e54610325565b34801561087f57600080fd5b5061042960631981565b34801561089557600080fd5b506108a96108a4366004614e02565b6137ce565b6040516102f6919061528f565b3480156108c257600080fd5b506102cc6108d1366004614eb7565b613b1f565b3480156108e257600080fd5b506103256108f1366004614eb7565b6001600160a01b031660009081526098602052604090205490565b34801561091857600080fd5b50609f54610325565b34801561092d57600080fd5b506097546001600160a01b0316610554565b600061094a82613b95565b92915050565b600061095a613c64565b600061096587613cbd565b600081815260a56020526040902054909150600160ff909116111561099c5760405162461bcd60e51b81526004016102c390615429565b60408088015190516301a86b5560e41b815273__SignatureValidator____________________91631a86b550916109db919085908b90600401615449565b602060405180830381865af41580156109f8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1c9190615470565b610a385760405162461bcd60e51b81526004016102c39061548d565b637fffffff8310610a745760405162461bcd60e51b815260206004820152600660248201526504c42433033360d41b60448201526064016102c3565b6000610a838887878786613ef0565b905061012f8101610abf5760405162461bcd60e51b81526020600482015260066024820152654c424330333160d01b60448201526064016102c3565b61012e8101610af95760405162461bcd60e51b815260206004820152600660248201526526212198199960d11b60448201526064016102c3565b6101308101610b335760405162461bcd60e51b81526020600482015260066024820152654c424330333360d01b60448201526064016102c3565b6101318101610b6d5760405162461bcd60e51b8152602060048201526006602482015265131090cc0ccd60d21b60448201526064016102c3565b6103848101610ba75760405162461bcd60e51b81526020600482015260066024820152654c424330333560d01b60448201526064016102c3565b6000811380610bb7575060c71981145b80610bc3575060631981145b610bf85760405162461bcd60e51b815260206004820152600660248201526526212198199b60d11b60448201526064016102c3565b6000828152609c6020526040902054610c1b908990839063ffffffff1687613fc2565b15610cec5760e08801516040808a01516001600160a01b031660009081526099602052908120549091610c4d91614323565b905080609960008b604001516001600160a01b03166001600160a01b031681526020019081526020016000206000828254610c8891906154c3565b90915550506040808a01519051600080516020615ee883398151915291610cb291849087906154d6565b60405180910390a160a054600090606490610cd39063ffffffff16846154f7565b610cdd9190615524565b9050610ce9338261433b565b50505b60c719811480610cfd575060631981145b15610d7157600082815260a560209081526040808320805460ff19166002179055609c825291829020805464ffffffffff1916905581518481529081018390527ffb209329d5ab5b7bcb2e92f45f4534814b6e68fa5ad1f171dabc1d17d26f0ebe910160405180910390a1915061114f9050565b60405163fa6ea3e760e01b8152819073__QuotesV2______________________________9063fa6ea3e790610dac908c9085906004016156a4565b60006040518083038186803b158015610dc457600080fd5b505af4158015610dd8573d6000803e3d6000fd5b5050506000848152609c602052604090205463ffffffff16159050610f43576000838152609c6020526040812054600160201b900460ff1615610e4a57610e43828b61026001518c60c001518d6101800151610e3491906156c6565b610e3e91906156c6565b614323565b9050610e66565b610e63828b61026001518c60c00151610e3e91906156c6565b90505b610e748a604001518261433b565b6000610e8082846154c3565b9050610e918b61024001518661439a565b60a154811115610f3c5760808b01516040516000916001600160a01b0316906108fc90849084818181858888f193505050503d8060008114610eef576040519150601f19603f3d011682016040523d82523d6000602084013e610ef4565b606091505b50509050600080516020615ec88339815191528c60800151838389604051610f1f94939291906156d9565b60405180910390a180610f3a57610f3a8c604001518361433b565b505b50506110e8565b61022089015181908015610f5c57508961018001518110155b1561104e5760008a61010001516001600160a01b03168b610140015163ffffffff168c61018001518d6101200151604051610f979190615701565b600060405180830381858888f193505050503d8060008114610fd5576040519150601f19603f3d011682016040523d82523d6000602084013e610fda565b606091505b505090508a61010001516001600160a01b0316336001600160a01b0316600080516020615f088339815191528d61014001518e61018001518f6101200151868b60405161102b95949392919061571d565b60405180910390a3801561104c576101808b015161104990836154c3565b91505b505b60a1548111156110e65760808a01516040516000916001600160a01b0316906108fc90849084818181858888f193505050503d80600081146110ac576040519150601f19603f3d011682016040523d82523d6000602084013e6110b1565b606091505b50509050600080516020615ec88339815191528b608001518383886040516110dc94939291906156d9565b60405180910390a1505b505b600083815260a560209081526040808320805460ff19166002179055609c825291829020805464ffffffffff19169055905183815284917f0629ae9d1dc61501b0ca90670a9a9b88daaf7504b54537b53e1219de794c63d2910160405180910390a2509150505b6111596001606555565b95945050505050565b336000908152609860205260409020548111156111915760405162461bcd60e51b81526004016102c390615756565b33600090815260986020526040812080548392906111b09084906154c3565b9091555050604051600090339083908381818185875af1925050503d80600081146111f7576040519150601f19603f3d011682016040523d82523d6000602084013e6111fc565b606091505b505090508061121d5760405162461bcd60e51b81526004016102c390615776565b7f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65338360405161124e929190615796565b60405180910390a15050565b336000908152609d60205260409020546112865760405162461bcd60e51b81526004016102c3906157af565b60a054336000908152609d6020526040902054600160201b90910463ffffffff16906112b290436154c3565b10156112d05760405162461bcd60e51b81526004016102c3906157cf565b336000818152609a60209081526040808320805490849055609d9092528083208390555190929083908381818185875af1925050503d8060008114611331576040519150601f19603f3d011682016040523d82523d6000602084013e611336565b606091505b50509050806113575760405162461bcd60e51b81526004016102c390615776565b7ffc72299650b405e7b0480ca8fb0fb3948fb10a77ac02f797cc9de1f4aaa55db7338360405161124e929190615796565b60003233146113c25760405162461bcd60e51b81526020600482015260066024820152654c424330303360d01b60448201526064016102c3565b60008551116113fc5760405162461bcd60e51b815260206004820152600660248201526504c42433031360d41b60448201526064016102c3565b60008451116114365760405162461bcd60e51b81526020600482015260066024820152654c424330313760d01b60448201526064016102c3565b604051602001611445906157ef565b604051602081830303815290604052805190602001208260405160200161146c9190615701565b6040516020818303038152906040528051906020012014806114d7575060405160200161149890615800565b60405160208183030381529060405280519060200120826040516020016114bf9190615701565b60405160208183030381529060405280519060200120145b8061152f5750604051630c4dee8d60e31b602082015260240160405160208183030381529060405280519060200120826040516020016115179190615701565b60405160208183030381529060405280519060200120145b6115645760405162461bcd60e51b815260206004820152600660248201526509884866062760d31b60448201526064016102c3565b3360009081526099602052604090205415801561158e5750336000908152609a6020526040902054155b6115c35760405162461bcd60e51b815260206004820152600660248201526504c42433037360d41b60448201526064016102c3565b336000908152609d6020526040902054156116095760405162461bcd60e51b81526020600482015260066024820152654c424330303960d01b60448201526064016102c3565b604051602001611618906157ef565b604051602081830303815290604052805190602001208260405160200161163f9190615701565b604051602081830303815290604052805190602001200361169357609e5434101561167c5760405162461bcd60e51b81526004016102c390615812565b336000908152609960205260409020349055611798565b6040516020016116a290615800565b60405160208183030381529060405280519060200120826040516020016116c99190615701565b604051602081830303815290604052805190602001200361171d57609e543410156117065760405162461bcd60e51b81526004016102c390615812565b336000908152609a60205260409020349055611798565b609e5461172b9060026154f7565b34101561174a5760405162461bcd60e51b81526004016102c390615812565b6000611757600234615524565b9050611764600234615832565b15611779576117748160016156c6565b61177b565b805b33600090815260996020908152604080832093909355609a905220555b60a280549060006117a883615846565b90915550506040805160c08101825260a2548082523360208084019182528385018a8152606085018a9052881515608086015260a085018890526000938452609b909152939091208251815590516001820180546001600160a01b0319166001600160a01b039092169190911790559151909190600282019061182b90826158e8565b506060820151600382019061184090826158e8565b50608082015160048201805460ff191691151591909117905560a0820151600582019061186d90826158e8565b505060a254604080519182523460208301523392507fa9d44d6e13bb3fee938c3f66d1103e91f8dc6b12d4405a55eea558e8f275aa6e910160405180910390a25060a2545b949350505050565b6118c33361446c565b6118df5760405162461bcd60e51b81526004016102c3906159a7565b336000908152609a6020526040812080543492906118fe9084906156c6565b90915550506040517f873d5a2949567203ad4f0cceef41c2813c87b9a397ee777d87a8acdaec2c6fa9906119359033903490615796565b60405180910390a1565b600061194a826144ab565b801561094a5750609e546001600160a01b038316600090815260996020526040902054101592915050565b60006119808261446c565b801561094a5750609e546001600160a01b0383166000908152609a6020526040902054101592915050565b336000908152609d60205260409020546119d75760405162461bcd60e51b81526004016102c3906157af565b60a054336000908152609d6020526040902054600160201b90910463ffffffff1690611a0390436154c3565b1015611a215760405162461bcd60e51b81526004016102c3906157cf565b336000818152609960209081526040808320805490849055609d9092528083208390555190929083908381818185875af1925050503d8060008114611a82576040519150601f19603f3d011682016040523d82523d6000602084013e611a87565b606091505b5050905080611aa85760405162461bcd60e51b81526004016102c390615776565b7fa8e76b822fc682be77f3b1c822ea81f6bda5aed92ba82e6873bfd889f328d1d2338360405161124e929190615796565b6060600082516001600160401b03811115611af657611af66147fd565b604051908082528060200260200182016040528015611b6b57816020015b611b586040518060c001604052806000815260200160006001600160a01b031681526020016060815260200160608152602001600015158152602001606081525090565b815260200190600190039081611b145790505b5090506000805b8451811015611e51576000858281518110611b8f57611b8f6159c7565b6020908102919091018101516000818152609b909252604090912060010154909150611bc3906001600160a01b03166144ab565b80611bed57506000818152609b6020526040902060010154611bed906001600160a01b031661446c565b8015611c0a57506000818152609b602052604090206004015460ff165b15611e3e576000818152609b6020908152604091829020825160c0810184528154815260018201546001600160a01b0316928101929092526002810180549293919291840191611c599061585f565b80601f0160208091040260200160405190810160405280929190818152602001828054611c859061585f565b8015611cd25780601f10611ca757610100808354040283529160200191611cd2565b820191906000526020600020905b815481529060010190602001808311611cb557829003601f168201915b50505050508152602001600382018054611ceb9061585f565b80601f0160208091040260200160405190810160405280929190818152602001828054611d179061585f565b8015611d645780601f10611d3957610100808354040283529160200191611d64565b820191906000526020600020905b815481529060010190602001808311611d4757829003601f168201915b5050509183525050600482015460ff1615156020820152600582018054604090920191611d909061585f565b80601f0160208091040260200160405190810160405280929190818152602001828054611dbc9061585f565b8015611e095780601f10611dde57610100808354040283529160200191611e09565b820191906000526020600020905b815481529060010190602001808311611dec57829003601f168201915b505050505081525050848481518110611e2457611e246159c7565b60200260200101819052508280611e3a90615846565b9350505b5080611e4981615846565b915050611b72565b50909392505050565b611e63336144ab565b611e7f5760405162461bcd60e51b81526004016102c3906159a7565b336000908152609d602052604090205415611ec55760405162461bcd60e51b81526020600482015260066024820152654c424330323360d01b60448201526064016102c3565b336000818152609d602052604090819020439055517fa6674aa33cd1b7435474751667707bf05fde99e537d67043ec5f907782577d8691611935916150b3565b611f0d6144ea565b611f176000614549565b565b81611f226128ea565b6001600160a01b0316336001600160a01b03161480611f5a57506000818152609b60205260409020600101546001600160a01b031633145b611f8f5760405162461bcd60e51b81526020600482015260066024820152654c424330303560d01b60448201526064016102c3565b506000918252609b6020526040909120600401805460ff1916911515919091179055565b600080611fbf84612ca1565b8460600151856020015160601b8660a00151604051602001611fe494939291906159dd565b604051602081830303815290604052805190602001209050600081609760009054906101000a90046001600160a01b03166001600160a01b0316631d73d5dd6040518163ffffffff1660e01b8152600401600060405180830381865afa158015612052573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261207a9190810190615a6f565b60405160200161208b929190615aa3565b60408051601f198184030181529082905260a454639b02794b60e01b835290925073__BtcUtils______________________________91639b02794b916120de918891869160ff90911690600401615add565b602060405180830381865af41580156120fb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111599190615470565b600061212a336144ab565b6121465760405162461bcd60e51b81526004016102c3906159a7565b61214e613c64565b81604001516001600160a01b0316336001600160a01b03161461219c5760405162461bcd60e51b8152602060048201526006602482015265131090cc0c8d60d21b60448201526064016102c3565b6101808201516040808401516001600160a01b03166000908152609860205220546121c89034906156c6565b10156121e65760405162461bcd60e51b81526004016102c390615756565b60006121f183613cbd565b600081815260a5602052604090205490915060ff161561223c5760405162461bcd60e51b81526020600482015260066024820152654c424330323560d01b60448201526064016102c3565b61224a83604001513461433b565b61014083015161225d906188b890615b15565b63ffffffff165a101561229b5760405162461bcd60e51b815260206004820152600660248201526526212198191b60d11b60448201526064016102c3565b60008361010001516001600160a01b031684610140015163ffffffff168561018001518661012001516040516122d19190615701565b600060405180830381858888f193505050503d806000811461230f576040519150601f19603f3d011682016040523d82523d6000602084013e612314565b606091505b509091505063ffffffff4211156123565760405162461bcd60e51b81526020600482015260066024820152654c424330323760d01b60448201526064016102c3565b6000828152609c60205260409020805463ffffffff19164263ffffffff1617905580156123b1576000828152609c602052604090819020805460ff60201b1916600160201b1790558401516101808501516123b1919061459b565b8361010001516001600160a01b0316336001600160a01b0316600080516020615f0883398151915286610140015187610180015188610120015186886040516123fe95949392919061571d565b60405180910390a3600091825260a56020526040909120805460ff19166001179055905061242c6001606555565b919050565b61243e826020015161446c565b6124735760405162461bcd60e51b81526020600482015260066024820152654c424330333760d01b60448201526064016102c3565b348261024001518361022001518460a0015185610120015161249591906156c6565b61249f91906156c6565b6124a991906156c6565b11156124e05760405162461bcd60e51b81526020600482015260066024820152654c424330363360d01b60448201526064016102c3565b81610160015163ffffffff164211156125245760405162461bcd60e51b81526020600482015260066024820152654c424330363560d01b60448201526064016102c3565b816101e0015163ffffffff164211156125685760405162461bcd60e51b8152602060048201526006602482015265262121981a1b60d11b60448201526064016102c3565b81610200015163ffffffff164311156125ac5760405162461bcd60e51b81526020600482015260066024820152654c424330343760d01b60448201526064016102c3565b60006125b78361093f565b60208401516040516301a86b5560e41b815291925073__SignatureValidator____________________91631a86b550916125f89185908790600401615449565b602060405180830381865af4158015612615573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126399190615470565b6126555760405162461bcd60e51b81526004016102c39061548d565b600081815260a66020908152604080832060a79092529091206001015460ff16156126925760405162461bcd60e51b81526004016102c390615b39565b80546001600160a01b0316156126ba5760405162461bcd60e51b81526004016102c390615429565b600082815260a66020908152604091829020865181546001600160a01b03199081166001600160a01b039283161783559288015160018301805490941691161790915590850151859190600282019061271390826158e8565b5060608201516003820180546001600160a01b0319166001600160a01b039092169190911790556080820151600482019061274e90826158e8565b5060a0820151600582015560c0820151600682015560e08201516007820180546001600160401b0319166001600160401b03909216919091179055610100820151600882019061279e90826158e8565b506101208201516009820155610140820151600a820180546101608501516101808601516101a08701516101c08801516101e08901516102008a015163ffffffff9889166001600160401b031990971696909617600160201b958916959095029490941763ffffffff60401b1916600160401b61ffff9485160261ffff60501b191617600160501b939092169290920217600160601b600160a01b031916600160601b9186169190910263ffffffff60801b191617600160801b918516919091021763ffffffff60a01b1916600160a01b9390911692909202919091179055610220820151600b82015561024090910151600c90910155600082815260a760209081526040918290204290819055825134815291820152339184917fb1bc7bfc0dab19777eb03aa0a5643378fc9f186c8fc5a36620d21136fbea570f910160405180910390a350505050565b6033546001600160a01b031690565b612901613c64565b600081815260a66020526040902080546001600160a01b03166129365760405162461bcd60e51b81526004016102c390615b59565b600a810154600160801b900463ffffffff16421180156129665750600a810154600160a01b900463ffffffff1643115b61299b5760405162461bcd60e51b81526020600482015260066024820152654c424330343160d01b60448201526064016102c3565b600081600c015482600b0154836005015484600901546129bb91906156c6565b6129c591906156c6565b6129cf91906156c6565b6003830154600684015460018501546001600160a01b039081166000908152609a6020526040812054949550921692612a089190614323565b60018501546001600160a01b03166000908152609a6020526040812080549293508392909190612a399084906154c3565b90915550506001840154604051600080516020615ee883398151915291612a6f916001600160a01b0390911690849089906154d6565b60405180910390a16003840154604080518581526001600160a01b03909216602083015286917f9ccbeffc442024e2a6ade18ff0978af9a4c4d6562ae38adb51ccf8256cf42b41910160405180910390a2600085815260a66020526040812080546001600160a01b03199081168255600182018054909116905590612af760028301826147af565b6003820180546001600160a01b0319169055612b176004830160006147af565b600060058301819055600683018190556007830180546001600160401b0319169055612b479060088401906147af565b50600060098201819055600a820180546001600160c01b0319169055600b8201819055600c90910181905585815260a760205260408082206001908101805460ff19169091179055516001600160a01b0384169085908381818185875af1925050503d8060008114612bd5576040519150601f19603f3d011682016040523d82523d6000602084013e612bda565b606091505b5050905080612c145760405162461bcd60e51b8152602060048201526006602482015265131090cc0d0d60d21b60448201526064016102c3565b5050505050612c236001606555565b50565b612c2f336144ab565b612c4b5760405162461bcd60e51b81526004016102c3906159a7565b3360009081526099602052604081208054349290612c6a9084906156c6565b90915550506040517f456e0f4ea86ac283092c750200e8c877f6ad8901ae575f90e02081acd455af84906119359033903490615796565b600061094a82613cbd565b612cb5336144ab565b612cd15760405162461bcd60e51b81526004016102c3906159a7565b611f17333461433b565b612ce3613c64565b612cec3361446c565b612d085760405162461bcd60e51b81526004016102c3906159a7565b600085815260a7602052604090206001015460ff1615612d3a5760405162461bcd60e51b81526004016102c390615b39565b600085815260a66020526040902080546001600160a01b0316612d6f5760405162461bcd60e51b81526004016102c390615b59565b60405162f5b49160e01b815260009073__BtcUtils______________________________9062f5b49190612da7908990600401615b79565b600060405180830381865af4158015612dc4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612dec9190810190615b8c565b9050600073__BtcUtils______________________________632d56f32383600181518110612e1d57612e1d6159c7565b6020026020010151602001516040518263ffffffff1660e01b8152600401612e459190615b79565b600060405180830381865af4158015612e62573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612e8a9190810190615a6f565b905080516021148015612ec2575080600081518110612eab57612eab6159c7565b6020910101516001600160f81b031916600160fd1b145b612ef75760405162461bcd60e51b81526020600482015260066024820152654c424330373560d01b60448201526064016102c3565b60005b60018251612f0891906154c3565b8160ff161015612f7a5781612f1e826001615c9f565b60ff1681518110612f3157612f316159c7565b602001015160f81c60f81b828260ff1681518110612f5157612f516159c7565b60200101906001600160f81b031916908160001a90535080612f7281615cb8565b915050612efa565b50600081806020019051810190612f919190615cd7565b9050808914612fcb5760405162461bcd60e51b81526020600482015260066024820152654c424330363960d01b60448201526064016102c3565b60018401546001600160a01b031633146130105760405162461bcd60e51b815260206004820152600660248201526509884866068760d31b60448201526064016102c3565b600a84015460975460405163fea8ba6360e01b8152600160501b90920461ffff16916001600160a01b0390911690635b6445879073__BtcUtils______________________________9063fea8ba639061306e908e90600401615b79565b602060405180830381865af415801561308b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130af9190615cd7565b8a8a8a6040518563ffffffff1660e01b81526004016130d19493929190615cf0565b602060405180830381865afa1580156130ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131129190615cd7565b12156131495760405162461bcd60e51b81526020600482015260066024820152654c424330343960d01b60448201526064016102c3565b8260008151811061315c5761315c6159c7565b6020026020010151600001516402540be4006131789190615d4c565b6001600160401b0316846009015411156131bd5760405162461bcd60e51b81526020600482015260066024820152654c424330363760d01b60448201526064016102c3565b600073__BtcUtils______________________________634c03fe59856000815181106131ec576131ec6159c7565b602090810291909101810151015160a4546040516001600160e01b031960e085901b168152613222929160ff1690600401615d77565b600060405180830381865af415801561323f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526132679190810190615a6f565b90508080519060200120856008016040516132829190615d9b565b6040518091039020146132c05760405162461bcd60e51b81526020600482015260066024820152650988486606c760d31b60448201526064016102c3565b604080516102608101825286546001600160a01b0390811682526001880154166020820152600287018054613571938992908401916132fe9061585f565b80601f016020809104026020016040519081016040528092919081815260200182805461332a9061585f565b80156133775780601f1061334c57610100808354040283529160200191613377565b820191906000526020600020905b81548152906001019060200180831161335a57829003601f168201915b505050918352505060038201546001600160a01b031660208201526004820180546040909201916133a79061585f565b80601f01602080910402602001604051908101604052809291908181526020018280546133d39061585f565b80156134205780601f106133f557610100808354040283529160200191613420565b820191906000526020600020905b81548152906001019060200180831161340357829003601f168201915b50505091835250506005820154602082015260068201546040820152600780830154900b606082015260088201805460809092019161345e9061585f565b80601f016020809104026020016040519081016040528092919081815260200182805461348a9061585f565b80156134d75780601f106134ac576101008083540402835291602001916134d7565b820191906000526020600020905b8154815290600101906020018083116134ba57829003601f168201915b505050918352505060098201546020820152600a82015463ffffffff8082166040840152600160201b82048116606084015261ffff600160401b830481166080850152600160501b83041660a0840152600160601b8204811660c0840152600160801b8204811660e0840152600160a01b90910416610100820152600b820154610120820152600c9091015461014090910152838a6145fa565b1561361457600685015460018601546001600160a01b03166000908152609a602052604081205490916135a391614323565b60018701546001600160a01b03166000908152609a60205260408120805492935083929091906135d49084906154c3565b90915550506001860154604051600080516020615ee88339815191529161360a916001600160a01b0390911690849087906154d6565b60405180910390a1505b6001850154600586015460098701546000926001600160a01b031691613639916156c6565b604051600081818185875af1925050503d8060008114613675576040519150601f19603f3d011682016040523d82523d6000602084013e61367a565b606091505b50509050806136b45760405162461bcd60e51b815260206004820152600660248201526504c42433035360d41b60448201526064016102c3565b6136c286600b01548c61439a565b600083815260a66020526040812080546001600160a01b031990811682556001820180549091169055906136f960028301826147af565b6003820180546001600160a01b03191690556137196004830160006147af565b600060058301819055600683018190556007830180546001600160401b03191690556137499060088401906147af565b50600060098201819055600a820180546001600160c01b0319169055600b8201819055600c90910181905583815260a760205260408082206001908101805460ff191690911790555184917fb781856ec73fd0dc39351043d1634ea22cd3277b0866ab93e7ec1801766bb38491a25050505050506137c76001606555565b5050505050565b6040805161026080820183526000808352602080840182905260608486018190528085018390526080850181905260a0850183905260c0850183905260e0850183905261010085015261012084018290526101408401829052610160840182905261018084018290526101a084018290526101c084018290526101e0840182905261020084018290526102208401829052610240840182905285825260a68152908490208451928301855280546001600160a01b039081168452600182015416918301919091526002810180549394929391928401916138ad9061585f565b80601f01602080910402602001604051908101604052809291908181526020018280546138d99061585f565b80156139265780601f106138fb57610100808354040283529160200191613926565b820191906000526020600020905b81548152906001019060200180831161390957829003601f168201915b505050918352505060038201546001600160a01b031660208201526004820180546040909201916139569061585f565b80601f01602080910402602001604051908101604052809291908181526020018280546139829061585f565b80156139cf5780601f106139a4576101008083540402835291602001916139cf565b820191906000526020600020905b8154815290600101906020018083116139b257829003601f168201915b50505091835250506005820154602082015260068201546040820152600780830154900b6060820152600882018054608090920191613a0d9061585f565b80601f0160208091040260200160405190810160405280929190818152602001828054613a399061585f565b8015613a865780601f10613a5b57610100808354040283529160200191613a86565b820191906000526020600020905b815481529060010190602001808311613a6957829003601f168201915b505050918352505060098201546020820152600a82015463ffffffff8082166040840152600160201b82048116606084015261ffff600160401b830481166080850152600160501b83041660a0840152600160601b8204811660c0840152600160801b8204811660e0840152600160a01b90910416610100820152600b820154610120820152600c909101546101409091015292915050565b613b276144ea565b6001600160a01b038116613b8c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102c3565b612c2381614549565b80516000906001600160a01b03163014613bda5760405162461bcd60e51b8152602060048201526006602482015265262121981a9b60d11b60448201526064016102c3565b60405163025018e760e31b815273__QuotesV2______________________________90631280c73890613c1190859060040161528f565b600060405180830381865af4158015613c2e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c569190810190615a6f565b805190602001209050919050565b600260655403613cb65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016102c3565b6002606555565b600081602001516001600160a01b0316306001600160a01b031614613d0d5760405162461bcd60e51b81526020600482015260066024820152654c424330353160d01b60448201526064016102c3565b6101008201516097546001600160a01b03918216911603613d595760405162461bcd60e51b8152602060048201526006602482015265262121981a9960d11b60448201526064016102c3565b81606001515160151480613d7257508160600151516021145b613da75760405162461bcd60e51b81526020600482015260066024820152654c424330353360d01b60448201526064016102c3565b8160a0015151601514613de55760405162461bcd60e51b8152602060048201526006602482015265131090cc0d4d60d21b60448201526064016102c3565b609f548261026001518361024001518460c00151856101800151613e0991906156c6565b613e1391906156c6565b613e1d91906156c6565b1015613e545760405162461bcd60e51b81526020600482015260066024820152654c424330353560d01b60448201526064016102c3565b816101c0015163ffffffff16826101a0015163ffffffff16613e769190615e11565b6001600160401b031663ffffffff1015613ebb5760405162461bcd60e51b81526020600482015260066024820152654c424330373160d01b60448201526064016102c3565b60405162773b7960e01b815273__QuotesV2______________________________9062773b7990613c11908590600401615e31565b609754606086015160a08701516000848152609c602052604081205490936001600160a01b031692636adc013392899288928a92899230919063ffffffff1615801590613f52575060008b8152609c6020526040902054600160201b900460ff165b6040518963ffffffff1660e01b8152600401613f75989796959493929190615e44565b6020604051808303816000875af1158015613f94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fb89190615cd7565b9695505050505050565b6000808413801561400657508461026001518561024001518660c00151876101800151613fef91906156c6565b613ff991906156c6565b61400391906156c6565b84105b15614013575060006118b2565b60975460405163bd0c1fff60e01b8152600481018490526000916001600160a01b03169063bd0c1fff90602401600060405180830381865afa15801561405d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526140859190810190615a6f565b905060008151116140cf5760405162461bcd60e51b8152602060048201526014602482015273125b9d985b1a5908189b1bd8dac81a195a59da1d60621b60448201526064016102c3565b6040516328335c3f60e21b815260009073__BtcUtils______________________________9063a0cd70fc90614109908590600401615b79565b602060405180830381865af4158015614126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061414a9190615cd7565b90506000876101c00151886101a001516141649190615b15565b63ffffffff1690508082111561418057600093505050506118b2565b8560000361419457600193505050506118b2565b6097546102008901516000916001600160a01b03169063bd0c1fff906001906141c19061ffff168a6156c6565b6141cb91906154c3565b6040518263ffffffff1660e01b81526004016141e991815260200190565b600060405180830381865afa158015614206573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261422e9190810190615a6f565b9050600081511161426a5760405162461bcd60e51b81526020600482015260066024820152650988486606a760d31b60448201526064016102c3565b6040516328335c3f60e21b815260009073__BtcUtils______________________________9063a0cd70fc906142a4908590600401615b79565b602060405180830381865af41580156142c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142e59190615cd7565b9050896101e0015163ffffffff16816142fe91906156c6565b881115614313576001955050505050506118b2565b5060009998505050505050505050565b60008183106143325781614334565b825b9392505050565b6001600160a01b038216600090815260986020526040812080548392906143639084906156c6565b90915550506040517f42cfb81a915ac5a674852db250bf722637bee705a267633b68cab3a2dde06f539061124e9084908490615796565b81156144685760a9546040516000916001600160a01b03169084908381818185875af1925050503d80600081146143ed576040519150601f19603f3d011682016040523d82523d6000602084013e6143f2565b606091505b505090508061442c5760405162461bcd60e51b8152602060048201526006602482015265131090cc0dcd60d21b60448201526064016102c3565b817f58e13ac0d5c8d27d14009841e72ac8b1858e2709c2c99af2075d9bb5f340ecfc8460405161445e91815260200190565b60405180910390a2505b5050565b6001600160a01b0381166000908152609a60205260408120541580159061094a5750506001600160a01b03166000908152609d60205260409020541590565b6001600160a01b0381166000908152609960205260408120541580159061094a5750506001600160a01b03166000908152609d60205260409020541590565b336144f36128ea565b6001600160a01b031614611f175760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102c3565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216600090815260986020526040812080548392906145c39084906154c3565b90915550506040517f8e51a4493a6f66c76e13fd9e3b754eafbfe21343c04508deb61be8ccc00645879061124e9084908490615796565b6097546040516339cf1b2560e11b81526004810183905260009182916001600160a01b039091169063739e364a90602401600060405180830381865afa158015614648573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526146709190810190615a6f565b905060008151116146ac5760405162461bcd60e51b81526020600482015260066024820152654c424330353960d01b60448201526064016102c3565b6040516328335c3f60e21b815260009073__BtcUtils______________________________9063a0cd70fc906146e6908590600401615b79565b602060405180830381865af4158015614703573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147279190615cd7565b60a3546101c0880151600088815260a7602052604090205492935090916147549163ffffffff16906156c6565b61475e91906156c6565b81111561477057600192505050614334565b856101e0015163ffffffff16421180614793575085610200015163ffffffff1643115b156147a357600192505050614334565b50600095945050505050565b5080546147bb9061585f565b6000825580601f106147cb575050565b601f016020900490600052602060002090810190612c2391905b808211156147f957600081556001016147e5565b5090565b634e487b7160e01b600052604160045260246000fd5b60405161026081016001600160401b0381118282101715614836576148366147fd565b60405290565b60405161028081016001600160401b0381118282101715614836576148366147fd565b604051608081016001600160401b0381118282101715614836576148366147fd565b604051601f8201601f191681016001600160401b03811182821017156148a9576148a96147fd565b604052919050565b6001600160a01b0381168114612c2357600080fd5b803561242c816148b1565b60006001600160401b038211156148ea576148ea6147fd565b50601f01601f191660200190565b600082601f83011261490957600080fd5b813561491c614917826148d1565b614881565b81815284602083860101111561493157600080fd5b816020850160208301376000918101602001919091529392505050565b8035600781900b811461242c57600080fd5b803563ffffffff8116811461242c57600080fd5b803561ffff8116811461242c57600080fd5b6000610260828403121561499957600080fd5b6149a1614813565b90506149ac826148c6565b81526149ba602083016148c6565b602082015260408201356001600160401b03808211156149d957600080fd5b6149e5858386016148f8565b60408401526149f6606085016148c6565b60608401526080840135915080821115614a0f57600080fd5b614a1b858386016148f8565b608084015260a084013560a084015260c084013560c0840152614a4060e0850161494e565b60e084015261010091508184013581811115614a5b57600080fd5b614a67868287016148f8565b83850152505050610120808301358183015250610140614a88818401614960565b90820152610160614a9a838201614960565b90820152610180614aac838201614974565b908201526101a0614abe838201614974565b908201526101c0614ad0838201614960565b908201526101e0614ae2838201614960565b90820152610200614af4838201614960565b9082015261022082810135908201526102409182013591810191909152919050565b600060208284031215614b2857600080fd5b81356001600160401b03811115614b3e57600080fd5b6118b284828501614986565b60008060408385031215614b5d57600080fd5b823591506020830135614b6f816148b1565b809150509250929050565b80356001600160601b03198116811461242c57600080fd5b8015158114612c2357600080fd5b803561242c81614b92565b60006102808284031215614bbe57600080fd5b614bc661483c565b9050614bd182614b7a565b8152614bdf602083016148c6565b6020820152614bf0604083016148c6565b604082015260608201356001600160401b0380821115614c0f57600080fd5b614c1b858386016148f8565b6060840152614c2c608085016148c6565b608084015260a0840135915080821115614c4557600080fd5b614c51858386016148f8565b60a084015260c084013560c084015260e084013560e08401526101009150614c7a8285016148c6565b8284015261012091508184013581811115614c9457600080fd5b614ca0868287016148f8565b83850152505050610140614cb5818401614960565b90820152610160614cc783820161494e565b9082015261018082810135908201526101a0614ce4818401614960565b908201526101c0614cf6838201614960565b908201526101e0614d08838201614960565b90820152610200614d1a838201614974565b90820152610220614d2c838201614ba0565b9082015261024082810135908201526102609182013591810191909152919050565b600080600080600060a08688031215614d6657600080fd5b85356001600160401b0380821115614d7d57600080fd5b614d8989838a01614bab565b96506020880135915080821115614d9f57600080fd5b614dab89838a016148f8565b95506040880135915080821115614dc157600080fd5b614dcd89838a016148f8565b94506060880135915080821115614de357600080fd5b50614df0888289016148f8565b95989497509295608001359392505050565b600060208284031215614e1457600080fd5b5035919050565b60008060008060808587031215614e3157600080fd5b84356001600160401b0380821115614e4857600080fd5b614e54888389016148f8565b95506020870135915080821115614e6a57600080fd5b614e76888389016148f8565b945060408701359150614e8882614b92565b90925060608601359080821115614e9e57600080fd5b50614eab878288016148f8565b91505092959194509250565b600060208284031215614ec957600080fd5b8135614334816148b1565b60006001600160401b03821115614eed57614eed6147fd565b5060051b60200190565b60006020808385031215614f0a57600080fd5b82356001600160401b03811115614f2057600080fd5b8301601f81018513614f3157600080fd5b8035614f3f61491782614ed4565b81815260059190911b82018301908381019087831115614f5e57600080fd5b928401925b82841015614f7c57833582529284019290840190614f63565b979650505050505050565b6001600160a01b03169052565b60005b83811015614faf578181015183820152602001614f97565b50506000910152565b60008151808452614fd0816020860160208601614f94565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156150a557888303603f19018552815180518452878101516001600160a01b0316888501528681015160c08886018190529061504c82870182614fb8565b915050606080830151868303828801526150668382614fb8565b925050506080808301511515818701525060a080830151925085820381870152506150918183614fb8565b96890196945050509086019060010161500b565b509098975050505050505050565b6001600160a01b0391909116815260200190565b600080604083850312156150da57600080fd5b823591506020830135614b6f81614b92565b600080604083850312156150ff57600080fd5b82356001600160401b038082111561511657600080fd5b61512286838701614bab565b9350602085013591508082111561513857600080fd5b50615145858286016148f8565b9150509250929050565b60006020828403121561516157600080fd5b81356001600160401b0381111561517757600080fd5b6118b284828501614bab565b6000806040838503121561519657600080fd5b82356001600160401b03808211156151ad57600080fd5b61512286838701614986565b600080600080600060a086880312156151d157600080fd5b853594506020808701356001600160401b03808211156151f057600080fd5b6151fc8a838b016148f8565b96506040890135955060608901359450608089013591508082111561522057600080fd5b508701601f8101891361523257600080fd5b803561524061491782614ed4565b81815260059190911b8201830190838101908b83111561525f57600080fd5b928401925b8284101561527d57833582529284019290840190615264565b80955050505050509295509295909350565b602081526152a1602082018351614f87565b600060208301516152b56040840182614f87565b5060408301516102608060608501526152d2610280850183614fb8565b915060608501516152e66080860182614f87565b506080850151601f19808685030160a08701526153038483614fb8565b935060a087015160c087015260c087015160e087015260e087015191506101006153318188018460070b9052565b8088015192505061012081878603018188015261534e8584614fb8565b90880151610140888101919091528801519094509150610160905061537a8187018363ffffffff169052565b86015190506101806153938682018363ffffffff169052565b86015190506101a06153aa8682018361ffff169052565b86015190506101c06153c18682018361ffff169052565b86015190506101e06153da8682018363ffffffff169052565b86015190506102006153f38682018363ffffffff169052565b860151905061022061540c8682018363ffffffff169052565b860151610240868101919091529095015193019290925250919050565b60208082526006908201526509884866064760d31b604082015260600190565b60018060a01b03841681528260208201526060604082015260006111596060830184614fb8565b60006020828403121561548257600080fd5b815161433481614b92565b6020808252600690820152654c424330323960d01b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561094a5761094a6154ad565b6001600160a01b039390931683526020830191909152604082015260600190565b808202811582820484141761094a5761094a6154ad565b634e487b7160e01b600052601260045260246000fd5b6000826155335761553361550e565b500490565b80516001600160601b03191682526000610280602083015161555d6020860182614f87565b5060408301516155706040860182614f87565b50606083015181606086015261558882860182614fb8565b915050608083015161559d6080860182614f87565b5060a083015184820360a08601526155b58282614fb8565b91505060c083015160c085015260e083015160e0850152610100808401516155df82870182614f87565b505061012080840151858303828701526155f98382614fb8565b92505050610140808401516156158287018263ffffffff169052565b50506101608084015161562c8287018260070b9052565b505061018083810151908501526101a08084015163ffffffff908116918601919091526101c0808501518216908601526101e080850151909116908501526102008084015161ffff16908501526102208084015115159085015261024080840151908501526102609283015192909301919091525090565b6040815260006156b76040830185615538565b90508260208301529392505050565b8082018082111561094a5761094a6154ad565b6001600160a01b03949094168452602084019290925215156040830152606082015260800190565b60008251615713818460208701614f94565b9190910192915050565b63ffffffff8616815284602082015260a06040820152600061574260a0830186614fb8565b931515606083015250608001529392505050565b6020808252600690820152654c424330313960d01b604082015260600190565b60208082526006908201526504c42433032360d41b604082015260600190565b6001600160a01b03929092168252602082015260400190565b6020808252600690820152654c424330323160d01b604082015260600190565b60208082526006908201526526212198191960d11b604082015260600190565b643832b3b4b760d91b815260050190565b651c1959dbdd5d60d21b815260060190565b60208082526006908201526509884866060760d31b604082015260600190565b6000826158415761584161550e565b500690565b600060018201615858576158586154ad565b5060010190565b600181811c9082168061587357607f821691505b60208210810361589357634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156158e357600081815260208120601f850160051c810160208610156158c05750805b601f850160051c820191505b818110156158df578281556001016158cc565b5050505b505050565b81516001600160401b03811115615901576159016147fd565b6159158161590f845461585f565b84615899565b602080601f83116001811461594a57600084156159325750858301515b600019600386901b1c1916600185901b1785556158df565b600085815260208120601f198616915b828110156159795788860151825594840194600190910190840161595a565b50858210156159975787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020808252600690820152654c424330303160d01b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b848152600084516159f5816020850160208901614f94565b808301905060018060601b0319851660208201528351615a1c816034840160208801614f94565b016034019695505050505050565b600082601f830112615a3b57600080fd5b8151615a49614917826148d1565b818152846020838601011115615a5e57600080fd5b6118b2826020830160208701614f94565b600060208284031215615a8157600080fd5b81516001600160401b03811115615a9757600080fd5b6118b284828501615a2a565b600160fd1b8152826001820152607560f81b602182015260008251615acf816022850160208701614f94565b919091016022019392505050565b606081526000615af06060830186614fb8565b8281036020840152615b028186614fb8565b9150508215156040830152949350505050565b63ffffffff818116838216019080821115615b3257615b326154ad565b5092915050565b602080825260069082015265131090cc0d8d60d21b604082015260600190565b602080825260069082015265262121981a1960d11b604082015260600190565b6020815260006143346020830184614fb8565b60006020808385031215615b9f57600080fd5b82516001600160401b0380821115615bb657600080fd5b818501915085601f830112615bca57600080fd5b8151615bd861491782614ed4565b81815260059190911b83018401908481019088831115615bf757600080fd5b8585015b83811015615c9257805185811115615c135760008081fd5b86016080818c03601f1901811315615c2b5760008081fd5b615c3361485f565b898301518881168114615c465760008081fd5b815260408381015189811115615c5c5760008081fd5b615c6a8f8d83880101615a2a565b838d015250606084810151918301919091529190920151908201528352918601918601615bfb565b5098975050505050505050565b60ff818116838216019081111561094a5761094a6154ad565b600060ff821660ff8103615cce57615cce6154ad565b60010192915050565b600060208284031215615ce957600080fd5b5051919050565b600060808201868352602086818501528560408501526080606085015281855180845260a086019150828701935060005b81811015615d3d57845183529383019391830191600101615d21565b50909998505050505050505050565b6001600160401b03818116838216028082169190828114615d6f57615d6f6154ad565b505092915050565b604081526000615d8a6040830185614fb8565b905082151560208301529392505050565b6000808354615da98161585f565b60018281168015615dc15760018114615dd657615e05565b60ff1984168752821515830287019450615e05565b8760005260208060002060005b85811015615dfc5781548a820152908401908201615de3565b50505082870194505b50929695505050505050565b6001600160401b03818116838216019080821115615b3257615b326154ad565b6020815260006143346020830184615538565b6000610100808352615e588184018c614fb8565b90508960208401528281036040840152615e72818a614fb8565b90508760608401528281036080840152615e8c8188614fb8565b6001600160a01b03871660a085015283810360c08501529050615eaf8186614fb8565b91505082151560e0830152999850505050505050505056fe3052ea2f7e0d74fdc1c1e1f858ff1ae3d91ab1609717c3efedb95db603b255f69685484093cc596fdaeab51abf645b1753dbb7d869bfd2eb21e2c646e47a36f4bfc7404e6fe464f0646fe2c6ab942b92d56be722bb39f8c6bc4830d2d32fb80da2646970667358221220833b92078494044fc59b649cfe3df801f21d42d1f05bb5584eb9540f3a6b8b2f64736f6c63430008120033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:66370:30", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:30", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "188:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "205:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "216:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "198:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "198:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "198:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "239:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "250:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "235:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "235:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "255:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "228:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "228:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "228:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "277:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "288:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "273:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "273:18:30" + }, + { + "hexValue": "4c4243303037", + "kind": "string", + "nodeType": "YulLiteral", + "src": "293:8:30", + "type": "", + "value": "LBC007" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "266:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "266:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "266:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "311:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "323:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "334:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "319:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "319:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "311:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a23daf30bd1e42cc69e3bea751166702f08d640860ab6f4c84d6bacb970360da__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "165:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "179:4:30", + "type": "" + } + ], + "src": "14:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "445:87:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "455:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "467:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "478:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "463:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "463:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "455:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "497:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "512:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "520:4:30", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "508:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "508:17:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "490:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "490:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "490:36:30" + } + ] + }, + "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "414:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "425:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "436:4:30", + "type": "" + } + ], + "src": "348:184:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "638:76:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "648:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "660:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "671:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "656:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "656:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "648:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "690:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "701:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "683:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "683:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "683:25:30" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "607:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "618:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "629:4:30", + "type": "" + } + ], + "src": "537:177:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "751:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "768:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "775:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "780:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "771:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "771:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "761:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "761:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "761:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "808:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "811:4:30", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "801:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "801:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "801:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "832:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "835:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "825:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "825:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "825:15:30" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "719:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "897:209:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "907:19:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "923:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "917:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "917:9:30" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "907:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "935:37:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "957:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "965:6:30", + "type": "", + "value": "0x0260" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "953:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "953:19:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "939:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1047:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1049:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "1049:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1049:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "990:10:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1010:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1014:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1006:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1006:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1018:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1002:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1002:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "987:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "987:34:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1026:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1038:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1023:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1023:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "984:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "984:62:30" + }, + "nodeType": "YulIf", + "src": "981:88:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1085:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1089:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1078:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1078:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1078:22:30" + } + ] + }, + "name": "allocate_memory_8929", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "886:6:30", + "type": "" + } + ], + "src": "851:255:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1157:209:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1167:19:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1183:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1177:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "1177:9:30" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1167:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1195:37:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1217:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1225:6:30", + "type": "", + "value": "0x0280" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1213:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1213:19:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "1199:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1307:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1309:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "1309:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1309:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1250:10:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1270:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1274:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1266:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1266:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1278:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1262:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1262:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1247:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1247:34:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1286:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1298:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1283:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1283:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1244:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1244:62:30" + }, + "nodeType": "YulIf", + "src": "1241:88:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1345:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1349:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1338:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1338:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1338:22:30" + } + ] + }, + "name": "allocate_memory_8930", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1146:6:30", + "type": "" + } + ], + "src": "1111:255:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1417:207:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1427:19:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1443:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1437:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "1437:9:30" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1427:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1455:35:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1477:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1485:4:30", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1473:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1473:17:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "1459:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1565:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1567:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "1567:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1567:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1508:10:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1528:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1532:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1524:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1524:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1536:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1520:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1520:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1505:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1505:34:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1544:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1556:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1541:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1541:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1502:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1502:62:30" + }, + "nodeType": "YulIf", + "src": "1499:88:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1603:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1607:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1596:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1596:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1596:22:30" + } + ] + }, + "name": "allocate_memory_8934", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1406:6:30", + "type": "" + } + ], + "src": "1371:253:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1674:230:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1684:19:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1700:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1694:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "1694:9:30" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1684:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1712:58:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1734:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1750:4:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1756:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1746:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1746:13:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1765:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "1761:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1761:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1742:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1742:27:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1730:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1730:40:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "1716:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1845:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1847:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "1847:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1847:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1788:10:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1808:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1812:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1804:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1804:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1816:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1800:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1800:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1785:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1785:34:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1824:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1836:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1821:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1821:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1782:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1782:62:30" + }, + "nodeType": "YulIf", + "src": "1779:88:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1883:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1887:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1876:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1876:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1876:22:30" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1654:4:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1663:6:30", + "type": "" + } + ], + "src": "1629:275:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1954:86:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2018:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2027:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2030:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2020:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2020:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2020:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1977:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1988:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2003:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2008:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1999:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1999:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2012:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1995:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1995:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1984:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1984:31:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "1974:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1974:42:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1967:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1967:50:30" + }, + "nodeType": "YulIf", + "src": "1964:70:30" + } + ] + }, + "name": "validator_revert_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1943:5:30", + "type": "" + } + ], + "src": "1909:131:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2094:85:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2104:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2126:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2113:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2113:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2104:5:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2167:5:30" + } + ], + "functionName": { + "name": "validator_revert_address", + "nodeType": "YulIdentifier", + "src": "2142:24:30" + }, + "nodeType": "YulFunctionCall", + "src": "2142:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2142:31:30" + } + ] + }, + "name": "abi_decode_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2073:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2084:5:30", + "type": "" + } + ], + "src": "2045:134:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2241:129:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2285:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "2287:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "2287:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2287:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2257:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2273:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2277:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "2269:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2269:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2281:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2265:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2265:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2254:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2254:30:30" + }, + "nodeType": "YulIf", + "src": "2251:56:30" + }, + { + "nodeType": "YulAssignment", + "src": "2316:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2336:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2344:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2332:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2332:15:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2353:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "2349:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2349:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2328:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2328:29:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2359:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2324:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2324:40:30" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2316:4:30" + } + ] + } + ] + }, + "name": "array_allocation_size_bytes", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2221:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "2232:4:30", + "type": "" + } + ], + "src": "2184:186:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2427:410:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2476:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2485:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2488:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2478:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2478:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2478:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2455:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2463:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2451:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2451:17:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2470:3:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2447:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2447:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2440:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2440:35:30" + }, + "nodeType": "YulIf", + "src": "2437:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2501:30:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2524:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2511:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2511:20:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "2505:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2540:63:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2599:2:30" + } + ], + "functionName": { + "name": "array_allocation_size_bytes", + "nodeType": "YulIdentifier", + "src": "2571:27:30" + }, + "nodeType": "YulFunctionCall", + "src": "2571:31:30" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "2555:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "2555:48:30" + }, + "variables": [ + { + "name": "array_1", + "nodeType": "YulTypedName", + "src": "2544:7:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array_1", + "nodeType": "YulIdentifier", + "src": "2619:7:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2628:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2612:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2612:19:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2612:19:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2679:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2688:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2691:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2681:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2681:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2681:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2654:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2662:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2650:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2650:15:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2667:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2646:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2646:26:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2674:3:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2643:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2643:35:30" + }, + "nodeType": "YulIf", + "src": "2640:55:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "array_1", + "nodeType": "YulIdentifier", + "src": "2721:7:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2730:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2717:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2717:18:30" + }, + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2741:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2749:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2737:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2737:17:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2756:2:30" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "2704:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2704:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2704:55:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "array_1", + "nodeType": "YulIdentifier", + "src": "2783:7:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2792:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2779:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2779:16:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2797:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2775:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2775:27:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2804:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2768:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2768:38:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2768:38:30" + }, + { + "nodeType": "YulAssignment", + "src": "2815:16:30", + "value": { + "name": "array_1", + "nodeType": "YulIdentifier", + "src": "2824:7:30" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2815:5:30" + } + ] + } + ] + }, + "name": "abi_decode_bytes", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2401:6:30", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2409:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "2417:5:30", + "type": "" + } + ], + "src": "2375:462:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2889:113:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2899:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2921:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2908:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2908:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2899:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2980:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2989:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2992:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2982:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2982:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2982:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2950:5:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2968:1:30", + "type": "", + "value": "7" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2971:5:30" + } + ], + "functionName": { + "name": "signextend", + "nodeType": "YulIdentifier", + "src": "2957:10:30" + }, + "nodeType": "YulFunctionCall", + "src": "2957:20:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2947:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2947:31:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2940:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2940:39:30" + }, + "nodeType": "YulIf", + "src": "2937:59:30" + } + ] + }, + "name": "abi_decode_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2868:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2879:5:30", + "type": "" + } + ], + "src": "2842:160:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3055:115:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3065:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3087:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3074:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3074:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3065:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3148:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3157:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3160:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3150:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3150:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3150:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3116:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3127:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3134:10:30", + "type": "", + "value": "0xffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3123:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3123:22:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "3113:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "3113:33:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3106:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3106:41:30" + }, + "nodeType": "YulIf", + "src": "3103:61:30" + } + ] + }, + "name": "abi_decode_uint32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3034:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3045:5:30", + "type": "" + } + ], + "src": "3007:163:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3223:111:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3233:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3255:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3242:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3242:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3233:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3312:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3321:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3324:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3314:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3314:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3314:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3284:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3295:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3302:6:30", + "type": "", + "value": "0xffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3291:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3291:18:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "3281:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "3281:29:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3274:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3274:37:30" + }, + "nodeType": "YulIf", + "src": "3271:57:30" + } + ] + }, + "name": "abi_decode_uint16", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3202:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3213:5:30", + "type": "" + } + ], + "src": "3175:159:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3407:2023:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3453:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3462:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3465:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3455:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3455:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3455:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3428:3:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3433:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3424:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3424:19:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3445:6:30", + "type": "", + "value": "0x0260" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3420:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3420:32:30" + }, + "nodeType": "YulIf", + "src": "3417:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "3478:31:30", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_memory_8929", + "nodeType": "YulIdentifier", + "src": "3487:20:30" + }, + "nodeType": "YulFunctionCall", + "src": "3487:22:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3478:5:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3525:5:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3551:9:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "3532:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "3532:29:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3518:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3518:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3518:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3582:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3589:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3578:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3578:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3617:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3628:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3613:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3613:18:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "3594:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "3594:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3571:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3571:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3571:62:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3642:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3673:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3684:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3669:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3669:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3656:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3656:32:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3646:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3697:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3715:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3719:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "3711:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3711:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3723:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3707:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3707:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "3701:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3752:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3761:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3764:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3754:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3754:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3754:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3740:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "3748:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3737:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "3737:14:30" + }, + "nodeType": "YulIf", + "src": "3734:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3788:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3795:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3784:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3784:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3821:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3832:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3817:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3817:22:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3841:3:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "3800:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "3800:45:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3777:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3777:69:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3777:69:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3866:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3873:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3862:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3862:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3901:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3912:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3897:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3897:18:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "3878:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "3878:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3855:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3855:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3855:62:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3926:49:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3959:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3970:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3955:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3955:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3942:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3942:33:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "3930:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4004:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4013:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4016:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4006:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4006:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4006:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "3990:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "4000:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3987:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "3987:16:30" + }, + "nodeType": "YulIf", + "src": "3984:36:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4040:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4047:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4036:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4036:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4074:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "4085:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4070:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4070:24:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4096:3:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "4053:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "4053:47:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4029:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4029:72:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4029:72:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4121:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4128:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4117:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4117:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4151:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4162:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4147:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4147:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4134:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "4134:33:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4110:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4110:58:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4110:58:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4188:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4195:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4184:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4184:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4218:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4229:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4214:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4214:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4201:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "4201:33:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4177:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4177:58:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4177:58:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4255:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4262:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4251:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4251:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4289:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4300:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4285:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4285:19:30" + } + ], + "functionName": { + "name": "abi_decode_int64", + "nodeType": "YulIdentifier", + "src": "4268:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "4268:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4244:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4244:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4244:62:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4315:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4325:3:30", + "type": "", + "value": "256" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "4319:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4337:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4370:9:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "4381:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4366:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4366:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4353:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "4353:32:30" + }, + "variables": [ + { + "name": "offset_2", + "nodeType": "YulTypedName", + "src": "4341:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4414:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4423:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4426:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4416:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4416:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4416:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "4400:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "4410:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4397:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "4397:16:30" + }, + "nodeType": "YulIf", + "src": "4394:36:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4450:5:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "4457:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4446:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4446:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4483:9:30" + }, + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "4494:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4479:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4479:24:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4505:3:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "4462:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "4462:47:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4439:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4439:71:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4439:71:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4519:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4529:3:30", + "type": "", + "value": "288" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "4523:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4552:5:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "4559:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4548:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4548:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4581:9:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "4592:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4577:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4577:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4564:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "4564:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4541:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4541:56:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4541:56:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4606:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4616:3:30", + "type": "", + "value": "320" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "4610:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4639:5:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "4646:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4635:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4635:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4673:9:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "4684:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4669:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4669:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "4651:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "4651:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4628:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4628:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4628:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4698:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4708:3:30", + "type": "", + "value": "352" + }, + "variables": [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "4702:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4731:5:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "4738:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4727:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4727:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4765:9:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "4776:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4761:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4761:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "4743:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "4743:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4720:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4720:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4720:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4790:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4800:3:30", + "type": "", + "value": "384" + }, + "variables": [ + { + "name": "_6", + "nodeType": "YulTypedName", + "src": "4794:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4823:5:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "4830:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4819:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4819:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4857:9:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "4868:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4853:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4853:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint16", + "nodeType": "YulIdentifier", + "src": "4835:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "4835:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4812:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4812:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4812:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4882:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4892:3:30", + "type": "", + "value": "416" + }, + "variables": [ + { + "name": "_7", + "nodeType": "YulTypedName", + "src": "4886:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4915:5:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "4922:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4911:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4911:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4949:9:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "4960:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4945:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4945:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint16", + "nodeType": "YulIdentifier", + "src": "4927:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "4927:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4904:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4904:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4904:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4974:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4984:3:30", + "type": "", + "value": "448" + }, + "variables": [ + { + "name": "_8", + "nodeType": "YulTypedName", + "src": "4978:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5007:5:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "5014:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5003:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5003:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5041:9:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "5052:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5037:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5037:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "5019:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "5019:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4996:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4996:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4996:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5066:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5076:3:30", + "type": "", + "value": "480" + }, + "variables": [ + { + "name": "_9", + "nodeType": "YulTypedName", + "src": "5070:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5099:5:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "5106:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5095:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5095:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5133:9:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "5144:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5129:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5129:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "5111:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "5111:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5088:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5088:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5088:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5158:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5169:3:30", + "type": "", + "value": "512" + }, + "variables": [ + { + "name": "_10", + "nodeType": "YulTypedName", + "src": "5162:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5192:5:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "5199:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5188:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5188:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5227:9:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "5238:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5223:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5223:19:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "5205:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "5205:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5181:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5181:63:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5181:63:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5253:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5264:3:30", + "type": "", + "value": "544" + }, + "variables": [ + { + "name": "_11", + "nodeType": "YulTypedName", + "src": "5257:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5287:5:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "5294:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5283:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5283:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5317:9:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "5328:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5313:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5313:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5300:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "5300:33:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5276:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5276:58:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5276:58:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5343:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5354:3:30", + "type": "", + "value": "576" + }, + "variables": [ + { + "name": "_12", + "nodeType": "YulTypedName", + "src": "5347:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5377:5:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "5384:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5373:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5373:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5407:9:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "5418:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5403:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5403:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5390:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "5390:33:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5366:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5366:58:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5366:58:30" + } + ] + }, + "name": "abi_decode_struct_PegOutQuote", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3378:9:30", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3389:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3397:5:30", + "type": "" + } + ], + "src": "3339:2091:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5535:254:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5581:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5590:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5593:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5583:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5583:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5583:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5556:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5565:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5552:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5552:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5577:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5548:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5548:32:30" + }, + "nodeType": "YulIf", + "src": "5545:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5606:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5633:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5620:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "5620:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5610:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5686:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5695:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5698:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5688:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5688:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5688:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5658:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5674:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5678:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "5670:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5670:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5682:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5666:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5666:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5655:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "5655:30:30" + }, + "nodeType": "YulIf", + "src": "5652:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "5711:72:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5755:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5766:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5751:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5751:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5775:7:30" + } + ], + "functionName": { + "name": "abi_decode_struct_PegOutQuote", + "nodeType": "YulIdentifier", + "src": "5721:29:30" + }, + "nodeType": "YulFunctionCall", + "src": "5721:62:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5711:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_PegOutQuote_$10194_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5501:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5512:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5524:6:30", + "type": "" + } + ], + "src": "5435:354:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5895:76:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5905:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5917:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5928:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5913:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5913:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5905:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5947:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5958:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5940:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5940:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5940:25:30" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5864:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5875:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5886:4:30", + "type": "" + } + ], + "src": "5794:177:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6063:228:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6109:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6118:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6121:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6111:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6111:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6111:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6084:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6093:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6080:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6080:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6105:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6076:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6076:32:30" + }, + "nodeType": "YulIf", + "src": "6073:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "6134:33:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6157:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6144:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6144:23:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6134:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6176:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6206:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6217:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6202:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6202:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6189:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6189:32:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6180:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6255:5:30" + } + ], + "functionName": { + "name": "validator_revert_address", + "nodeType": "YulIdentifier", + "src": "6230:24:30" + }, + "nodeType": "YulFunctionCall", + "src": "6230:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6230:31:30" + }, + { + "nodeType": "YulAssignment", + "src": "6270:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6280:5:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "6270:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6021:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "6032:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6044:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "6052:6:30", + "type": "" + } + ], + "src": "5976:315:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6345:128:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6355:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6377:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6364:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6364:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6355:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6451:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6460:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6463:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6453:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6453:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6453:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6406:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6417:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6436:2:30", + "type": "", + "value": "96" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6440:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "6432:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6432:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6444:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6428:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6428:18:30" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "6424:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6424:23:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "6413:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6413:35:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "6403:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6403:46:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "6396:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6396:54:30" + }, + "nodeType": "YulIf", + "src": "6393:74:30" + } + ] + }, + "name": "abi_decode_bytes20", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6324:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6335:5:30", + "type": "" + } + ], + "src": "6296:177:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6520:76:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6574:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6583:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6586:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6576:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6576:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6576:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6543:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6564:5:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "6557:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6557:13:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "6550:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6550:21:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "6540:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6540:32:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "6533:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6533:40:30" + }, + "nodeType": "YulIf", + "src": "6530:60:30" + } + ] + }, + "name": "validator_revert_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6509:5:30", + "type": "" + } + ], + "src": "6478:118:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6647:82:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6657:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6679:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6666:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6666:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6657:5:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6717:5:30" + } + ], + "functionName": { + "name": "validator_revert_bool", + "nodeType": "YulIdentifier", + "src": "6695:21:30" + }, + "nodeType": "YulFunctionCall", + "src": "6695:28:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6695:28:30" + } + ] + }, + "name": "abi_decode_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6626:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6637:5:30", + "type": "" + } + ], + "src": "6601:128:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6801:2118:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6847:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6856:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6859:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6849:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6849:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6849:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "6822:3:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6827:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6818:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6818:19:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6839:6:30", + "type": "", + "value": "0x0280" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6814:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6814:32:30" + }, + "nodeType": "YulIf", + "src": "6811:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "6872:31:30", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_memory_8930", + "nodeType": "YulIdentifier", + "src": "6881:20:30" + }, + "nodeType": "YulFunctionCall", + "src": "6881:22:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6872:5:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6919:5:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6945:9:30" + } + ], + "functionName": { + "name": "abi_decode_bytes20", + "nodeType": "YulIdentifier", + "src": "6926:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "6926:29:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6912:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6912:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6912:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6976:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6983:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6972:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6972:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7011:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7022:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7007:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7007:18:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "6988:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "6988:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6965:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6965:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6965:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7047:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7054:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7043:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7043:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7082:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7093:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7078:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7078:18:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "7059:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "7059:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7036:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7036:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7036:62:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7107:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7138:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7149:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7134:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7134:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7121:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "7121:32:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7111:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7162:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7180:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7184:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "7176:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7176:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7188:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7172:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7172:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "7166:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7217:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7226:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7229:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7219:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7219:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7219:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7205:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "7213:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7202:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "7202:14:30" + }, + "nodeType": "YulIf", + "src": "7199:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7253:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7260:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7249:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7249:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7286:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7297:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7282:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7282:22:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7306:3:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "7265:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "7265:45:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7242:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7242:69:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7242:69:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7331:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7338:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7327:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7327:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7367:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7378:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7363:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7363:19:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "7344:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "7344:39:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7320:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7320:64:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7320:64:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7393:49:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7426:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7437:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7422:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7422:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7409:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "7409:33:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "7397:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7471:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7480:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7483:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7473:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7473:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7473:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "7457:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "7467:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7454:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "7454:16:30" + }, + "nodeType": "YulIf", + "src": "7451:36:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7507:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7514:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7503:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7503:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7541:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "7552:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7537:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7537:24:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7563:3:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "7520:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "7520:47:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7496:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7496:72:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7496:72:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7588:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7595:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7584:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7584:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7618:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7629:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7614:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7614:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7601:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "7601:33:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7577:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7577:58:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7577:58:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7655:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7662:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7651:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7651:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7685:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7696:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7681:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7681:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7668:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "7668:33:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7644:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7644:58:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7644:58:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7711:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7721:3:30", + "type": "", + "value": "256" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "7715:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7744:5:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7751:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7740:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7740:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7779:9:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7790:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7775:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7775:18:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "7756:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "7756:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7733:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7733:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7733:62:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7804:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7814:3:30", + "type": "", + "value": "288" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "7808:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7826:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7859:9:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "7870:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7855:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7855:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7842:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "7842:32:30" + }, + "variables": [ + { + "name": "offset_2", + "nodeType": "YulTypedName", + "src": "7830:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7903:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7912:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7915:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7905:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7905:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7905:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "7889:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "7899:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7886:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "7886:16:30" + }, + "nodeType": "YulIf", + "src": "7883:36:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7939:5:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "7946:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7935:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7935:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7972:9:30" + }, + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "7983:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7968:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7968:24:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7994:3:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "7951:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "7951:47:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7928:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7928:71:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7928:71:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8008:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8018:3:30", + "type": "", + "value": "320" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "8012:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8041:5:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "8048:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8037:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8037:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8075:9:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "8086:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8071:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8071:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "8053:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "8053:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8030:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8030:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8030:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8100:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8110:3:30", + "type": "", + "value": "352" + }, + "variables": [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "8104:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8133:5:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "8140:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8129:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8129:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8166:9:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "8177:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8162:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8162:18:30" + } + ], + "functionName": { + "name": "abi_decode_int64", + "nodeType": "YulIdentifier", + "src": "8145:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "8145:36:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8122:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8122:60:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8122:60:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8191:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8201:3:30", + "type": "", + "value": "384" + }, + "variables": [ + { + "name": "_6", + "nodeType": "YulTypedName", + "src": "8195:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8224:5:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "8231:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8220:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8220:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8253:9:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "8264:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8249:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8249:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8236:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "8236:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8213:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8213:56:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8213:56:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8278:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8288:3:30", + "type": "", + "value": "416" + }, + "variables": [ + { + "name": "_7", + "nodeType": "YulTypedName", + "src": "8282:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8311:5:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "8318:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8307:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8307:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8345:9:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "8356:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8341:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8341:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "8323:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "8323:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8300:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8300:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8300:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8370:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8380:3:30", + "type": "", + "value": "448" + }, + "variables": [ + { + "name": "_8", + "nodeType": "YulTypedName", + "src": "8374:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8403:5:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "8410:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8399:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8399:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8437:9:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "8448:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8433:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8433:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "8415:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "8415:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8392:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8392:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8392:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8462:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8472:3:30", + "type": "", + "value": "480" + }, + "variables": [ + { + "name": "_9", + "nodeType": "YulTypedName", + "src": "8466:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8495:5:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "8502:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8491:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8491:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8529:9:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "8540:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8525:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8525:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "8507:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "8507:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8484:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8484:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8484:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8554:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8565:3:30", + "type": "", + "value": "512" + }, + "variables": [ + { + "name": "_10", + "nodeType": "YulTypedName", + "src": "8558:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8588:5:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "8595:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8584:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8584:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8623:9:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "8634:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8619:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8619:19:30" + } + ], + "functionName": { + "name": "abi_decode_uint16", + "nodeType": "YulIdentifier", + "src": "8601:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "8601:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8577:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8577:63:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8577:63:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8649:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8660:3:30", + "type": "", + "value": "544" + }, + "variables": [ + { + "name": "_11", + "nodeType": "YulTypedName", + "src": "8653:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8683:5:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "8690:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8679:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8679:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8716:9:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "8727:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8712:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8712:19:30" + } + ], + "functionName": { + "name": "abi_decode_bool", + "nodeType": "YulIdentifier", + "src": "8696:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "8696:36:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8672:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8672:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8672:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8742:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8753:3:30", + "type": "", + "value": "576" + }, + "variables": [ + { + "name": "_12", + "nodeType": "YulTypedName", + "src": "8746:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8776:5:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "8783:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8772:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8772:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8806:9:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "8817:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8802:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8802:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8789:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "8789:33:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8765:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8765:58:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8765:58:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8832:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8843:3:30", + "type": "", + "value": "608" + }, + "variables": [ + { + "name": "_13", + "nodeType": "YulTypedName", + "src": "8836:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8866:5:30" + }, + { + "name": "_13", + "nodeType": "YulIdentifier", + "src": "8873:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8862:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8862:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8896:9:30" + }, + { + "name": "_13", + "nodeType": "YulIdentifier", + "src": "8907:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8892:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8892:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8879:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "8879:33:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8855:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8855:58:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8855:58:30" + } + ] + }, + "name": "abi_decode_struct_PeginQuote", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6772:9:30", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6783:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6791:5:30", + "type": "" + } + ], + "src": "6734:2185:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9118:843:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "9165:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9174:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9177:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9167:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9167:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9167:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9139:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9148:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9135:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9135:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9160:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "9131:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9131:33:30" + }, + "nodeType": "YulIf", + "src": "9128:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9190:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9217:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9204:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "9204:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9194:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9236:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9254:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9258:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "9250:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9250:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9262:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9246:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9246:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "9240:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9291:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9300:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9303:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9293:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9293:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9293:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9279:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "9287:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9276:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "9276:14:30" + }, + "nodeType": "YulIf", + "src": "9273:34:30" + }, + { + "nodeType": "YulAssignment", + "src": "9316:71:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9359:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9370:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9355:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9355:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9379:7:30" + } + ], + "functionName": { + "name": "abi_decode_struct_PeginQuote", + "nodeType": "YulIdentifier", + "src": "9326:28:30" + }, + "nodeType": "YulFunctionCall", + "src": "9326:61:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9316:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9396:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9429:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9440:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9425:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9425:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9412:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "9412:32:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "9400:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9473:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9482:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9485:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9475:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9475:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9475:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "9459:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "9469:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9456:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "9456:16:30" + }, + "nodeType": "YulIf", + "src": "9453:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "9498:61:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9529:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "9540:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9525:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9525:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9551:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "9508:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "9508:51:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "9498:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9568:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9601:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9612:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9597:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9597:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9584:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "9584:32:30" + }, + "variables": [ + { + "name": "offset_2", + "nodeType": "YulTypedName", + "src": "9572:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9645:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9654:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9657:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9647:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9647:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9647:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "9631:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "9641:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9628:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "9628:16:30" + }, + "nodeType": "YulIf", + "src": "9625:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "9670:61:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9701:9:30" + }, + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "9712:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9697:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9697:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9723:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "9680:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "9680:51:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "9670:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9740:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9773:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9784:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9769:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9769:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9756:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "9756:32:30" + }, + "variables": [ + { + "name": "offset_3", + "nodeType": "YulTypedName", + "src": "9744:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9817:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9826:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9829:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9819:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9819:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9819:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_3", + "nodeType": "YulIdentifier", + "src": "9803:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "9813:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9800:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "9800:16:30" + }, + "nodeType": "YulIf", + "src": "9797:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "9842:61:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9873:9:30" + }, + { + "name": "offset_3", + "nodeType": "YulIdentifier", + "src": "9884:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9869:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9869:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9895:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "9852:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "9852:51:30" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "9842:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9912:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9939:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9950:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9935:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9935:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9922:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "9922:33:30" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "9912:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_PeginQuote_$10155_memory_ptrt_bytes_memory_ptrt_bytes_memory_ptrt_bytes_memory_ptrt_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9052:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "9063:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9075:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "9083:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "9091:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "9099:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "9107:6:30", + "type": "" + } + ], + "src": "8924:1037:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10065:76:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10075:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10087:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10098:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10083:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10083:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10075:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10117:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10128:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10110:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10110:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10110:25:30" + } + ] + }, + "name": "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10034:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10045:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "10056:4:30", + "type": "" + } + ], + "src": "9966:175:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10216:110:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "10262:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10271:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10274:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10264:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10264:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10264:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10237:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10246:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10233:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10233:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10258:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "10229:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10229:32:30" + }, + "nodeType": "YulIf", + "src": "10226:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "10287:33:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10310:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10297:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "10297:23:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10287:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10182:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "10193:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10205:6:30", + "type": "" + } + ], + "src": "10146:180:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10479:722:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "10526:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10535:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10538:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10528:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10528:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10528:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10500:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10509:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10496:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10496:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10521:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "10492:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10492:33:30" + }, + "nodeType": "YulIf", + "src": "10489:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "10551:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10578:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10565:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "10565:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10555:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "10597:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10615:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10619:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "10611:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10611:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10623:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10607:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10607:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "10601:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10652:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10661:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10664:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10654:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10654:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10654:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10640:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "10648:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "10637:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "10637:14:30" + }, + "nodeType": "YulIf", + "src": "10634:34:30" + }, + { + "nodeType": "YulAssignment", + "src": "10677:59:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10708:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10719:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10704:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10704:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10728:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "10687:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "10687:49:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10677:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "10745:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10778:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10789:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10774:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10774:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10761:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "10761:32:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "10749:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10822:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10831:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10834:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10824:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10824:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10824:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "10808:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "10818:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "10805:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "10805:16:30" + }, + "nodeType": "YulIf", + "src": "10802:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "10847:61:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10878:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "10889:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10874:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10874:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10900:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "10857:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "10857:51:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "10847:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "10917:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10947:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10958:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10943:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10943:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10930:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "10930:32:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10921:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10993:5:30" + } + ], + "functionName": { + "name": "validator_revert_bool", + "nodeType": "YulIdentifier", + "src": "10971:21:30" + }, + "nodeType": "YulFunctionCall", + "src": "10971:28:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10971:28:30" + }, + { + "nodeType": "YulAssignment", + "src": "11008:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11018:5:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "11008:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11032:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11065:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11076:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11061:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11061:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "11048:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "11048:32:30" + }, + "variables": [ + { + "name": "offset_2", + "nodeType": "YulTypedName", + "src": "11036:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11109:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11118:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11121:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "11111:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11111:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11111:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "11095:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "11105:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11092:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "11092:16:30" + }, + "nodeType": "YulIf", + "src": "11089:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "11134:61:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11165:9:30" + }, + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "11176:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11161:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11161:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11187:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "11144:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "11144:51:30" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "11134:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_boolt_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10421:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "10432:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10444:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "10452:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "10460:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "10468:6:30", + "type": "" + } + ], + "src": "10331:870:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11303:91:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11313:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11325:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11336:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11321:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11321:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11313:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11355:9:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11377:1:30", + "type": "", + "value": "1" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11380:6:30" + } + ], + "functionName": { + "name": "signextend", + "nodeType": "YulIdentifier", + "src": "11366:10:30" + }, + "nodeType": "YulFunctionCall", + "src": "11366:21:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11348:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11348:40:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11348:40:30" + } + ] + }, + "name": "abi_encode_tuple_t_int16__to_t_int16__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11272:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11283:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "11294:4:30", + "type": "" + } + ], + "src": "11206:188:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11469:177:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11515:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11524:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11527:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "11517:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11517:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11517:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11490:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11499:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11486:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11486:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11511:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "11482:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11482:32:30" + }, + "nodeType": "YulIf", + "src": "11479:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11540:36:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11566:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "11553:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "11553:23:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "11544:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11610:5:30" + } + ], + "functionName": { + "name": "validator_revert_address", + "nodeType": "YulIdentifier", + "src": "11585:24:30" + }, + "nodeType": "YulFunctionCall", + "src": "11585:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11585:31:30" + }, + { + "nodeType": "YulAssignment", + "src": "11625:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11635:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11625:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11435:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "11446:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11458:6:30", + "type": "" + } + ], + "src": "11399:247:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11692:50:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11709:3:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11728:5:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "11721:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11721:13:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "11714:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11714:21:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11702:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11702:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11702:34:30" + } + ] + }, + "name": "abi_encode_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "11676:5:30", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11683:3:30", + "type": "" + } + ], + "src": "11651:91:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11842:92:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11852:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11864:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11875:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11860:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11860:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11852:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11894:9:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11919:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "11912:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11912:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "11905:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11905:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11887:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11887:41:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11887:41:30" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11811:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11822:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "11833:4:30", + "type": "" + } + ], + "src": "11747:187:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12009:110:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "12055:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12064:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12067:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12057:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12057:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12057:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12030:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12039:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12026:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12026:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12051:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "12022:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12022:32:30" + }, + "nodeType": "YulIf", + "src": "12019:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "12080:33:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12103:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12090:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "12090:23:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12080:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11975:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "11986:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11998:6:30", + "type": "" + } + ], + "src": "11939:180:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12193:114:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "12237:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "12239:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "12239:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12239:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12209:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12225:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12229:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "12221:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12221:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12233:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12217:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12217:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12206:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "12206:30:30" + }, + "nodeType": "YulIf", + "src": "12203:56:30" + }, + { + "nodeType": "YulAssignment", + "src": "12268:33:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12284:1:30", + "type": "", + "value": "5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12287:6:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "12280:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12280:14:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12296:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12276:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12276:25:30" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "12268:4:30" + } + ] + } + ] + }, + "name": "array_allocation_size_array_uint256_dyn", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "12173:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "12184:4:30", + "type": "" + } + ], + "src": "12124:183:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12407:796:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12417:12:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12427:2:30", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "12421:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12474:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12483:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12486:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12476:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12476:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12476:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12449:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12458:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12445:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12445:23:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "12470:2:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "12441:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12441:32:30" + }, + "nodeType": "YulIf", + "src": "12438:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12499:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12526:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12513:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "12513:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12503:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12579:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12588:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12591:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12581:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12581:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12581:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12551:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12567:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12571:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "12563:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12563:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12575:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12559:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12559:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12548:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "12548:30:30" + }, + "nodeType": "YulIf", + "src": "12545:50:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12604:32:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12618:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12629:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12614:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12614:22:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "12608:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12684:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12693:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12696:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12686:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12686:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12686:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "12663:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12667:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12659:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12659:13:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12674:7:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "12655:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12655:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "12648:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12648:35:30" + }, + "nodeType": "YulIf", + "src": "12645:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12709:26:30", + "value": { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "12732:2:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12719:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "12719:16:30" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "12713:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12744:71:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "12811:2:30" + } + ], + "functionName": { + "name": "array_allocation_size_array_uint256_dyn", + "nodeType": "YulIdentifier", + "src": "12771:39:30" + }, + "nodeType": "YulFunctionCall", + "src": "12771:43:30" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "12755:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "12755:60:30" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "12748:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12824:16:30", + "value": { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "12837:3:30" + }, + "variables": [ + { + "name": "dst_1", + "nodeType": "YulTypedName", + "src": "12828:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "12856:3:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "12861:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12849:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12849:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12849:15:30" + }, + { + "nodeType": "YulAssignment", + "src": "12873:19:30", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "12884:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "12889:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12880:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12880:12:30" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "12873:3:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12901:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "12923:2:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12931:1:30", + "type": "", + "value": "5" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "12934:2:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "12927:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12927:10:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12919:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12919:19:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "12940:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12915:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12915:28:30" + }, + "variables": [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "12905:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12975:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12984:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12987:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12977:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12977:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12977:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "12958:6:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12966:7:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12955:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "12955:19:30" + }, + "nodeType": "YulIf", + "src": "12952:39:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13000:22:30", + "value": { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "13015:2:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "13019:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13011:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13011:11:30" + }, + "variables": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "13004:3:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13087:86:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "13108:3:30" + }, + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "13126:3:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13113:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "13113:17:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13101:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13101:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13101:30:30" + }, + { + "nodeType": "YulAssignment", + "src": "13144:19:30", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "13155:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "13160:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13151:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13151:12:30" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "13144:3:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "13042:3:30" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "13047:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "13039:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "13039:15:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "13055:23:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13057:19:30", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "13068:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "13073:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13064:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13064:12:30" + }, + "variableNames": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "13057:3:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "13035:3:30", + "statements": [] + }, + "src": "13031:142:30" + }, + { + "nodeType": "YulAssignment", + "src": "13182:15:30", + "value": { + "name": "dst_1", + "nodeType": "YulIdentifier", + "src": "13192:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13182:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12373:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "12384:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "12396:6:30", + "type": "" + } + ], + "src": "12312:891:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13252:60:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13269:3:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13278:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13293:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13298:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "13289:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13289:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13302:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "13285:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13285:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "13274:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13274:31:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13262:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13262:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13262:44:30" + } + ] + }, + "name": "abi_encode_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "13236:5:30", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "13243:3:30", + "type": "" + } + ], + "src": "13208:104:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13383:184:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13393:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13402:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "13397:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13462:63:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "13487:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "13492:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13483:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13483:11:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "13506:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "13511:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13502:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13502:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13496:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "13496:18:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13476:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13476:39:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13476:39:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "13423:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13426:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "13420:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "13420:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "13434:19:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13436:15:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "13445:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13448:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13441:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13441:10:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "13436:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "13416:3:30", + "statements": [] + }, + "src": "13412:113:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "13545:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13550:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13541:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13541:16:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13559:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13534:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13534:27:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13534:27:30" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "13361:3:30", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "13366:3:30", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13371:6:30", + "type": "" + } + ], + "src": "13317:250:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13622:221:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13632:26:30", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13652:5:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13646:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "13646:12:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13636:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13674:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13679:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13667:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13667:19:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13667:19:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13734:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13741:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13730:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13730:16:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13752:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13757:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13748:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13748:14:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13764:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "13695:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "13695:76:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13695:76:30" + }, + { + "nodeType": "YulAssignment", + "src": "13780:57:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13795:3:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13808:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13816:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13804:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13804:15:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13825:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "13821:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13821:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "13800:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13800:29:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13791:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13791:39:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13832:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13787:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13787:50:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13780:3:30" + } + ] + } + ] + }, + "name": "abi_encode_string", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "13599:5:30", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "13606:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13614:3:30", + "type": "" + } + ], + "src": "13572:271:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14069:1444:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "14079:12:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14089:2:30", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "14083:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14100:32:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14118:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "14129:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14114:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14114:18:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "14104:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14148:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "14159:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14141:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14141:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14141:21:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14171:17:30", + "value": { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "14182:6:30" + }, + "variables": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "14175:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14197:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "14217:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14211:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "14211:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "14201:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "14240:6:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14248:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14233:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14233:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14233:22:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14264:12:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14274:2:30", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "14268:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14285:25:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14296:9:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "14307:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14292:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14292:18:30" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14285:3:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14319:53:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14341:9:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14356:1:30", + "type": "", + "value": "5" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14359:6:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "14352:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14352:14:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14337:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14337:30:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "14369:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14333:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14333:39:30" + }, + "variables": [ + { + "name": "tail_2", + "nodeType": "YulTypedName", + "src": "14323:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14381:29:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "14399:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "14407:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14395:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14395:15:30" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "14385:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14419:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14428:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "14423:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14487:997:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14508:3:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "14521:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14529:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14517:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14517:22:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14545:2:30", + "type": "", + "value": "63" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "14541:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14541:7:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14513:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14513:36:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14501:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14501:49:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14501:49:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14563:23:30", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "14579:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14573:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "14573:13:30" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "14567:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14599:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14609:4:30", + "type": "", + "value": "0xc0" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "14603:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "14633:6:30" + }, + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "14647:2:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14641:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "14641:9:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14626:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14626:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14626:25:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "14675:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "14683:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14671:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14671:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "14702:2:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "14706:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14698:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14698:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14692:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "14692:18:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14720:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14725:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "14716:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14716:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14729:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14712:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14712:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "14688:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14688:44:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14664:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14664:69:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14664:69:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14746:38:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "14776:2:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "14780:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14772:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14772:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14766:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "14766:18:30" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "14750:12:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "14808:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "14816:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14804:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14804:15:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "14821:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14797:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14797:27:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14797:27:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14837:62:30", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "14869:12:30" + }, + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "14887:6:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "14895:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14883:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14883:15:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "14851:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "14851:48:30" + }, + "variables": [ + { + "name": "tail_3", + "nodeType": "YulTypedName", + "src": "14841:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14912:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14922:4:30", + "type": "", + "value": "0x60" + }, + "variables": [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "14916:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14939:40:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "14971:2:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "14975:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14967:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14967:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14961:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "14961:18:30" + }, + "variables": [ + { + "name": "memberValue0_1", + "nodeType": "YulTypedName", + "src": "14943:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "15003:6:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "15011:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14999:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14999:15:30" + }, + { + "arguments": [ + { + "name": "tail_3", + "nodeType": "YulIdentifier", + "src": "15020:6:30" + }, + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "15028:6:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15016:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15016:19:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14992:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "14992:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "14992:44:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "15049:55:30", + "value": { + "arguments": [ + { + "name": "memberValue0_1", + "nodeType": "YulIdentifier", + "src": "15081:14:30" + }, + { + "name": "tail_3", + "nodeType": "YulIdentifier", + "src": "15097:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "15063:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "15063:41:30" + }, + "variables": [ + { + "name": "tail_4", + "nodeType": "YulTypedName", + "src": "15053:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "15117:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15127:4:30", + "type": "", + "value": "0x80" + }, + "variables": [ + { + "name": "_6", + "nodeType": "YulTypedName", + "src": "15121:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "15155:6:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "15163:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15151:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15151:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "15192:2:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "15196:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15188:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15188:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "15182:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "15182:18:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "15175:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "15175:26:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "15168:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "15168:34:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15144:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "15144:59:30" + }, + "nodeType": "YulExpressionStatement", + "src": "15144:59:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "15216:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15226:4:30", + "type": "", + "value": "0xa0" + }, + "variables": [ + { + "name": "_7", + "nodeType": "YulTypedName", + "src": "15220:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "15243:40:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "15275:2:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "15279:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15271:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15271:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "15265:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "15265:18:30" + }, + "variables": [ + { + "name": "memberValue0_2", + "nodeType": "YulTypedName", + "src": "15247:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "15307:6:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "15315:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15303:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15303:15:30" + }, + { + "arguments": [ + { + "name": "tail_4", + "nodeType": "YulIdentifier", + "src": "15324:6:30" + }, + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "15332:6:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15320:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15320:19:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15296:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "15296:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "15296:44:30" + }, + { + "nodeType": "YulAssignment", + "src": "15353:51:30", + "value": { + "arguments": [ + { + "name": "memberValue0_2", + "nodeType": "YulIdentifier", + "src": "15381:14:30" + }, + { + "name": "tail_4", + "nodeType": "YulIdentifier", + "src": "15397:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "15363:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "15363:41:30" + }, + "variableNames": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "15353:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15417:25:30", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "15431:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "15439:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15427:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15427:15:30" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "15417:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15455:19:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15466:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "15471:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15462:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15462:12:30" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15455:3:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "14449:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14452:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "14446:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "14446:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "14460:18:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14462:14:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "14471:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14474:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14467:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "14467:9:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "14462:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "14442:3:30", + "statements": [] + }, + "src": "14438:1046:30" + }, + { + "nodeType": "YulAssignment", + "src": "15493:14:30", + "value": { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "15501:6:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15493:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_struct$_LiquidityProvider_$7056_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_LiquidityProvider_$7056_memory_ptr_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14038:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "14049:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "14060:4:30", + "type": "" + } + ], + "src": "13848:1665:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15619:102:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15629:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15641:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15652:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15637:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15637:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15629:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15671:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "15686:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15702:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15707:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "15698:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15698:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15711:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15694:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15694:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "15682:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15682:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15664:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "15664:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "15664:51:30" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15588:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "15599:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15610:4:30", + "type": "" + } + ], + "src": "15518:203:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15810:225:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "15856:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15865:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15868:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "15858:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "15858:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "15858:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15831:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15840:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15827:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15827:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15852:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "15823:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15823:32:30" + }, + "nodeType": "YulIf", + "src": "15820:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "15881:33:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15904:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "15891:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "15891:23:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "15881:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "15923:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15953:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15964:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15949:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "15949:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "15936:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "15936:32:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15927:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15999:5:30" + } + ], + "functionName": { + "name": "validator_revert_bool", + "nodeType": "YulIdentifier", + "src": "15977:21:30" + }, + "nodeType": "YulFunctionCall", + "src": "15977:28:30" + }, + "nodeType": "YulExpressionStatement", + "src": "15977:28:30" + }, + { + "nodeType": "YulAssignment", + "src": "16014:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16024:5:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "16014:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15768:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "15779:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "15791:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "15799:6:30", + "type": "" + } + ], + "src": "15726:309:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16165:446:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "16211:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16220:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16223:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "16213:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "16213:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "16213:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "16186:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16195:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16182:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16182:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16207:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "16178:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16178:32:30" + }, + "nodeType": "YulIf", + "src": "16175:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "16236:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16263:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "16250:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "16250:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "16240:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "16282:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16300:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16304:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "16296:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16296:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16308:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16292:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16292:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "16286:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16337:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16346:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16349:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "16339:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "16339:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "16339:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "16325:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "16333:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "16322:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "16322:14:30" + }, + "nodeType": "YulIf", + "src": "16319:34:30" + }, + { + "nodeType": "YulAssignment", + "src": "16362:71:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16405:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "16416:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16401:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16401:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "16425:7:30" + } + ], + "functionName": { + "name": "abi_decode_struct_PeginQuote", + "nodeType": "YulIdentifier", + "src": "16372:28:30" + }, + "nodeType": "YulFunctionCall", + "src": "16372:61:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "16362:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "16442:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16475:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16486:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16471:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16471:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "16458:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "16458:32:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "16446:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16519:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16528:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16531:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "16521:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "16521:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "16521:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "16505:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "16515:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "16502:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "16502:16:30" + }, + "nodeType": "YulIf", + "src": "16499:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "16544:61:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16575:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "16586:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16571:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16571:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "16597:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "16554:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "16554:51:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "16544:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_PeginQuote_$10155_memory_ptrt_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16123:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "16134:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "16146:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "16154:6:30", + "type": "" + } + ], + "src": "16040:571:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16715:253:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "16761:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16770:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16773:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "16763:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "16763:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "16763:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "16736:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16745:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16732:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16732:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16757:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "16728:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16728:32:30" + }, + "nodeType": "YulIf", + "src": "16725:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "16786:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16813:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "16800:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "16800:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "16790:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16866:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16875:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16878:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "16868:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "16868:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "16868:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "16838:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16854:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16858:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "16850:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16850:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16862:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16846:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16846:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "16835:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "16835:30:30" + }, + "nodeType": "YulIf", + "src": "16832:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "16891:71:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16934:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "16945:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16930:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "16930:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "16954:7:30" + } + ], + "functionName": { + "name": "abi_decode_struct_PeginQuote", + "nodeType": "YulIdentifier", + "src": "16901:28:30" + }, + "nodeType": "YulFunctionCall", + "src": "16901:61:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "16891:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_PeginQuote_$10155_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16681:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "16692:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "16704:6:30", + "type": "" + } + ], + "src": "16616:352:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17099:447:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "17145:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17154:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17157:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "17147:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "17147:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "17147:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "17120:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17129:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17116:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17116:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17141:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "17112:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17112:32:30" + }, + "nodeType": "YulIf", + "src": "17109:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "17170:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17197:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "17184:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "17184:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "17174:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "17216:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17234:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17238:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "17230:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17230:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17242:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17226:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17226:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "17220:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17271:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17280:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17283:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "17273:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "17273:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "17273:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "17259:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "17267:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "17256:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "17256:14:30" + }, + "nodeType": "YulIf", + "src": "17253:34:30" + }, + { + "nodeType": "YulAssignment", + "src": "17296:72:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17340:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "17351:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17336:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17336:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "17360:7:30" + } + ], + "functionName": { + "name": "abi_decode_struct_PegOutQuote", + "nodeType": "YulIdentifier", + "src": "17306:29:30" + }, + "nodeType": "YulFunctionCall", + "src": "17306:62:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "17296:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "17377:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17410:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17421:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17406:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17406:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "17393:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "17393:32:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "17381:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17454:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17463:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17466:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "17456:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "17456:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "17456:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "17440:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "17450:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "17437:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "17437:16:30" + }, + "nodeType": "YulIf", + "src": "17434:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "17479:61:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17510:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "17521:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17506:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17506:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "17532:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "17489:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "17489:51:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "17479:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_PegOutQuote_$10194_memory_ptrt_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17057:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "17068:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "17080:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "17088:6:30", + "type": "" + } + ], + "src": "16973:573:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17594:47:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17611:3:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "17620:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17627:6:30", + "type": "", + "value": "0xffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "17616:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17616:18:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17604:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "17604:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "17604:31:30" + } + ] + }, + "name": "abi_encode_uint16", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "17578:5:30", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "17585:3:30", + "type": "" + } + ], + "src": "17551:90:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17745:89:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17755:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17767:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17778:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17763:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17763:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17755:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17797:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "17812:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17820:6:30", + "type": "", + "value": "0xffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "17808:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "17808:19:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17790:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "17790:38:30" + }, + "nodeType": "YulExpressionStatement", + "src": "17790:38:30" + } + ] + }, + "name": "abi_encode_tuple_t_uint16__to_t_uint16__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17714:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "17725:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17736:4:30", + "type": "" + } + ], + "src": "17646:188:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18011:1144:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "18058:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18067:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18070:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "18060:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "18060:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "18060:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "18032:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18041:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18028:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18028:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18053:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "18024:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18024:33:30" + }, + "nodeType": "YulIf", + "src": "18021:53:30" + }, + { + "nodeType": "YulAssignment", + "src": "18083:33:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18106:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "18093:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "18093:23:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "18083:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18125:12:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18135:2:30", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "18129:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18146:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18177:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "18188:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18173:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18173:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "18160:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "18160:32:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "18150:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18201:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18219:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18223:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "18215:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18215:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18227:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18211:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18211:18:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "18205:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18256:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18265:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18268:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "18258:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "18258:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "18258:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "18244:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "18252:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "18241:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "18241:14:30" + }, + "nodeType": "YulIf", + "src": "18238:34:30" + }, + { + "nodeType": "YulAssignment", + "src": "18281:59:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18312:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "18323:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18308:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18308:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "18332:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "18291:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "18291:49:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "18281:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "18349:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18376:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18387:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18372:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18372:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "18359:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "18359:32:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "18349:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "18400:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18427:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18438:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18423:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18423:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "18410:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "18410:32:30" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "18400:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18451:49:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18484:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18495:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18480:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18480:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "18467:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "18467:33:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "18455:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18529:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18538:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18541:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "18531:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "18531:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "18531:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "18515:8:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "18525:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "18512:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "18512:16:30" + }, + "nodeType": "YulIf", + "src": "18509:36:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18554:34:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18568:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "18579:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18564:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18564:24:30" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "18558:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18636:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18645:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18648:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "18638:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "18638:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "18638:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "18615:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18619:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18611:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18611:13:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "18626:7:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "18607:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18607:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "18600:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "18600:35:30" + }, + "nodeType": "YulIf", + "src": "18597:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18661:26:30", + "value": { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "18684:2:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "18671:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "18671:16:30" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "18665:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18696:71:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "18763:2:30" + } + ], + "functionName": { + "name": "array_allocation_size_array_uint256_dyn", + "nodeType": "YulIdentifier", + "src": "18723:39:30" + }, + "nodeType": "YulFunctionCall", + "src": "18723:43:30" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "18707:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "18707:60:30" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "18700:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18776:16:30", + "value": { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "18789:3:30" + }, + "variables": [ + { + "name": "dst_1", + "nodeType": "YulTypedName", + "src": "18780:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "18808:3:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "18813:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18801:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "18801:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "18801:15:30" + }, + { + "nodeType": "YulAssignment", + "src": "18825:19:30", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "18836:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "18841:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18832:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18832:12:30" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "18825:3:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18853:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "18875:2:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18883:1:30", + "type": "", + "value": "5" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "18886:2:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "18879:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18879:10:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18871:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18871:19:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "18892:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18867:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18867:28:30" + }, + "variables": [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "18857:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18927:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18936:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18939:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "18929:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "18929:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "18929:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "18910:6:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "18918:7:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "18907:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "18907:19:30" + }, + "nodeType": "YulIf", + "src": "18904:39:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18952:22:30", + "value": { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "18967:2:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "18971:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18963:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "18963:11:30" + }, + "variables": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "18956:3:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19039:86:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "19060:3:30" + }, + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "19078:3:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "19065:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "19065:17:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19053:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "19053:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "19053:30:30" + }, + { + "nodeType": "YulAssignment", + "src": "19096:19:30", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "19107:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "19112:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19103:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19103:12:30" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "19096:3:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "18994:3:30" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "18999:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "18991:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "18991:15:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "19007:23:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19009:19:30", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "19020:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "19025:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19016:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19016:12:30" + }, + "variableNames": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "19009:3:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "18987:3:30", + "statements": [] + }, + "src": "18983:142:30" + }, + { + "nodeType": "YulAssignment", + "src": "19134:15:30", + "value": { + "name": "dst_1", + "nodeType": "YulIdentifier", + "src": "19144:5:30" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "19134:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_bytes_memory_ptrt_bytes32t_uint256t_array$_t_bytes32_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17945:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "17956:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "17968:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "17976:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "17984:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "17992:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "18000:6:30", + "type": "" + } + ], + "src": "17839:1316:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19284:102:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19294:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19306:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19317:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19302:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19302:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19294:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19336:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "19351:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19367:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19372:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "19363:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19363:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19376:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19359:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19359:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "19347:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19347:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19329:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "19329:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "19329:51:30" + } + ] + }, + "name": "abi_encode_tuple_t_contract$_Bridge_$3208__to_t_address_payable__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "19253:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "19264:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "19275:4:30", + "type": "" + } + ], + "src": "19160:226:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19433:49:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19450:3:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19466:1:30", + "type": "", + "value": "7" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "19469:5:30" + } + ], + "functionName": { + "name": "signextend", + "nodeType": "YulIdentifier", + "src": "19455:10:30" + }, + "nodeType": "YulFunctionCall", + "src": "19455:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19443:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "19443:33:30" + }, + "nodeType": "YulExpressionStatement", + "src": "19443:33:30" + } + ] + }, + "name": "abi_encode_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "19417:5:30", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19424:3:30", + "type": "" + } + ], + "src": "19391:91:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19530:51:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19547:3:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "19556:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19563:10:30", + "type": "", + "value": "0xffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "19552:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19552:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19540:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "19540:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "19540:35:30" + } + ] + }, + "name": "abi_encode_uint32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "19514:5:30", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19521:3:30", + "type": "" + } + ], + "src": "19487:94:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19747:2469:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19764:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19775:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19757:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "19757:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "19757:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "19812:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "19806:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "19806:13:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19825:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19836:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19821:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19821:18:30" + } + ], + "functionName": { + "name": "abi_encode_address", + "nodeType": "YulIdentifier", + "src": "19787:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "19787:53:30" + }, + "nodeType": "YulExpressionStatement", + "src": "19787:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "19849:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "19879:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19887:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19875:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19875:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "19869:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "19869:22:30" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "19853:12:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "19919:12:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19937:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19948:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19933:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19933:18:30" + } + ], + "functionName": { + "name": "abi_encode_address", + "nodeType": "YulIdentifier", + "src": "19900:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "19900:52:30" + }, + "nodeType": "YulExpressionStatement", + "src": "19900:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "19961:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "19993:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20001:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19989:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "19989:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "19983:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "19983:22:30" + }, + "variables": [ + { + "name": "memberValue0_1", + "nodeType": "YulTypedName", + "src": "19965:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20014:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20024:6:30", + "type": "", + "value": "0x0260" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "20018:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20050:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20061:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20046:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20046:18:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "20066:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20039:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "20039:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "20039:30:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20078:68:30", + "value": { + "arguments": [ + { + "name": "memberValue0_1", + "nodeType": "YulIdentifier", + "src": "20110:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20130:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20141:3:30", + "type": "", + "value": "640" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20126:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20126:19:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "20092:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "20092:54:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "20082:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20155:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20187:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20195:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20183:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20183:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20177:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "20177:22:30" + }, + "variables": [ + { + "name": "memberValue0_2", + "nodeType": "YulTypedName", + "src": "20159:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_2", + "nodeType": "YulIdentifier", + "src": "20227:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20247:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20258:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20243:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20243:19:30" + } + ], + "functionName": { + "name": "abi_encode_address", + "nodeType": "YulIdentifier", + "src": "20208:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "20208:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "20208:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20272:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20304:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20312:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20300:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20300:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20294:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "20294:23:30" + }, + "variables": [ + { + "name": "memberValue0_3", + "nodeType": "YulTypedName", + "src": "20276:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20326:17:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20340:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "20336:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20336:7:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "20330:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20363:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20374:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20359:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20359:19:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "20388:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20396:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "20384:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20384:22:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "20408:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20380:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20380:31:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20352:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "20352:60:30" + }, + "nodeType": "YulExpressionStatement", + "src": "20352:60:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20421:55:30", + "value": { + "arguments": [ + { + "name": "memberValue0_3", + "nodeType": "YulIdentifier", + "src": "20453:14:30" + }, + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "20469:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "20435:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "20435:41:30" + }, + "variables": [ + { + "name": "tail_2", + "nodeType": "YulTypedName", + "src": "20425:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20496:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20507:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20492:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20492:19:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20523:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20531:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20519:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20519:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20513:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "20513:23:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20485:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "20485:52:30" + }, + "nodeType": "YulExpressionStatement", + "src": "20485:52:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20557:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20568:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20553:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20553:19:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20584:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20592:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20580:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20580:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20574:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "20574:23:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20546:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "20546:52:30" + }, + "nodeType": "YulExpressionStatement", + "src": "20546:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20607:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20639:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20647:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20635:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20635:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20629:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "20629:23:30" + }, + "variables": [ + { + "name": "memberValue0_4", + "nodeType": "YulTypedName", + "src": "20611:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20661:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20671:3:30", + "type": "", + "value": "256" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "20665:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_4", + "nodeType": "YulIdentifier", + "src": "20700:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20720:9:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "20731:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20716:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20716:18:30" + } + ], + "functionName": { + "name": "abi_encode_int64", + "nodeType": "YulIdentifier", + "src": "20683:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "20683:52:30" + }, + "nodeType": "YulExpressionStatement", + "src": "20683:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20744:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20776:6:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "20784:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20772:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20772:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20766:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "20766:22:30" + }, + "variables": [ + { + "name": "memberValue0_5", + "nodeType": "YulTypedName", + "src": "20748:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20797:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20807:3:30", + "type": "", + "value": "288" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "20801:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20830:9:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "20841:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20826:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20826:18:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "20854:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20862:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "20850:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20850:22:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "20874:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20846:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20846:31:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20819:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "20819:59:30" + }, + "nodeType": "YulExpressionStatement", + "src": "20819:59:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20887:55:30", + "value": { + "arguments": [ + { + "name": "memberValue0_5", + "nodeType": "YulIdentifier", + "src": "20919:14:30" + }, + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "20935:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "20901:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "20901:41:30" + }, + "variables": [ + { + "name": "tail_3", + "nodeType": "YulTypedName", + "src": "20891:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20951:32:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20971:6:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "20979:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20967:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "20967:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20961:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "20961:22:30" + }, + "variables": [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "20955:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20992:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21002:3:30", + "type": "", + "value": "320" + }, + "variables": [ + { + "name": "_6", + "nodeType": "YulTypedName", + "src": "20996:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21025:9:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "21036:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21021:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21021:18:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "21041:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21014:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "21014:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "21014:30:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21053:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "21085:6:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "21093:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21081:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21081:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21075:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "21075:22:30" + }, + "variables": [ + { + "name": "memberValue0_6", + "nodeType": "YulTypedName", + "src": "21057:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21106:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21116:3:30", + "type": "", + "value": "352" + }, + "variables": [ + { + "name": "_7", + "nodeType": "YulTypedName", + "src": "21110:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_6", + "nodeType": "YulIdentifier", + "src": "21146:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21166:9:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "21177:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21162:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21162:18:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "21128:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "21128:53:30" + }, + "nodeType": "YulExpressionStatement", + "src": "21128:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21190:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "21222:6:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "21230:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21218:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21218:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21212:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "21212:22:30" + }, + "variables": [ + { + "name": "memberValue0_7", + "nodeType": "YulTypedName", + "src": "21194:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21243:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21253:3:30", + "type": "", + "value": "384" + }, + "variables": [ + { + "name": "_8", + "nodeType": "YulTypedName", + "src": "21247:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_7", + "nodeType": "YulIdentifier", + "src": "21283:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21303:9:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "21314:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21299:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21299:18:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "21265:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "21265:53:30" + }, + "nodeType": "YulExpressionStatement", + "src": "21265:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21327:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "21359:6:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "21367:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21355:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21355:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21349:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "21349:22:30" + }, + "variables": [ + { + "name": "memberValue0_8", + "nodeType": "YulTypedName", + "src": "21331:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21380:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21390:3:30", + "type": "", + "value": "416" + }, + "variables": [ + { + "name": "_9", + "nodeType": "YulTypedName", + "src": "21384:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_8", + "nodeType": "YulIdentifier", + "src": "21420:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21440:9:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "21451:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21436:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21436:18:30" + } + ], + "functionName": { + "name": "abi_encode_uint16", + "nodeType": "YulIdentifier", + "src": "21402:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "21402:53:30" + }, + "nodeType": "YulExpressionStatement", + "src": "21402:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21464:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "21496:6:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "21504:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21492:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21492:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21486:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "21486:22:30" + }, + "variables": [ + { + "name": "memberValue0_9", + "nodeType": "YulTypedName", + "src": "21468:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21517:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21528:3:30", + "type": "", + "value": "448" + }, + "variables": [ + { + "name": "_10", + "nodeType": "YulTypedName", + "src": "21521:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_9", + "nodeType": "YulIdentifier", + "src": "21558:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21578:9:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "21589:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21574:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21574:19:30" + } + ], + "functionName": { + "name": "abi_encode_uint16", + "nodeType": "YulIdentifier", + "src": "21540:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "21540:54:30" + }, + "nodeType": "YulExpressionStatement", + "src": "21540:54:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21603:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "21636:6:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "21644:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21632:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21632:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21626:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "21626:23:30" + }, + "variables": [ + { + "name": "memberValue0_10", + "nodeType": "YulTypedName", + "src": "21607:15:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21658:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21669:3:30", + "type": "", + "value": "480" + }, + "variables": [ + { + "name": "_11", + "nodeType": "YulTypedName", + "src": "21662:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_10", + "nodeType": "YulIdentifier", + "src": "21699:15:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21720:9:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "21731:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21716:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21716:19:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "21681:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "21681:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "21681:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21745:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "21778:6:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "21786:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21774:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21774:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21768:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "21768:23:30" + }, + "variables": [ + { + "name": "memberValue0_11", + "nodeType": "YulTypedName", + "src": "21749:15:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21800:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21811:3:30", + "type": "", + "value": "512" + }, + "variables": [ + { + "name": "_12", + "nodeType": "YulTypedName", + "src": "21804:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_11", + "nodeType": "YulIdentifier", + "src": "21841:15:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21862:9:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "21873:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21858:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21858:19:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "21823:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "21823:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "21823:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21887:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "21920:6:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "21928:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21916:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "21916:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21910:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "21910:23:30" + }, + "variables": [ + { + "name": "memberValue0_12", + "nodeType": "YulTypedName", + "src": "21891:15:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21942:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21953:3:30", + "type": "", + "value": "544" + }, + "variables": [ + { + "name": "_13", + "nodeType": "YulTypedName", + "src": "21946:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_12", + "nodeType": "YulIdentifier", + "src": "21983:15:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22004:9:30" + }, + { + "name": "_13", + "nodeType": "YulIdentifier", + "src": "22015:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22000:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22000:19:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "21965:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "21965:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "21965:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "22029:34:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "22050:6:30" + }, + { + "name": "_13", + "nodeType": "YulIdentifier", + "src": "22058:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22046:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22046:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "22040:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "22040:23:30" + }, + "variables": [ + { + "name": "_14", + "nodeType": "YulTypedName", + "src": "22033:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "22072:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22083:3:30", + "type": "", + "value": "576" + }, + "variables": [ + { + "name": "_15", + "nodeType": "YulTypedName", + "src": "22076:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22106:9:30" + }, + { + "name": "_15", + "nodeType": "YulIdentifier", + "src": "22117:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22102:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22102:19:30" + }, + { + "name": "_14", + "nodeType": "YulIdentifier", + "src": "22123:3:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22095:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "22095:32:30" + }, + "nodeType": "YulExpressionStatement", + "src": "22095:32:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22147:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "22158:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22143:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22143:18:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "22173:6:30" + }, + { + "name": "_15", + "nodeType": "YulIdentifier", + "src": "22181:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22169:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22169:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "22163:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "22163:23:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22136:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "22136:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "22136:51:30" + }, + { + "nodeType": "YulAssignment", + "src": "22196:14:30", + "value": { + "name": "tail_3", + "nodeType": "YulIdentifier", + "src": "22204:6:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22196:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_PegOutQuote_$10194_memory_ptr__to_t_struct$_PegOutQuote_$10194_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "19716:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "19727:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "19738:4:30", + "type": "" + } + ], + "src": "19586:2630:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22395:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22412:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22423:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22405:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "22405:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "22405:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22446:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22457:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22442:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22442:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22462:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22435:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "22435:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "22435:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22484:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22495:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22480:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22480:18:30" + }, + { + "hexValue": "4c4243303238", + "kind": "string", + "nodeType": "YulLiteral", + "src": "22500:8:30", + "type": "", + "value": "LBC028" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22473:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "22473:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "22473:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "22518:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22530:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22541:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22526:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22526:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22518:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_4c4b8fd0ae53a3caa85e74f53bba210cefdcb0e1d1c519eb8385d2cd3741f7fb__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "22372:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "22386:4:30", + "type": "" + } + ], + "src": "22221:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22738:211:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22755:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "22770:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22786:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22791:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "22782:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22782:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22795:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "22778:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22778:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "22766:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22766:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22748:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "22748:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "22748:51:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22819:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22830:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22815:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22815:18:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "22835:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22808:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "22808:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "22808:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22862:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22873:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22858:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22858:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22878:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22851:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "22851:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "22851:30:30" + }, + { + "nodeType": "YulAssignment", + "src": "22890:53:30", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "22916:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22928:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22939:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22924:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "22924:18:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "22898:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "22898:45:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22890:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_bytes32_t_bytes_memory_ptr__to_t_address_t_bytes32_t_bytes_memory_ptr__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "22691:9:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "22702:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "22710:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "22718:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "22729:4:30", + "type": "" + } + ], + "src": "22555:394:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23032:167:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "23078:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23087:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23090:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "23080:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "23080:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "23080:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "23053:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23062:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23049:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "23049:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23074:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "23045:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "23045:32:30" + }, + "nodeType": "YulIf", + "src": "23042:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "23103:29:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23122:9:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "23116:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "23116:16:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "23107:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "23163:5:30" + } + ], + "functionName": { + "name": "validator_revert_bool", + "nodeType": "YulIdentifier", + "src": "23141:21:30" + }, + "nodeType": "YulFunctionCall", + "src": "23141:28:30" + }, + "nodeType": "YulExpressionStatement", + "src": "23141:28:30" + }, + { + "nodeType": "YulAssignment", + "src": "23178:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "23188:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "23178:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bool_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "22998:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "23009:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "23021:6:30", + "type": "" + } + ], + "src": "22954:245:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23378:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23395:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23406:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23388:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "23388:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "23388:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23429:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23440:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23425:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "23425:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23445:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23418:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "23418:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "23418:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23467:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23478:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23463:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "23463:18:30" + }, + { + "hexValue": "4c4243303239", + "kind": "string", + "nodeType": "YulLiteral", + "src": "23483:8:30", + "type": "", + "value": "LBC029" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23456:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "23456:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "23456:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "23501:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23513:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23524:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23509:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "23509:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23501:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ebb41fd1c3d95b8eaff1e56d491f7a983f7f3039fac57e6fad7993de139e2216__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23355:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23369:4:30", + "type": "" + } + ], + "src": "23204:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23712:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23729:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23740:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23722:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "23722:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "23722:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23763:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23774:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23759:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "23759:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23779:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23752:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "23752:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "23752:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23801:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23812:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23797:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "23797:18:30" + }, + { + "hexValue": "4c4243303330", + "kind": "string", + "nodeType": "YulLiteral", + "src": "23817:8:30", + "type": "", + "value": "LBC030" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23790:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "23790:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "23790:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "23835:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23847:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23858:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23843:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "23843:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23835:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_6b987c2142a6ed89e76021f4d9a60f3cbfc2f7110bd81bc33ff58ad7cf27befa__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23689:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23703:4:30", + "type": "" + } + ], + "src": "23538:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24046:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24063:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24074:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24056:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "24056:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "24056:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24097:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24108:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24093:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "24093:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24113:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24086:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "24086:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "24086:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24135:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24146:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24131:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "24131:18:30" + }, + { + "hexValue": "4c4243303331", + "kind": "string", + "nodeType": "YulLiteral", + "src": "24151:8:30", + "type": "", + "value": "LBC031" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24124:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "24124:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "24124:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "24169:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24181:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24192:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24177:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "24177:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24169:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b9f5a33cea5e5738277827f2f81faa92d1d3c73cf030e2542a7b80c6f7bdc8a7__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "24023:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "24037:4:30", + "type": "" + } + ], + "src": "23872:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24380:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24397:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24408:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24390:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "24390:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "24390:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24431:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24442:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24427:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "24427:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24447:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24420:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "24420:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "24420:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24469:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24480:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24465:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "24465:18:30" + }, + { + "hexValue": "4c4243303332", + "kind": "string", + "nodeType": "YulLiteral", + "src": "24485:8:30", + "type": "", + "value": "LBC032" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24458:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "24458:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "24458:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "24503:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24515:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24526:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24511:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "24511:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24503:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_5d8d108d93a53583cf1949d2287cc7f0af5603bd102faf9db90e7e6bbc90ade8__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "24357:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "24371:4:30", + "type": "" + } + ], + "src": "24206:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24714:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24731:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24742:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24724:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "24724:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "24724:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24765:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24776:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24761:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "24761:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24781:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24754:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "24754:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "24754:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24803:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24814:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24799:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "24799:18:30" + }, + { + "hexValue": "4c4243303333", + "kind": "string", + "nodeType": "YulLiteral", + "src": "24819:8:30", + "type": "", + "value": "LBC033" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24792:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "24792:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "24792:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "24837:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24849:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24860:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24845:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "24845:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24837:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_e976d8a3febca36c67dcd5b38ae845ffd2f248a24eaf2d7a97f208ffd80ff125__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "24691:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "24705:4:30", + "type": "" + } + ], + "src": "24540:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25048:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25065:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25076:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25058:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "25058:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "25058:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25099:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25110:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25095:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "25095:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25115:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25088:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "25088:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "25088:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25137:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25148:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25133:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "25133:18:30" + }, + { + "hexValue": "4c4243303334", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25153:8:30", + "type": "", + "value": "LBC034" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25126:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "25126:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "25126:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "25171:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25183:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25194:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25179:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "25179:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25171:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_745436b16371784f7b451bf4bed6f0978e2f007f74e71dfa0c49414b3a522759__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "25025:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "25039:4:30", + "type": "" + } + ], + "src": "24874:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25382:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25399:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25410:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25392:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "25392:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "25392:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25433:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25444:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25429:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "25429:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25449:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25422:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "25422:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "25422:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25471:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25482:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25467:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "25467:18:30" + }, + { + "hexValue": "4c4243303335", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25487:8:30", + "type": "", + "value": "LBC035" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25460:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "25460:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "25460:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "25505:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25517:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25528:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25513:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "25513:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25505:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_37570ea73114ff69cb8aab9e09d6f5beb11b36ce1a2ae19ee6f5de28dc42d754__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "25359:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "25373:4:30", + "type": "" + } + ], + "src": "25208:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25716:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25733:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25744:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25726:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "25726:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "25726:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25767:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25778:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25763:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "25763:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25783:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25756:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "25756:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "25756:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25805:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25816:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25801:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "25801:18:30" + }, + { + "hexValue": "4c4243303336", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25821:8:30", + "type": "", + "value": "LBC036" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25794:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "25794:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "25794:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "25839:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25851:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25862:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25847:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "25847:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25839:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_5ccb4449252c316623411606962515c0966208bcce5fe352c2e850b058d1077c__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "25693:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "25707:4:30", + "type": "" + } + ], + "src": "25542:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25908:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25925:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25932:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25937:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "25928:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "25928:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25918:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "25918:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "25918:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25965:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25968:4:30", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25958:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "25958:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "25958:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25989:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25992:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "25982:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "25982:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "25982:15:30" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "25876:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26057:79:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26067:17:30", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26079:1:30" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "26082:1:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "26075:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "26075:9:30" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "26067:4:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26108:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "26110:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "26110:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "26110:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "26099:4:30" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26105:1:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "26096:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "26096:11:30" + }, + "nodeType": "YulIf", + "src": "26093:37:30" + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "26039:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "26042:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "26048:4:30", + "type": "" + } + ], + "src": "26008:128:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26298:188:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26308:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26320:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26331:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26316:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "26316:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26308:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26350:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "26365:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26381:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26386:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "26377:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "26377:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26390:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "26373:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "26373:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "26361:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "26361:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26343:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "26343:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "26343:51:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26414:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26425:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26410:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "26410:18:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "26430:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26403:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "26403:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "26403:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26457:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26468:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26453:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "26453:18:30" + }, + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "26473:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26446:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "26446:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "26446:34:30" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256_t_bytes32__to_t_address_t_uint256_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "26251:9:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "26262:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "26270:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "26278:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "26289:4:30", + "type": "" + } + ], + "src": "26141:345:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26543:116:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26553:20:30", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26568:1:30" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "26571:1:30" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "26564:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "26564:9:30" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "26553:7:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26631:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "26633:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "26633:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "26633:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26602:1:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "26595:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "26595:9:30" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "26609:1:30" + }, + { + "arguments": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "26616:7:30" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26625:1:30" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "26612:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "26612:15:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "26606:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "26606:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "26592:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "26592:37:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "26585:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "26585:45:30" + }, + "nodeType": "YulIf", + "src": "26582:71:30" + } + ] + }, + "name": "checked_mul_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "26522:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "26525:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "26531:7:30", + "type": "" + } + ], + "src": "26491:168:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26696:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26713:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26720:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26725:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "26716:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "26716:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26706:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "26706:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "26706:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26753:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26756:4:30", + "type": "", + "value": "0x12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26746:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "26746:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "26746:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26777:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26780:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "26770:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "26770:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "26770:15:30" + } + ] + }, + "name": "panic_error_0x12", + "nodeType": "YulFunctionDefinition", + "src": "26664:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26842:74:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "26865:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x12", + "nodeType": "YulIdentifier", + "src": "26867:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "26867:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "26867:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "26862:1:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "26855:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "26855:9:30" + }, + "nodeType": "YulIf", + "src": "26852:35:30" + }, + { + "nodeType": "YulAssignment", + "src": "26896:14:30", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26905:1:30" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "26908:1:30" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "26901:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "26901:9:30" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "26896:1:30" + } + ] + } + ] + }, + "name": "checked_div_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "26827:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "26830:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "r", + "nodeType": "YulTypedName", + "src": "26836:1:30", + "type": "" + } + ], + "src": "26796:120:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27048:119:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27058:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27070:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27081:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27066:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27066:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27058:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27100:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "27111:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27093:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "27093:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "27093:25:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27138:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27149:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27134:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27134:18:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "27154:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27127:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "27127:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "27127:34:30" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_int256__to_t_bytes32_t_int256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "27009:9:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "27020:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "27028:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "27039:4:30", + "type": "" + } + ], + "src": "26921:246:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27216:64:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27233:3:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27242:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27261:2:30", + "type": "", + "value": "96" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27265:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "27257:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27257:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27269:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "27253:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27253:18:30" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "27249:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27249:23:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "27238:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27238:35:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27226:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "27226:48:30" + }, + "nodeType": "YulExpressionStatement", + "src": "27226:48:30" + } + ] + }, + "name": "abi_encode_bytes20", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "27200:5:30", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "27207:3:30", + "type": "" + } + ], + "src": "27172:108:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27346:2368:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "27356:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27366:6:30", + "type": "", + "value": "0x0280" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "27360:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27406:5:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "27400:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "27400:12:30" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27414:3:30" + } + ], + "functionName": { + "name": "abi_encode_bytes20", + "nodeType": "YulIdentifier", + "src": "27381:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "27381:37:30" + }, + "nodeType": "YulExpressionStatement", + "src": "27381:37:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "27427:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27457:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27464:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27453:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27453:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "27447:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "27447:23:30" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "27431:12:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "27498:12:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27516:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27521:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27512:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27512:14:30" + } + ], + "functionName": { + "name": "abi_encode_address", + "nodeType": "YulIdentifier", + "src": "27479:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "27479:48:30" + }, + "nodeType": "YulExpressionStatement", + "src": "27479:48:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "27536:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27568:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27575:4:30", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27564:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27564:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "27558:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "27558:23:30" + }, + "variables": [ + { + "name": "memberValue0_1", + "nodeType": "YulTypedName", + "src": "27540:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_1", + "nodeType": "YulIdentifier", + "src": "27609:14:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27629:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27634:4:30", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27625:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27625:14:30" + } + ], + "functionName": { + "name": "abi_encode_address", + "nodeType": "YulIdentifier", + "src": "27590:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "27590:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "27590:50:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "27649:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27681:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27688:4:30", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27677:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27677:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "27671:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "27671:23:30" + }, + "variables": [ + { + "name": "memberValue0_2", + "nodeType": "YulTypedName", + "src": "27653:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27714:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27719:4:30", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27710:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27710:14:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "27726:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27703:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "27703:26:30" + }, + "nodeType": "YulExpressionStatement", + "src": "27703:26:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "27738:59:30", + "value": { + "arguments": [ + { + "name": "memberValue0_2", + "nodeType": "YulIdentifier", + "src": "27768:14:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27788:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "27793:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27784:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27784:12:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "27750:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "27750:47:30" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "27742:4:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "27806:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27838:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27845:4:30", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27834:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27834:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "27828:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "27828:23:30" + }, + "variables": [ + { + "name": "memberValue0_3", + "nodeType": "YulTypedName", + "src": "27810:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_3", + "nodeType": "YulIdentifier", + "src": "27879:14:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27899:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27904:4:30", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27895:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27895:14:30" + } + ], + "functionName": { + "name": "abi_encode_address", + "nodeType": "YulIdentifier", + "src": "27860:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "27860:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "27860:50:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "27919:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27951:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27958:4:30", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27947:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27947:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "27941:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "27941:23:30" + }, + "variables": [ + { + "name": "memberValue0_4", + "nodeType": "YulTypedName", + "src": "27923:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27984:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27989:4:30", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27980:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27980:14:30" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28000:4:30" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28006:3:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "27996:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "27996:14:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27973:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "27973:38:30" + }, + "nodeType": "YulExpressionStatement", + "src": "27973:38:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28020:53:30", + "value": { + "arguments": [ + { + "name": "memberValue0_4", + "nodeType": "YulIdentifier", + "src": "28052:14:30" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28068:4:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "28034:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "28034:39:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "28024:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28093:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28098:4:30", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28089:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28089:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "28115:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28122:4:30", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28111:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28111:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "28105:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "28105:23:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28082:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "28082:47:30" + }, + "nodeType": "YulExpressionStatement", + "src": "28082:47:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28149:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28154:4:30", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28145:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28145:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "28171:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28178:4:30", + "type": "", + "value": "0xe0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28167:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28167:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "28161:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "28161:23:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28138:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "28138:47:30" + }, + "nodeType": "YulExpressionStatement", + "src": "28138:47:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28194:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28204:6:30", + "type": "", + "value": "0x0100" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "28198:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28219:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "28251:5:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "28258:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28247:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28247:14:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "28241:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "28241:21:30" + }, + "variables": [ + { + "name": "memberValue0_5", + "nodeType": "YulTypedName", + "src": "28223:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_5", + "nodeType": "YulIdentifier", + "src": "28290:14:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28310:3:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "28315:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28306:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28306:12:30" + } + ], + "functionName": { + "name": "abi_encode_address", + "nodeType": "YulIdentifier", + "src": "28271:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "28271:48:30" + }, + "nodeType": "YulExpressionStatement", + "src": "28271:48:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28328:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28338:6:30", + "type": "", + "value": "0x0120" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "28332:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28353:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "28385:5:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "28392:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28381:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28381:14:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "28375:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "28375:21:30" + }, + "variables": [ + { + "name": "memberValue0_6", + "nodeType": "YulTypedName", + "src": "28357:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28416:3:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "28421:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28412:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28412:12:30" + }, + { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "28430:6:30" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28438:3:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "28426:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28426:16:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28405:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "28405:38:30" + }, + "nodeType": "YulExpressionStatement", + "src": "28405:38:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28452:55:30", + "value": { + "arguments": [ + { + "name": "memberValue0_6", + "nodeType": "YulIdentifier", + "src": "28484:14:30" + }, + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "28500:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "28466:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "28466:41:30" + }, + "variables": [ + { + "name": "tail_2", + "nodeType": "YulTypedName", + "src": "28456:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28516:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28526:6:30", + "type": "", + "value": "0x0140" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "28520:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28541:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "28573:5:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "28580:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28569:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28569:14:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "28563:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "28563:21:30" + }, + "variables": [ + { + "name": "memberValue0_7", + "nodeType": "YulTypedName", + "src": "28545:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_7", + "nodeType": "YulIdentifier", + "src": "28611:14:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28631:3:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "28636:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28627:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28627:12:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "28593:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "28593:47:30" + }, + "nodeType": "YulExpressionStatement", + "src": "28593:47:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28649:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28659:6:30", + "type": "", + "value": "0x0160" + }, + "variables": [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "28653:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28674:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "28706:5:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "28713:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28702:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28702:14:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "28696:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "28696:21:30" + }, + "variables": [ + { + "name": "memberValue0_8", + "nodeType": "YulTypedName", + "src": "28678:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_8", + "nodeType": "YulIdentifier", + "src": "28743:14:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28763:3:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "28768:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28759:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28759:12:30" + } + ], + "functionName": { + "name": "abi_encode_int64", + "nodeType": "YulIdentifier", + "src": "28726:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "28726:46:30" + }, + "nodeType": "YulExpressionStatement", + "src": "28726:46:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28781:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28791:6:30", + "type": "", + "value": "0x0180" + }, + "variables": [ + { + "name": "_6", + "nodeType": "YulTypedName", + "src": "28785:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28817:3:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "28822:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28813:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28813:12:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "28837:5:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "28844:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28833:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28833:14:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "28827:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "28827:21:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28806:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "28806:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "28806:43:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28858:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28868:6:30", + "type": "", + "value": "0x01a0" + }, + "variables": [ + { + "name": "_7", + "nodeType": "YulTypedName", + "src": "28862:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28883:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "28915:5:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "28922:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28911:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28911:14:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "28905:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "28905:21:30" + }, + "variables": [ + { + "name": "memberValue0_9", + "nodeType": "YulTypedName", + "src": "28887:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_9", + "nodeType": "YulIdentifier", + "src": "28953:14:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28973:3:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "28978:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28969:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "28969:12:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "28935:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "28935:47:30" + }, + "nodeType": "YulExpressionStatement", + "src": "28935:47:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28991:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29001:6:30", + "type": "", + "value": "0x01c0" + }, + "variables": [ + { + "name": "_8", + "nodeType": "YulTypedName", + "src": "28995:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "29016:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "29049:5:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "29056:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29045:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29045:14:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "29039:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "29039:21:30" + }, + "variables": [ + { + "name": "memberValue0_10", + "nodeType": "YulTypedName", + "src": "29020:15:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_10", + "nodeType": "YulIdentifier", + "src": "29087:15:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29108:3:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "29113:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29104:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29104:12:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "29069:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "29069:48:30" + }, + "nodeType": "YulExpressionStatement", + "src": "29069:48:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "29126:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29136:6:30", + "type": "", + "value": "0x01e0" + }, + "variables": [ + { + "name": "_9", + "nodeType": "YulTypedName", + "src": "29130:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "29151:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "29184:5:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "29191:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29180:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29180:14:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "29174:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "29174:21:30" + }, + "variables": [ + { + "name": "memberValue0_11", + "nodeType": "YulTypedName", + "src": "29155:15:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_11", + "nodeType": "YulIdentifier", + "src": "29222:15:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29243:3:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "29248:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29239:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29239:12:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "29204:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "29204:48:30" + }, + "nodeType": "YulExpressionStatement", + "src": "29204:48:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "29261:17:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29272:6:30", + "type": "", + "value": "0x0200" + }, + "variables": [ + { + "name": "_10", + "nodeType": "YulTypedName", + "src": "29265:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "29287:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "29320:5:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "29327:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29316:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29316:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "29310:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "29310:22:30" + }, + "variables": [ + { + "name": "memberValue0_12", + "nodeType": "YulTypedName", + "src": "29291:15:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_12", + "nodeType": "YulIdentifier", + "src": "29359:15:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29380:3:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "29385:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29376:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29376:13:30" + } + ], + "functionName": { + "name": "abi_encode_uint16", + "nodeType": "YulIdentifier", + "src": "29341:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "29341:49:30" + }, + "nodeType": "YulExpressionStatement", + "src": "29341:49:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "29399:17:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29410:6:30", + "type": "", + "value": "0x0220" + }, + "variables": [ + { + "name": "_11", + "nodeType": "YulTypedName", + "src": "29403:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "29425:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "29458:5:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "29465:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29454:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29454:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "29448:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "29448:22:30" + }, + "variables": [ + { + "name": "memberValue0_13", + "nodeType": "YulTypedName", + "src": "29429:15:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_13", + "nodeType": "YulIdentifier", + "src": "29495:15:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29516:3:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "29521:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29512:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29512:13:30" + } + ], + "functionName": { + "name": "abi_encode_bool", + "nodeType": "YulIdentifier", + "src": "29479:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "29479:47:30" + }, + "nodeType": "YulExpressionStatement", + "src": "29479:47:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "29535:17:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29546:6:30", + "type": "", + "value": "0x0240" + }, + "variables": [ + { + "name": "_12", + "nodeType": "YulTypedName", + "src": "29539:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29572:3:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "29577:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29568:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29568:13:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "29593:5:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "29600:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29589:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29589:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "29583:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "29583:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29561:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "29561:45:30" + }, + "nodeType": "YulExpressionStatement", + "src": "29561:45:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "29615:17:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29626:6:30", + "type": "", + "value": "0x0260" + }, + "variables": [ + { + "name": "_13", + "nodeType": "YulTypedName", + "src": "29619:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29652:3:30" + }, + { + "name": "_13", + "nodeType": "YulIdentifier", + "src": "29657:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29648:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29648:13:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "29673:5:30" + }, + { + "name": "_13", + "nodeType": "YulIdentifier", + "src": "29680:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29669:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29669:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "29663:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "29663:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29641:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "29641:45:30" + }, + "nodeType": "YulExpressionStatement", + "src": "29641:45:30" + }, + { + "nodeType": "YulAssignment", + "src": "29695:13:30", + "value": { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "29702:6:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "29695:3:30" + } + ] + } + ] + }, + "name": "abi_encode_struct_PeginQuote", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "27323:5:30", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "27330:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "27338:3:30", + "type": "" + } + ], + "src": "27285:2429:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29914:153:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29931:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29942:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29924:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "29924:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "29924:21:30" + }, + { + "nodeType": "YulAssignment", + "src": "29954:64:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "29991:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30003:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30014:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29999:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "29999:18:30" + } + ], + "functionName": { + "name": "abi_encode_struct_PeginQuote", + "nodeType": "YulIdentifier", + "src": "29962:28:30" + }, + "nodeType": "YulFunctionCall", + "src": "29962:56:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29954:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30038:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30049:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30034:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "30034:18:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "30054:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30027:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "30027:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "30027:34:30" + } + ] + }, + "name": "abi_encode_tuple_t_struct$_PeginQuote_$10155_memory_ptr_t_uint256__to_t_struct$_PeginQuote_$10155_memory_ptr_t_uint256__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "29875:9:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "29886:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "29894:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "29905:4:30", + "type": "" + } + ], + "src": "29719:348:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30120:77:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30130:16:30", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "30141:1:30" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "30144:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30137:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "30137:9:30" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "30130:3:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30169:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "30171:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "30171:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "30171:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "30161:1:30" + }, + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "30164:3:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "30158:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "30158:10:30" + }, + "nodeType": "YulIf", + "src": "30155:36:30" + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "30103:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "30106:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "30112:3:30", + "type": "" + } + ], + "src": "30072:125:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30393:14:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30395:10:30", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30402:3:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "30395:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "30377:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "30385:3:30", + "type": "" + } + ], + "src": "30202:205:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30599:248:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30609:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30621:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30632:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30617:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "30617:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30609:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30652:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "30667:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30683:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30688:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "30679:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "30679:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30692:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "30675:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "30675:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "30663:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "30663:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30645:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "30645:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "30645:51:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30716:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30727:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30712:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "30712:18:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "30732:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30705:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "30705:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "30705:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30759:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30770:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30755:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "30755:18:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "30789:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "30782:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "30782:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "30775:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "30775:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30748:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "30748:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "30748:50:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30818:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30829:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30814:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "30814:18:30" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "30834:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30807:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "30807:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "30807:34:30" + } + ] + }, + "name": "abi_encode_tuple_t_address_payable_t_uint256_t_bool_t_bytes32__to_t_address_t_uint256_t_bool_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "30544:9:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "30555:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "30563:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "30571:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "30579:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "30590:4:30", + "type": "" + } + ], + "src": "30412:435:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30989:150:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "30999:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "31019:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "31013:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "31013:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "31003:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "31074:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31082:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31070:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "31070:17:30" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31089:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "31094:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "31035:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "31035:66:30" + }, + "nodeType": "YulExpressionStatement", + "src": "31035:66:30" + }, + { + "nodeType": "YulAssignment", + "src": "31110:23:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31121:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "31126:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31117:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "31117:16:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "31110:3:30" + } + ] + } + ] + }, + "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": "30965:3:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "30970:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "30981:3:30", + "type": "" + } + ], + "src": "30852:287:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31368:307:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31385:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "31400:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31408:10:30", + "type": "", + "value": "0xffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "31396:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "31396:23:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31378:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "31378:42:30" + }, + "nodeType": "YulExpressionStatement", + "src": "31378:42:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31440:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31451:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31436:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "31436:18:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "31456:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31429:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "31429:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "31429:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31483:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31494:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31479:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "31479:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31499:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31472:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "31472:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "31472:31:30" + }, + { + "nodeType": "YulAssignment", + "src": "31512:54:30", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "31538:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31550:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31561:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31546:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "31546:19:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "31520:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "31520:46:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31512:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31586:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31597:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31582:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "31582:18:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "31616:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "31609:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "31609:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "31602:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "31602:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31575:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "31575:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "31575:50:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31645:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31656:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31641:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "31641:19:30" + }, + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "31662:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31634:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "31634:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "31634:35:30" + } + ] + }, + "name": "abi_encode_tuple_t_uint32_t_uint256_t_bytes_memory_ptr_t_bool_t_bytes32__to_t_uint256_t_uint256_t_bytes_memory_ptr_t_bool_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "31305:9:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "31316:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "31324:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "31332:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "31340:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "31348:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "31359:4:30", + "type": "" + } + ], + "src": "31144:531:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31854:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31871:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31882:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31864:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "31864:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "31864:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31905:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31916:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31901:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "31901:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31921:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31894:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "31894:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "31894:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31943:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31954:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31939:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "31939:18:30" + }, + { + "hexValue": "4c4243303139", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31959:8:30", + "type": "", + "value": "LBC019" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31932:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "31932:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "31932:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "31977:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31989:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32000:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31985:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "31985:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31977:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_41f42e8d0f67be0e87abf05a33ed728b4868df2f2b92840d9519a852352eb909__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "31831:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "31845:4:30", + "type": "" + } + ], + "src": "31680:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32188:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32205:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32216:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32198:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "32198:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "32198:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32239:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32250:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32235:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "32235:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32255:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32228:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "32228:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "32228:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32277:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32288:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32273:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "32273:18:30" + }, + { + "hexValue": "4c4243303230", + "kind": "string", + "nodeType": "YulLiteral", + "src": "32293:8:30", + "type": "", + "value": "LBC020" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32266:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "32266:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "32266:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "32311:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32323:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32334:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32319:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "32319:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32311:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_5c242c0534fa00b11577be4ea886875d641e4a1ad40749685bb740e7c1a67fc9__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "32165:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "32179:4:30", + "type": "" + } + ], + "src": "32014:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32477:145:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32487:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32499:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32510:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32495:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "32495:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32487:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32529:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "32544:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32560:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32565:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "32556:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "32556:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32569:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "32552:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "32552:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "32540:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "32540:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32522:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "32522:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "32522:51:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32593:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32604:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32589:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "32589:18:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "32609:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32582:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "32582:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "32582:34:30" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "32438:9:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "32449:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "32457:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "32468:4:30", + "type": "" + } + ], + "src": "32348:274:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32801:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32818:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32829:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32811:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "32811:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "32811:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32852:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32863:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32848:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "32848:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32868:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32841:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "32841:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "32841:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32890:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32901:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32886:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "32886:18:30" + }, + { + "hexValue": "4c4243303231", + "kind": "string", + "nodeType": "YulLiteral", + "src": "32906:8:30", + "type": "", + "value": "LBC021" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32879:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "32879:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "32879:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "32924:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32936:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32947:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32932:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "32932:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32924:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ccfdeeda37cff52b8b53c7f459ead001a00858d8cd279133dc1e599c6257c485__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "32778:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "32792:4:30", + "type": "" + } + ], + "src": "32627:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33135:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33152:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33163:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33145:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "33145:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "33145:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33186:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33197:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33182:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "33182:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33202:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33175:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "33175:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "33175:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33224:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33235:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33220:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "33220:18:30" + }, + { + "hexValue": "4c4243303232", + "kind": "string", + "nodeType": "YulLiteral", + "src": "33240:8:30", + "type": "", + "value": "LBC022" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33213:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "33213:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "33213:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "33258:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33270:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33281:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33266:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "33266:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33258:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ae5a5bd2536c79a56736074670f517df1b8a17deb822b59dfa1648888074b4cc__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "33112:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "33126:4:30", + "type": "" + } + ], + "src": "32961:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33469:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33486:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33497:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33479:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "33479:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "33479:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33520:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33531:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33516:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "33516:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33536:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33509:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "33509:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "33509:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33558:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33569:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33554:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "33554:18:30" + }, + { + "hexValue": "4c4243303033", + "kind": "string", + "nodeType": "YulLiteral", + "src": "33574:8:30", + "type": "", + "value": "LBC003" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33547:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "33547:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "33547:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "33592:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33604:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33615:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33600:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "33600:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33592:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_7e21a7b13292bf184f2fc166cca229506aa89a730258f15cdce6a2f8dc225415__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "33446:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "33460:4:30", + "type": "" + } + ], + "src": "33295:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33803:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33820:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33831:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33813:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "33813:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "33813:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33854:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33865:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33850:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "33850:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33870:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33843:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "33843:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "33843:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33892:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33903:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33888:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "33888:18:30" + }, + { + "hexValue": "4c4243303130", + "kind": "string", + "nodeType": "YulLiteral", + "src": "33908:8:30", + "type": "", + "value": "LBC010" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33881:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "33881:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "33881:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "33926:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33938:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33949:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33934:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "33934:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33926:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b91014d5c812b217b1f7abf06d04044851a14f3d4efa9b6795d3964c23897cc9__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "33780:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "33794:4:30", + "type": "" + } + ], + "src": "33629:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34137:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34154:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34165:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34147:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "34147:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "34147:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34188:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34199:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34184:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "34184:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34204:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34177:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "34177:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "34177:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34226:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34237:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34222:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "34222:18:30" + }, + { + "hexValue": "4c4243303137", + "kind": "string", + "nodeType": "YulLiteral", + "src": "34242:8:30", + "type": "", + "value": "LBC017" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34215:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "34215:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "34215:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "34260:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34272:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34283:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34268:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "34268:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34260:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_849663c0a27b21987cfc03f3233af0a7a46b23f0af09d39a18720d9610bcba81__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "34114:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "34128:4:30", + "type": "" + } + ], + "src": "33963:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34489:63:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34506:3:30" + }, + { + "hexValue": "706567696e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "34511:7:30", + "type": "", + "value": "pegin" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34499:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "34499:20:30" + }, + "nodeType": "YulExpressionStatement", + "src": "34499:20:30" + }, + { + "nodeType": "YulAssignment", + "src": "34528:18:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34539:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34544:1:30", + "type": "", + "value": "5" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34535:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "34535:11:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "34528:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_4dc7b383aaca8b1076677685b160d1864e4801cbbaf42c8044d4665ea1c41120__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "34473:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "34481:3:30", + "type": "" + } + ], + "src": "34297:255:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34696:150:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "34706:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "34726:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "34720:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "34720:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "34710:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "34781:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34789:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34777:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "34777:17:30" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34796:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "34801:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "34742:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "34742:66:30" + }, + "nodeType": "YulExpressionStatement", + "src": "34742:66:30" + }, + { + "nodeType": "YulAssignment", + "src": "34817:23:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34828:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "34833:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34824:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "34824:16:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "34817:3:30" + } + ] + } + ] + }, + "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": "34672:3:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "34677:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "34688:3:30", + "type": "" + } + ], + "src": "34557:289:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35043:64:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35060:3:30" + }, + { + "hexValue": "7065676f7574", + "kind": "string", + "nodeType": "YulLiteral", + "src": "35065:8:30", + "type": "", + "value": "pegout" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35053:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "35053:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "35053:21:30" + }, + { + "nodeType": "YulAssignment", + "src": "35083:18:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35094:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35099:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35090:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "35090:11:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "35083:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_ac320a165668abf6cbe2f0b8e46bf2426fe38861df98fc1861161bf05a853587__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "35027:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "35035:3:30", + "type": "" + } + ], + "src": "34851:256:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35304:62:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35321:3:30" + }, + { + "hexValue": "626f7468", + "kind": "string", + "nodeType": "YulLiteral", + "src": "35326:6:30", + "type": "", + "value": "both" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35314:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "35314:19:30" + }, + "nodeType": "YulExpressionStatement", + "src": "35314:19:30" + }, + { + "nodeType": "YulAssignment", + "src": "35342:18:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35353:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35358:1:30", + "type": "", + "value": "4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35349:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "35349:11:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "35342:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_36ad643d447cde9387780ae6f5b371120b595aaff5d56b8440952d5f7116fa16__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "35288:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "35296:3:30", + "type": "" + } + ], + "src": "35112:254:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35545:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35562:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35573:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35555:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "35555:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "35555:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35596:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35607:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35592:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "35592:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35612:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35585:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "35585:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "35585:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35634:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35645:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35630:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "35630:18:30" + }, + { + "hexValue": "4c4243303138", + "kind": "string", + "nodeType": "YulLiteral", + "src": "35650:8:30", + "type": "", + "value": "LBC018" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35623:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "35623:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "35623:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "35668:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35680:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35691:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35676:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "35676:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35668:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c8a2f96b1c149a2cda2dda6db9bbdafbecddac69bce104e31ad4dd14842e4820__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "35522:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "35536:4:30", + "type": "" + } + ], + "src": "35371:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35879:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35896:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35907:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35889:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "35889:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "35889:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35930:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35941:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35926:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "35926:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35946:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35919:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "35919:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "35919:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35968:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35979:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35964:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "35964:18:30" + }, + { + "hexValue": "4c4243303730", + "kind": "string", + "nodeType": "YulLiteral", + "src": "35984:8:30", + "type": "", + "value": "LBC070" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35957:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "35957:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "35957:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "36002:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36014:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36025:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36010:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36010:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36002:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a80fe4c2764b7c4b52829ebb2b1bb3117b2b8ffa6a6401dbe00248ec851a73a8__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "35856:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "35870:4:30", + "type": "" + } + ], + "src": "35705:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36213:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36230:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36241:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36223:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "36223:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "36223:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36264:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36275:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36260:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36260:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36280:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36253:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "36253:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "36253:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36302:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36313:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36298:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36298:18:30" + }, + { + "hexValue": "4c4243303039", + "kind": "string", + "nodeType": "YulLiteral", + "src": "36318:8:30", + "type": "", + "value": "LBC009" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36291:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "36291:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "36291:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "36336:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36348:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36359:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36344:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36344:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36336:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_f838e22b544c153329abcc9856d1b1f7e7f6c83118dc13d7a0606e65edb3cdd8__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "36190:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "36204:4:30", + "type": "" + } + ], + "src": "36039:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36547:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36564:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36575:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36557:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "36557:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "36557:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36598:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36609:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36594:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36594:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36614:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36587:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "36587:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "36587:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36636:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36647:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36632:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36632:18:30" + }, + { + "hexValue": "4c4243303038", + "kind": "string", + "nodeType": "YulLiteral", + "src": "36652:8:30", + "type": "", + "value": "LBC008" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36625:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "36625:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "36625:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "36670:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36682:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36693:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36678:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36678:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36670:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_26efcc4d852e81be6f75389e4f50496331355ea059764b90ab1412936d29ab69__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "36524:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "36538:4:30", + "type": "" + } + ], + "src": "36373:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36745:74:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "36768:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x12", + "nodeType": "YulIdentifier", + "src": "36770:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "36770:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "36770:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "36765:1:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "36758:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "36758:9:30" + }, + "nodeType": "YulIf", + "src": "36755:35:30" + }, + { + "nodeType": "YulAssignment", + "src": "36799:14:30", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "36808:1:30" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "36811:1:30" + } + ], + "functionName": { + "name": "mod", + "nodeType": "YulIdentifier", + "src": "36804:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36804:9:30" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "36799:1:30" + } + ] + } + ] + }, + "name": "mod_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "36730:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "36733:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "r", + "nodeType": "YulTypedName", + "src": "36739:1:30", + "type": "" + } + ], + "src": "36707:112:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36871:88:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "36902:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "36904:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "36904:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "36904:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "36887:5:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36898:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "36894:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36894:6:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "36884:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "36884:17:30" + }, + "nodeType": "YulIf", + "src": "36881:43:30" + }, + { + "nodeType": "YulAssignment", + "src": "36933:20:30", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "36944:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36951:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36940:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "36940:13:30" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "36933:3:30" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "36853:5:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "36863:3:30", + "type": "" + } + ], + "src": "36824:135:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37019:325:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37029:22:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37043:1:30", + "type": "", + "value": "1" + }, + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "37046:4:30" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "37039:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37039:12:30" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "37029:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "37060:38:30", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "37090:4:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37096:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "37086:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37086:12:30" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "37064:18:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37137:31:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37139:27:30", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "37153:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37161:4:30", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "37149:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37149:17:30" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "37139:6:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "37117:18:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "37110:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "37110:26:30" + }, + "nodeType": "YulIf", + "src": "37107:61:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37227:111:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37248:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37255:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37260:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "37251:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37251:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37241:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "37241:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "37241:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37292:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37295:4:30", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37285:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "37285:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "37285:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37320:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37323:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "37313:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "37313:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "37313:15:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "37183:18:30" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "37206:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37214:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "37203:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "37203:14:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "37180:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "37180:38:30" + }, + "nodeType": "YulIf", + "src": "37177:161:30" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "36999:4:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "37008:6:30", + "type": "" + } + ], + "src": "36964:380:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37405:65:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37422:1:30", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "37425:3:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37415:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "37415:14:30" + }, + "nodeType": "YulExpressionStatement", + "src": "37415:14:30" + }, + { + "nodeType": "YulAssignment", + "src": "37438:26:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37456:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37459:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nodeType": "YulIdentifier", + "src": "37446:9:30" + }, + "nodeType": "YulFunctionCall", + "src": "37446:18:30" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "37438:4:30" + } + ] + } + ] + }, + "name": "array_dataslot_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "37388:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "37396:4:30", + "type": "" + } + ], + "src": "37349:121:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37556:464:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "37589:425:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "37603:11:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37613:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "37607:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "37634:2:30" + }, + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "37638:5:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37627:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "37627:17:30" + }, + "nodeType": "YulExpressionStatement", + "src": "37627:17:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "37657:31:30", + "value": { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "37679:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37683:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nodeType": "YulIdentifier", + "src": "37669:9:30" + }, + "nodeType": "YulFunctionCall", + "src": "37669:19:30" + }, + "variables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "37661:4:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "37701:57:30", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "37724:4:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37734:1:30", + "type": "", + "value": "5" + }, + { + "arguments": [ + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "37741:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37753:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37737:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37737:19:30" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "37730:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37730:27:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37720:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37720:38:30" + }, + "variables": [ + { + "name": "deleteStart", + "nodeType": "YulTypedName", + "src": "37705:11:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37795:23:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37797:19:30", + "value": { + "name": "data", + "nodeType": "YulIdentifier", + "src": "37812:4:30" + }, + "variableNames": [ + { + "name": "deleteStart", + "nodeType": "YulIdentifier", + "src": "37797:11:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "37777:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37789:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "37774:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "37774:20:30" + }, + "nodeType": "YulIf", + "src": "37771:47:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "37831:41:30", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "37845:4:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37855:1:30", + "type": "", + "value": "5" + }, + { + "arguments": [ + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "37862:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37867:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37858:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37858:12:30" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "37851:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37851:20:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37841:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37841:31:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "37835:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "37885:24:30", + "value": { + "name": "deleteStart", + "nodeType": "YulIdentifier", + "src": "37898:11:30" + }, + "variables": [ + { + "name": "start", + "nodeType": "YulTypedName", + "src": "37889:5:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37983:21:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "37992:5:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "37999:2:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "37985:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "37985:17:30" + }, + "nodeType": "YulExpressionStatement", + "src": "37985:17:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "37933:5:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "37940:2:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "37930:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "37930:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "37944:26:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37946:22:30", + "value": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "37959:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37966:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37955:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "37955:13:30" + }, + "variableNames": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "37946:5:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "37926:3:30", + "statements": [] + }, + "src": "37922:82:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "37572:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37577:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "37569:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "37569:11:30" + }, + "nodeType": "YulIf", + "src": "37566:448:30" + } + ] + }, + "name": "clean_up_bytearray_end_slots_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "37528:5:30", + "type": "" + }, + { + "name": "len", + "nodeType": "YulTypedName", + "src": "37535:3:30", + "type": "" + }, + { + "name": "startIndex", + "nodeType": "YulTypedName", + "src": "37540:10:30", + "type": "" + } + ], + "src": "37475:545:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38110:81:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "38120:65:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "38135:4:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38153:1:30", + "type": "", + "value": "3" + }, + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "38156:3:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "38149:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38149:11:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38166:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "38162:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38162:6:30" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "38145:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38145:24:30" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "38141:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38141:29:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "38131:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38131:40:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38177:1:30", + "type": "", + "value": "1" + }, + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "38180:3:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "38173:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38173:11:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "38128:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "38128:57:30" + }, + "variableNames": [ + { + "name": "used", + "nodeType": "YulIdentifier", + "src": "38120:4:30" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "38087:4:30", + "type": "" + }, + { + "name": "len", + "nodeType": "YulTypedName", + "src": "38093:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nodeType": "YulTypedName", + "src": "38101:4:30", + "type": "" + } + ], + "src": "38025:166:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38292:1256:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "38302:24:30", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "38322:3:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "38316:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "38316:10:30" + }, + "variables": [ + { + "name": "newLen", + "nodeType": "YulTypedName", + "src": "38306:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38369:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "38371:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "38371:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "38371:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "38341:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38357:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38361:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "38353:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38353:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38365:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "38349:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38349:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "38338:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "38338:30:30" + }, + "nodeType": "YulIf", + "src": "38335:56:30" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "38444:4:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "38482:4:30" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "38476:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "38476:11:30" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nodeType": "YulIdentifier", + "src": "38450:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "38450:38:30" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "38490:6:30" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_string_storage", + "nodeType": "YulIdentifier", + "src": "38400:43:30" + }, + "nodeType": "YulFunctionCall", + "src": "38400:97:30" + }, + "nodeType": "YulExpressionStatement", + "src": "38400:97:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "38506:18:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38523:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nodeType": "YulTypedName", + "src": "38510:9:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "38533:23:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38552:4:30", + "type": "", + "value": "0x20" + }, + "variables": [ + { + "name": "srcOffset_1", + "nodeType": "YulTypedName", + "src": "38537:11:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "38565:24:30", + "value": { + "name": "srcOffset_1", + "nodeType": "YulIdentifier", + "src": "38578:11:30" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "38565:9:30" + } + ] + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "38635:656:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "38649:35:30", + "value": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "38668:6:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38680:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "38676:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38676:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "38664:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38664:20:30" + }, + "variables": [ + { + "name": "loopEnd", + "nodeType": "YulTypedName", + "src": "38653:7:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "38697:49:30", + "value": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "38741:4:30" + } + ], + "functionName": { + "name": "array_dataslot_string_storage", + "nodeType": "YulIdentifier", + "src": "38711:29:30" + }, + "nodeType": "YulFunctionCall", + "src": "38711:35:30" + }, + "variables": [ + { + "name": "dstPtr", + "nodeType": "YulTypedName", + "src": "38701:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "38759:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38768:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "38763:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38846:172:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "38871:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "38889:3:30" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "38894:9:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38885:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38885:19:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "38879:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "38879:26:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "38864:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "38864:42:30" + }, + "nodeType": "YulExpressionStatement", + "src": "38864:42:30" + }, + { + "nodeType": "YulAssignment", + "src": "38923:24:30", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "38937:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38945:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38933:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38933:14:30" + }, + "variableNames": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "38923:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "38964:40:30", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "38981:9:30" + }, + { + "name": "srcOffset_1", + "nodeType": "YulIdentifier", + "src": "38992:11:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38977:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38977:27:30" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "38964:9:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "38793:1:30" + }, + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "38796:7:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "38790:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "38790:14:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "38805:28:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "38807:24:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "38816:1:30" + }, + { + "name": "srcOffset_1", + "nodeType": "YulIdentifier", + "src": "38819:11:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38812:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "38812:19:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "38807:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "38786:3:30", + "statements": [] + }, + "src": "38782:236:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39066:166:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "39084:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "39111:3:30" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "39116:9:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39107:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39107:19:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "39101:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "39101:26:30" + }, + "variables": [ + { + "name": "lastValue", + "nodeType": "YulTypedName", + "src": "39088:9:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "39151:6:30" + }, + { + "arguments": [ + { + "name": "lastValue", + "nodeType": "YulIdentifier", + "src": "39163:9:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39190:1:30", + "type": "", + "value": "3" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "39193:6:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "39186:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39186:14:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39202:3:30", + "type": "", + "value": "248" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "39182:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39182:24:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39212:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "39208:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39208:6:30" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "39178:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39178:37:30" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "39174:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39174:42:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "39159:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39159:58:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "39144:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "39144:74:30" + }, + "nodeType": "YulExpressionStatement", + "src": "39144:74:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "39037:7:30" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "39046:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "39034:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "39034:19:30" + }, + "nodeType": "YulIf", + "src": "39031:201:30" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "39252:4:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39266:1:30", + "type": "", + "value": "1" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "39269:6:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "39262:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39262:14:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39278:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39258:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39258:22:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "39245:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "39245:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "39245:36:30" + } + ] + }, + "nodeType": "YulCase", + "src": "38628:663:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38633:1:30", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39308:234:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "39322:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39335:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "39326:5:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39371:67:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "39389:35:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "39408:3:30" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "39413:9:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39404:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39404:19:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "39398:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "39398:26:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "39389:5:30" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "39352:6:30" + }, + "nodeType": "YulIf", + "src": "39349:89:30" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "39458:4:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "39517:5:30" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "39524:6:30" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulIdentifier", + "src": "39464:52:30" + }, + "nodeType": "YulFunctionCall", + "src": "39464:67:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "39451:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "39451:81:30" + }, + "nodeType": "YulExpressionStatement", + "src": "39451:81:30" + } + ] + }, + "nodeType": "YulCase", + "src": "39300:242:30", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "38608:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38616:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "38605:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "38605:14:30" + }, + "nodeType": "YulSwitch", + "src": "38598:944:30" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "38277:4:30", + "type": "" + }, + { + "name": "src", + "nodeType": "YulTypedName", + "src": "38283:3:30", + "type": "" + } + ], + "src": "38196:1352:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39682:119:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "39692:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39704:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39715:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39700:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39700:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39692:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39734:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "39745:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39727:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "39727:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "39727:25:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39772:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39783:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39768:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "39768:18:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "39788:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39761:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "39761:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "39761:34:30" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "39643:9:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "39654:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "39662:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "39673:4:30", + "type": "" + } + ], + "src": "39553:248:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39980:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39997:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40008:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39990:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "39990:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "39990:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40031:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40042:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40027:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40027:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40047:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40020:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40020:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "40020:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40069:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40080:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40065:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40065:18:30" + }, + { + "hexValue": "4c4243303031", + "kind": "string", + "nodeType": "YulLiteral", + "src": "40085:8:30", + "type": "", + "value": "LBC001" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40058:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40058:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "40058:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "40103:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40115:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40126:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40111:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40111:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40103:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a509ede2323476f3f5be48987391c5516e4ea8116b376287322ed2188be0e53c__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "39957:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "39971:4:30", + "type": "" + } + ], + "src": "39806:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40172:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40189:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40196:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40201:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "40192:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40192:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40182:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40182:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "40182:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40229:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40232:4:30", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40222:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40222:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "40222:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40253:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40256:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "40246:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40246:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "40246:15:30" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "40140:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40446:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40463:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40474:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40456:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40456:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "40456:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40497:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40508:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40493:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40493:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40513:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40486:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40486:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "40486:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40535:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40546:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40531:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40531:18:30" + }, + { + "hexValue": "4c4243303233", + "kind": "string", + "nodeType": "YulLiteral", + "src": "40551:8:30", + "type": "", + "value": "LBC023" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40524:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40524:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "40524:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "40569:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40581:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40592:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40577:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40577:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40569:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1e153c8413fa71b1dc88c42214ae3211e20bbd7d323adc3a7cb82fb90c05d672__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "40423:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "40437:4:30", + "type": "" + } + ], + "src": "40272:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40780:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40797:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40808:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40790:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40790:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "40790:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40831:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40842:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40827:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40827:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40847:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40820:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40820:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "40820:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40869:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40880:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40865:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40865:18:30" + }, + { + "hexValue": "4c4243303035", + "kind": "string", + "nodeType": "YulLiteral", + "src": "40885:8:30", + "type": "", + "value": "LBC005" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40858:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "40858:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "40858:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "40903:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40915:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40926:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40911:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "40911:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40903:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_0a36b25bf1b768acf545d4a7d22e9fceeba3414a7a19dc34973fc2e1be01a831__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "40757:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "40771:4:30", + "type": "" + } + ], + "src": "40606:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41179:417:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41196:3:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "41201:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41189:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "41189:19:30" + }, + "nodeType": "YulExpressionStatement", + "src": "41189:19:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "41217:27:30", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "41237:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "41231:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "41231:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "41221:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "41292:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41300:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41288:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41288:15:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41309:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41314:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41305:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41305:12:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "41319:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "41253:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "41253:73:30" + }, + "nodeType": "YulExpressionStatement", + "src": "41253:73:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "41335:26:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41349:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "41354:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41345:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41345:16:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "41339:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "41381:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41385:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41377:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41377:11:30" + }, + { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "41394:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41414:2:30", + "type": "", + "value": "96" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41418:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "41410:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41410:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41422:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "41406:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41406:18:30" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "41402:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41402:23:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "41390:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41390:36:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41370:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "41370:57:30" + }, + "nodeType": "YulExpressionStatement", + "src": "41370:57:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "41436:29:30", + "value": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "41458:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "41452:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "41452:13:30" + }, + "variables": [ + { + "name": "length_1", + "nodeType": "YulTypedName", + "src": "41440:8:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "41513:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41521:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41509:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41509:15:30" + }, + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "41530:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41534:2:30", + "type": "", + "value": "52" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41526:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41526:11:30" + }, + { + "name": "length_1", + "nodeType": "YulIdentifier", + "src": "41539:8:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "41474:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "41474:74:30" + }, + "nodeType": "YulExpressionStatement", + "src": "41474:74:30" + }, + { + "nodeType": "YulAssignment", + "src": "41557:33:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "41572:2:30" + }, + { + "name": "length_1", + "nodeType": "YulIdentifier", + "src": "41576:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41568:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41568:17:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41587:2:30", + "type": "", + "value": "52" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41564:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41564:26:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "41557:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes32_t_bytes_memory_ptr_t_bytes20_t_bytes_memory_ptr__to_t_bytes32_t_bytes_memory_ptr_t_bytes20_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "41131:3:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "41136:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "41144:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "41152:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "41160:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "41171:3:30", + "type": "" + } + ], + "src": "40940:656:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41664:378:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "41713:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41722:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41725:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "41715:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "41715:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "41715:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "41692:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41700:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41688:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41688:17:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "41707:3:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "41684:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41684:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "41677:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "41677:35:30" + }, + "nodeType": "YulIf", + "src": "41674:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "41738:23:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "41754:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "41748:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "41748:13:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "41742:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "41770:63:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "41829:2:30" + } + ], + "functionName": { + "name": "array_allocation_size_bytes", + "nodeType": "YulIdentifier", + "src": "41801:27:30" + }, + "nodeType": "YulFunctionCall", + "src": "41801:31:30" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "41785:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "41785:48:30" + }, + "variables": [ + { + "name": "array_1", + "nodeType": "YulTypedName", + "src": "41774:7:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array_1", + "nodeType": "YulIdentifier", + "src": "41849:7:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "41858:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41842:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "41842:19:30" + }, + "nodeType": "YulExpressionStatement", + "src": "41842:19:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41909:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41918:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41921:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "41911:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "41911:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "41911:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "41884:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "41892:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41880:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41880:15:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41897:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41876:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41876:26:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "41904:3:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "41873:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "41873:35:30" + }, + "nodeType": "YulIf", + "src": "41870:55:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "41973:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41981:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41969:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41969:17:30" + }, + { + "arguments": [ + { + "name": "array_1", + "nodeType": "YulIdentifier", + "src": "41992:7:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42001:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41988:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "41988:18:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "42008:2:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "41934:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "41934:77:30" + }, + "nodeType": "YulExpressionStatement", + "src": "41934:77:30" + }, + { + "nodeType": "YulAssignment", + "src": "42020:16:30", + "value": { + "name": "array_1", + "nodeType": "YulIdentifier", + "src": "42029:7:30" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "42020:5:30" + } + ] + } + ] + }, + "name": "abi_decode_bytes_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "41638:6:30", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "41646:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "41654:5:30", + "type": "" + } + ], + "src": "41601:441:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42137:245:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "42183:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42192:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42195:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "42185:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "42185:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "42185:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "42158:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42167:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "42154:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "42154:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42179:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "42150:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "42150:32:30" + }, + "nodeType": "YulIf", + "src": "42147:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "42208:30:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42228:9:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "42222:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "42222:16:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "42212:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42281:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42290:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42293:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "42283:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "42283:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "42283:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "42253:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42269:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42273:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "42265:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "42265:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42277:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "42261:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "42261:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "42250:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "42250:30:30" + }, + "nodeType": "YulIf", + "src": "42247:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "42306:70:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42348:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "42359:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42344:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "42344:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "42368:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_fromMemory", + "nodeType": "YulIdentifier", + "src": "42316:27:30" + }, + "nodeType": "YulFunctionCall", + "src": "42316:60:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "42306:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "42103:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "42114:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "42126:6:30", + "type": "" + } + ], + "src": "42047:335:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42732:263:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42749:3:30" + }, + { + "hexValue": "20", + "kind": "string", + "nodeType": "YulLiteral", + "src": "42754:3:30", + "type": "", + "value": " " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42742:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "42742:16:30" + }, + "nodeType": "YulExpressionStatement", + "src": "42742:16:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42778:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42783:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42774:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "42774:11:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "42787:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42767:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "42767:27:30" + }, + "nodeType": "YulExpressionStatement", + "src": "42767:27:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42814:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42819:2:30", + "type": "", + "value": "33" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42810:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "42810:12:30" + }, + { + "hexValue": "75", + "kind": "string", + "nodeType": "YulLiteral", + "src": "42824:3:30", + "type": "", + "value": "u" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42803:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "42803:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "42803:25:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "42837:27:30", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "42857:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "42851:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "42851:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "42841:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "42912:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42920:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42908:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "42908:17:30" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42931:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42936:2:30", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42927:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "42927:12:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "42941:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "42873:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "42873:75:30" + }, + "nodeType": "YulExpressionStatement", + "src": "42873:75:30" + }, + { + "nodeType": "YulAssignment", + "src": "42957:32:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42972:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "42977:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42968:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "42968:16:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42986:2:30", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42964:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "42964:25:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "42957:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a_t_bytes32_t_stringliteral_32cefdcd8e794145c9af8dd1f4b1fbd92d6e547ae855553080fc8bd19c4883a0_t_bytes_memory_ptr__to_t_bytes1_t_bytes32_t_bytes1_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "42700:3:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "42705:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "42713:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "42724:3:30", + "type": "" + } + ], + "src": "42387:608:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43195:273:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43212:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43223:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43205:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "43205:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "43205:21:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "43235:59:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "43267:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43279:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43290:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43275:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "43275:18:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "43249:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "43249:45:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "43239:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43314:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43325:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43310:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "43310:18:30" + }, + { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "43334:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43342:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "43330:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "43330:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43303:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "43303:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "43303:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "43362:41:30", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "43388:6:30" + }, + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "43396:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "43370:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "43370:33:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43362:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43423:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43434:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43419:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "43419:18:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "43453:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "43446:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "43446:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "43439:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "43439:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43412:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "43412:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "43412:50:30" + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bool__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bool__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "43148:9:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "43159:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "43167:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "43175:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "43186:4:30", + "type": "" + } + ], + "src": "43000:468:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43647:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43664:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43675:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43657:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "43657:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "43657:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43698:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43709:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43694:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "43694:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43714:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43687:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "43687:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "43687:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43736:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43747:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43732:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "43732:18:30" + }, + { + "hexValue": "4c4243303234", + "kind": "string", + "nodeType": "YulLiteral", + "src": "43752:8:30", + "type": "", + "value": "LBC024" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43725:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "43725:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "43725:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "43770:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43782:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43793:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43778:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "43778:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43770:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_9c6c58d5603e5b2aab0d13c183f0136466f0ce13826630d90e079bf910078715__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "43624:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "43638:4:30", + "type": "" + } + ], + "src": "43473:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43981:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43998:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44009:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43991:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "43991:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "43991:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44032:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44043:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44028:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44028:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44048:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44021:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "44021:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "44021:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44070:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44081:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44066:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44066:18:30" + }, + { + "hexValue": "4c4243303235", + "kind": "string", + "nodeType": "YulLiteral", + "src": "44086:8:30", + "type": "", + "value": "LBC025" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44059:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "44059:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "44059:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "44104:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44116:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44127:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44112:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44112:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44104:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ceda09d74f8a59745bfad5393e75482469dc6db77c24fde6f52df4409a3f744c__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "43958:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "43972:4:30", + "type": "" + } + ], + "src": "43807:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44188:125:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "44198:20:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44208:10:30", + "type": "", + "value": "0xffffffff" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "44202:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "44227:34:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "44242:1:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "44245:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "44238:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44238:10:30" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "44254:1:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "44257:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "44250:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44250:10:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44234:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44234:27:30" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "44227:3:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44285:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "44287:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "44287:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "44287:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "44276:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "44281:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "44273:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "44273:11:30" + }, + "nodeType": "YulIf", + "src": "44270:37:30" + } + ] + }, + "name": "checked_add_t_uint32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "44171:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "44174:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "44180:3:30", + "type": "" + } + ], + "src": "44141:172:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44492:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44509:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44520:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44502:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "44502:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "44502:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44543:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44554:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44539:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44539:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44559:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44532:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "44532:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "44532:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44581:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44592:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44577:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44577:18:30" + }, + { + "hexValue": "4c4243303236", + "kind": "string", + "nodeType": "YulLiteral", + "src": "44597:8:30", + "type": "", + "value": "LBC026" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44570:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "44570:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "44570:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "44615:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44627:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44638:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44623:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44623:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44615:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_2d63cc93f65e3c34ca5cba24271c3d6869155fb2ffc83f083d82378f26d56cb0__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "44469:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "44483:4:30", + "type": "" + } + ], + "src": "44318:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44826:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44843:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44854:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44836:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "44836:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "44836:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44877:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44888:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44873:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44873:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44893:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44866:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "44866:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "44866:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44915:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44926:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44911:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44911:18:30" + }, + { + "hexValue": "4c4243303237", + "kind": "string", + "nodeType": "YulLiteral", + "src": "44931:8:30", + "type": "", + "value": "LBC027" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44904:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "44904:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "44904:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "44949:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44961:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44972:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44957:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "44957:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44949:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_5a937cad92792f08abdaf15eed65a070909c29d924f856ec65923c138fd39a48__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "44803:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "44817:4:30", + "type": "" + } + ], + "src": "44652:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45160:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45177:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45188:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45170:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "45170:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "45170:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45211:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45222:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45207:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45207:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45227:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45200:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "45200:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "45200:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45249:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45260:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45245:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45245:18:30" + }, + { + "hexValue": "4c4243303337", + "kind": "string", + "nodeType": "YulLiteral", + "src": "45265:8:30", + "type": "", + "value": "LBC037" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45238:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "45238:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "45238:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "45283:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45295:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45306:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45291:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45291:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45283:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ecc75ee801269ba7670799af84ad7f1d968d59315783a708807424c72ec63d04__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "45137:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "45151:4:30", + "type": "" + } + ], + "src": "44986:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45494:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45511:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45522:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45504:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "45504:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "45504:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45545:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45556:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45541:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45541:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45561:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45534:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "45534:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "45534:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45583:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45594:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45579:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45579:18:30" + }, + { + "hexValue": "4c4243303633", + "kind": "string", + "nodeType": "YulLiteral", + "src": "45599:8:30", + "type": "", + "value": "LBC063" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45572:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "45572:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "45572:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "45617:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45629:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45640:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45625:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45625:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45617:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_0267b5bcac1113eea8a4dc81e170e6fe59336df7f2c6a4d2ae7ad240f894a2f9__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "45471:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "45485:4:30", + "type": "" + } + ], + "src": "45320:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45828:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45845:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45856:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45838:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "45838:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "45838:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45879:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45890:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45875:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45875:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45895:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45868:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "45868:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "45868:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45917:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45928:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45913:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45913:18:30" + }, + { + "hexValue": "4c4243303635", + "kind": "string", + "nodeType": "YulLiteral", + "src": "45933:8:30", + "type": "", + "value": "LBC065" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45906:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "45906:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "45906:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "45951:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45963:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45974:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45959:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "45959:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45951:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_39eacc26aa588693c014f46e6dd86f6cac22eb3287098210ddf746f1a6af8214__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "45805:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "45819:4:30", + "type": "" + } + ], + "src": "45654:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46162:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46179:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46190:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46172:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "46172:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "46172:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46213:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46224:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46209:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46209:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46229:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46202:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "46202:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "46202:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46251:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46262:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46247:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46247:18:30" + }, + { + "hexValue": "4c4243303436", + "kind": "string", + "nodeType": "YulLiteral", + "src": "46267:8:30", + "type": "", + "value": "LBC046" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46240:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "46240:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "46240:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "46285:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46297:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46308:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46293:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46293:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46285:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c8999eb883ba6531127283b89d3773d87761ac547946da55d1f52c5931d8838f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "46139:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "46153:4:30", + "type": "" + } + ], + "src": "45988:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46496:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46513:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46524:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46506:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "46506:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "46506:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46547:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46558:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46543:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46543:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46563:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46536:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "46536:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "46536:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46585:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46596:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46581:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46581:18:30" + }, + { + "hexValue": "4c4243303437", + "kind": "string", + "nodeType": "YulLiteral", + "src": "46601:8:30", + "type": "", + "value": "LBC047" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46574:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "46574:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "46574:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "46619:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46631:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46642:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46627:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46627:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46619:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b400745c4fd650850c2059b2d13f12980ca63b7ccd87c008204992f11af559c2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "46473:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "46487:4:30", + "type": "" + } + ], + "src": "46322:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46830:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46847:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46858:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46840:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "46840:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "46840:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46881:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46892:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46877:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46877:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46897:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46870:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "46870:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "46870:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46919:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46930:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46915:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46915:18:30" + }, + { + "hexValue": "4c4243303634", + "kind": "string", + "nodeType": "YulLiteral", + "src": "46935:8:30", + "type": "", + "value": "LBC064" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46908:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "46908:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "46908:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "46953:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46965:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46976:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46961:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "46961:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46953:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_35937926b0033772f3bb574f0cbcffec40211211a6070977d47733885bf234eb__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "46807:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "46821:4:30", + "type": "" + } + ], + "src": "46656:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "47084:1256:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "47094:24:30", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "47114:3:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "47108:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "47108:10:30" + }, + "variables": [ + { + "name": "newLen", + "nodeType": "YulTypedName", + "src": "47098:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "47161:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "47163:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "47163:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "47163:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "47133:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47149:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47153:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "47145:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47145:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47157:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "47141:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47141:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "47130:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "47130:30:30" + }, + "nodeType": "YulIf", + "src": "47127:56:30" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "47236:4:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "47274:4:30" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "47268:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "47268:11:30" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nodeType": "YulIdentifier", + "src": "47242:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "47242:38:30" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "47282:6:30" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_string_storage", + "nodeType": "YulIdentifier", + "src": "47192:43:30" + }, + "nodeType": "YulFunctionCall", + "src": "47192:97:30" + }, + "nodeType": "YulExpressionStatement", + "src": "47192:97:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "47298:18:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47315:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nodeType": "YulTypedName", + "src": "47302:9:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "47325:23:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47344:4:30", + "type": "", + "value": "0x20" + }, + "variables": [ + { + "name": "srcOffset_1", + "nodeType": "YulTypedName", + "src": "47329:11:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "47357:24:30", + "value": { + "name": "srcOffset_1", + "nodeType": "YulIdentifier", + "src": "47370:11:30" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "47357:9:30" + } + ] + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47427:656:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "47441:35:30", + "value": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "47460:6:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47472:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "47468:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47468:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "47456:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47456:20:30" + }, + "variables": [ + { + "name": "loopEnd", + "nodeType": "YulTypedName", + "src": "47445:7:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "47489:49:30", + "value": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "47533:4:30" + } + ], + "functionName": { + "name": "array_dataslot_string_storage", + "nodeType": "YulIdentifier", + "src": "47503:29:30" + }, + "nodeType": "YulFunctionCall", + "src": "47503:35:30" + }, + "variables": [ + { + "name": "dstPtr", + "nodeType": "YulTypedName", + "src": "47493:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "47551:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47560:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "47555:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "47638:172:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "47663:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "47681:3:30" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "47686:9:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47677:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47677:19:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "47671:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "47671:26:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "47656:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "47656:42:30" + }, + "nodeType": "YulExpressionStatement", + "src": "47656:42:30" + }, + { + "nodeType": "YulAssignment", + "src": "47715:24:30", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "47729:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47737:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47725:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47725:14:30" + }, + "variableNames": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "47715:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "47756:40:30", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "47773:9:30" + }, + { + "name": "srcOffset_1", + "nodeType": "YulIdentifier", + "src": "47784:11:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47769:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47769:27:30" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "47756:9:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "47585:1:30" + }, + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "47588:7:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "47582:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "47582:14:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "47597:28:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "47599:24:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "47608:1:30" + }, + { + "name": "srcOffset_1", + "nodeType": "YulIdentifier", + "src": "47611:11:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47604:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47604:19:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "47599:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "47578:3:30", + "statements": [] + }, + "src": "47574:236:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "47858:166:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "47876:43:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "47903:3:30" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "47908:9:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47899:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47899:19:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "47893:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "47893:26:30" + }, + "variables": [ + { + "name": "lastValue", + "nodeType": "YulTypedName", + "src": "47880:9:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "47943:6:30" + }, + { + "arguments": [ + { + "name": "lastValue", + "nodeType": "YulIdentifier", + "src": "47955:9:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47982:1:30", + "type": "", + "value": "3" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "47985:6:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "47978:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47978:14:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47994:3:30", + "type": "", + "value": "248" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "47974:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47974:24:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48004:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "48000:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "48000:6:30" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "47970:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47970:37:30" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "47966:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47966:42:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "47951:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "47951:58:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "47936:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "47936:74:30" + }, + "nodeType": "YulExpressionStatement", + "src": "47936:74:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "47829:7:30" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "47838:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "47826:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "47826:19:30" + }, + "nodeType": "YulIf", + "src": "47823:201:30" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "48044:4:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48058:1:30", + "type": "", + "value": "1" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "48061:6:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "48054:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "48054:14:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48070:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48050:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "48050:22:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "48037:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "48037:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "48037:36:30" + } + ] + }, + "nodeType": "YulCase", + "src": "47420:663:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47425:1:30", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "48100:234:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "48114:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48127:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "48118:5:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "48163:67:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "48181:35:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "48200:3:30" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "48205:9:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48196:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "48196:19:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "48190:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "48190:26:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "48181:5:30" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "48144:6:30" + }, + "nodeType": "YulIf", + "src": "48141:89:30" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "48250:4:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "48309:5:30" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "48316:6:30" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulIdentifier", + "src": "48256:52:30" + }, + "nodeType": "YulFunctionCall", + "src": "48256:67:30" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "48243:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "48243:81:30" + }, + "nodeType": "YulExpressionStatement", + "src": "48243:81:30" + } + ] + }, + "nodeType": "YulCase", + "src": "48092:242:30", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "47400:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47408:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "47397:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "47397:14:30" + }, + "nodeType": "YulSwitch", + "src": "47390:944:30" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "47069:4:30", + "type": "" + }, + { + "name": "src", + "nodeType": "YulTypedName", + "src": "47075:3:30", + "type": "" + } + ], + "src": "46990:1350:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "48519:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "48536:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48547:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "48529:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "48529:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "48529:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "48570:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48581:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48566:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "48566:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48586:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "48559:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "48559:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "48559:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "48608:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48619:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48604:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "48604:18:30" + }, + { + "hexValue": "4c4243303432", + "kind": "string", + "nodeType": "YulLiteral", + "src": "48624:8:30", + "type": "", + "value": "LBC042" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "48597:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "48597:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "48597:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "48642:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "48654:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48665:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48650:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "48650:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "48642:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_100fb89310beea959f828c5ca2a95ca4d28be5d0ba0e61e54b1345b68d14b6a1__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "48496:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "48510:4:30", + "type": "" + } + ], + "src": "48345:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "48853:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "48870:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48881:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "48863:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "48863:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "48863:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "48904:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48915:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48900:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "48900:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48920:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "48893:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "48893:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "48893:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "48942:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48953:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48938:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "48938:18:30" + }, + { + "hexValue": "4c4243303431", + "kind": "string", + "nodeType": "YulLiteral", + "src": "48958:8:30", + "type": "", + "value": "LBC041" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "48931:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "48931:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "48931:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "48976:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "48988:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48999:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48984:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "48984:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "48976:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_476e33256b298fee7fc3dab0c339427caa3a9a4a44654f7f02b328083d44ca74__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "48830:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "48844:4:30", + "type": "" + } + ], + "src": "48679:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "49142:145:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "49152:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49164:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49175:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49160:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "49160:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "49152:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49194:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "49205:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49187:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "49187:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "49187:25:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49232:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49243:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49228:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "49228:18:30" + }, + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "49252:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49268:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49273:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "49264:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "49264:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49277:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "49260:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "49260:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "49248:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "49248:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49221:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "49221:60:30" + }, + "nodeType": "YulExpressionStatement", + "src": "49221:60:30" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "49103:9:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "49114:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "49122:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "49133:4:30", + "type": "" + } + ], + "src": "49013:274:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "49466:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49483:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49494:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49476:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "49476:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "49476:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49517:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49528:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49513:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "49513:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49533:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49506:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "49506:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "49506:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49555:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49566:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49551:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "49551:18:30" + }, + { + "hexValue": "4c4243303434", + "kind": "string", + "nodeType": "YulLiteral", + "src": "49571:8:30", + "type": "", + "value": "LBC044" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49544:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "49544:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "49544:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "49589:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49601:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49612:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49597:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "49597:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "49589:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_0a7ff570d31f7e351d06bf5b8d0ef26a9275a9d32a7dffd7981a6c6ac58227c6__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "49443:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "49457:4:30", + "type": "" + } + ], + "src": "49292:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "49753:99:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49770:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49781:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49763:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "49763:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "49763:21:30" + }, + { + "nodeType": "YulAssignment", + "src": "49793:53:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "49819:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49831:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49842:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49827:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "49827:18:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "49801:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "49801:45:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "49793:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "49722:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "49733:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "49744:4:30", + "type": "" + } + ], + "src": "49626:226:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "49992:1872:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "50002:12:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50012:2:30", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "50006:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "50059:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50068:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50071:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "50061:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "50061:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "50061:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "50034:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50043:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "50030:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50030:23:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "50055:2:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "50026:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50026:32:30" + }, + "nodeType": "YulIf", + "src": "50023:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "50084:30:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50104:9:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "50098:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "50098:16:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "50088:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "50123:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50141:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50145:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "50137:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50137:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50149:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "50133:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50133:18:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "50127:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "50178:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50187:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50190:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "50180:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "50180:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "50180:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "50166:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "50174:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "50163:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "50163:14:30" + }, + "nodeType": "YulIf", + "src": "50160:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "50203:32:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50217:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "50228:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50213:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50213:22:30" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "50207:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "50283:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50292:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50295:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "50285:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "50285:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "50285:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "50262:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50266:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50258:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50258:13:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "50273:7:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "50254:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50254:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "50247:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "50247:35:30" + }, + "nodeType": "YulIf", + "src": "50244:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "50308:19:30", + "value": { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "50324:2:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "50318:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "50318:9:30" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "50312:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "50336:71:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "50403:2:30" + } + ], + "functionName": { + "name": "array_allocation_size_array_uint256_dyn", + "nodeType": "YulIdentifier", + "src": "50363:39:30" + }, + "nodeType": "YulFunctionCall", + "src": "50363:43:30" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "50347:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "50347:60:30" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "50340:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "50416:16:30", + "value": { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "50429:3:30" + }, + "variables": [ + { + "name": "dst_1", + "nodeType": "YulTypedName", + "src": "50420:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "50448:3:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "50453:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "50441:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "50441:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "50441:15:30" + }, + { + "nodeType": "YulAssignment", + "src": "50465:19:30", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "50476:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "50481:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50472:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50472:12:30" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "50465:3:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "50493:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "50515:2:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50523:1:30", + "type": "", + "value": "5" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "50526:2:30" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "50519:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50519:10:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50511:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50511:19:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "50532:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50507:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50507:28:30" + }, + "variables": [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "50497:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "50567:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50576:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50579:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "50569:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "50569:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "50569:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "50550:6:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "50558:7:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "50547:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "50547:19:30" + }, + "nodeType": "YulIf", + "src": "50544:39:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "50592:22:30", + "value": { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "50607:2:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "50611:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50603:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50603:11:30" + }, + "variables": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "50596:3:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "50679:1155:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "50693:29:30", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "50718:3:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "50712:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "50712:10:30" + }, + "variables": [ + { + "name": "innerOffset", + "nodeType": "YulTypedName", + "src": "50697:11:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "50770:74:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "50788:11:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50798:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "50792:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "50823:2:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "50827:2:30" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "50816:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "50816:14:30" + }, + "nodeType": "YulExpressionStatement", + "src": "50816:14:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "innerOffset", + "nodeType": "YulIdentifier", + "src": "50741:11:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "50754:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "50738:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "50738:19:30" + }, + "nodeType": "YulIf", + "src": "50735:109:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "50857:30:30", + "value": { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "50871:2:30" + }, + { + "name": "innerOffset", + "nodeType": "YulIdentifier", + "src": "50875:11:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50867:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50867:20:30" + }, + "variables": [ + { + "name": "_6", + "nodeType": "YulTypedName", + "src": "50861:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "50900:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50910:4:30", + "type": "", + "value": "0x80" + }, + "variables": [ + { + "name": "_7", + "nodeType": "YulTypedName", + "src": "50904:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "50982:74:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "51000:11:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51010:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "_8", + "nodeType": "YulTypedName", + "src": "51004:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "51035:2:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "51039:2:30" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "51028:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "51028:14:30" + }, + "nodeType": "YulExpressionStatement", + "src": "51028:14:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "50942:7:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "50951:2:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "50938:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50938:16:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50960:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "50956:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50956:7:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50934:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50934:30:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "50966:2:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "50930:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50930:39:30" + }, + "nodeType": "YulIf", + "src": "50927:129:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "51069:35:30", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_memory_8934", + "nodeType": "YulIdentifier", + "src": "51082:20:30" + }, + "nodeType": "YulFunctionCall", + "src": "51082:22:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "51073:5:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "51117:33:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "51142:2:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "51146:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51138:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51138:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "51132:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "51132:18:30" + }, + "variables": [ + { + "name": "value_1", + "nodeType": "YulTypedName", + "src": "51121:7:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "51216:74:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "51234:11:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51244:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "_9", + "nodeType": "YulTypedName", + "src": "51238:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "51269:2:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "51273:2:30" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "51262:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "51262:14:30" + }, + "nodeType": "YulExpressionStatement", + "src": "51262:14:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "51176:7:30" + }, + { + "arguments": [ + { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "51189:7:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "51198:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "51185:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51185:16:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "51173:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "51173:29:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "51166:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "51166:37:30" + }, + "nodeType": "YulIf", + "src": "51163:127:30" + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "51310:5:30" + }, + { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "51317:7:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "51303:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "51303:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "51303:22:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "51338:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51349:2:30", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "_10", + "nodeType": "YulTypedName", + "src": "51342:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "51364:35:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "51390:2:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "51394:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51386:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51386:12:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "51380:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "51380:19:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "51368:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "51444:77:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "51462:12:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51473:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "_11", + "nodeType": "YulTypedName", + "src": "51466:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "51498:3:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "51503:3:30" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "51491:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "51491:16:30" + }, + "nodeType": "YulExpressionStatement", + "src": "51491:16:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "51418:8:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "51428:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "51415:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "51415:16:30" + }, + "nodeType": "YulIf", + "src": "51412:109:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "51545:5:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "51552:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51541:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51541:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "51593:2:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "51597:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51589:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51589:17:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "51608:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51585:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51585:26:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "51613:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes_fromMemory", + "nodeType": "YulIdentifier", + "src": "51557:27:30" + }, + "nodeType": "YulFunctionCall", + "src": "51557:64:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "51534:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "51534:88:30" + }, + "nodeType": "YulExpressionStatement", + "src": "51534:88:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "51635:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51646:2:30", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "_12", + "nodeType": "YulTypedName", + "src": "51639:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "51672:5:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "51679:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51668:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51668:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "51695:2:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "51699:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51691:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51691:12:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "51685:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "51685:19:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "51661:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "51661:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "51661:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "51729:5:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "51736:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51725:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51725:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "51752:2:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "51756:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51748:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51748:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "51742:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "51742:18:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "51718:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "51718:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "51718:43:30" + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "51781:3:30" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "51786:5:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "51774:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "51774:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "51774:18:30" + }, + { + "nodeType": "YulAssignment", + "src": "51805:19:30", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "51816:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "51821:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51812:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "51812:12:30" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "51805:3:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "50634:3:30" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "50639:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "50631:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "50631:15:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "50647:23:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "50649:19:30", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "50660:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "50665:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50656:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "50656:12:30" + }, + "variableNames": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "50649:3:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "50627:3:30", + "statements": [] + }, + "src": "50623:1211:30" + }, + { + "nodeType": "YulAssignment", + "src": "51843:15:30", + "value": { + "name": "dst_1", + "nodeType": "YulIdentifier", + "src": "51853:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "51843:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "49958:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "49969:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "49981:6:30", + "type": "" + } + ], + "src": "49857:2007:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "52043:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "52060:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52071:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "52053:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "52053:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "52053:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "52094:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52105:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52090:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52090:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52110:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "52083:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "52083:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "52083:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "52132:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52143:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52128:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52128:18:30" + }, + { + "hexValue": "4c4243303735", + "kind": "string", + "nodeType": "YulLiteral", + "src": "52148:8:30", + "type": "", + "value": "LBC075" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "52121:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "52121:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "52121:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "52166:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "52178:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52189:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52174:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52174:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "52166:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_d0a12d6767c9352a89748f00976b0ffc4b9ff4b643d9cc1082f2df3b625d402a__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "52020:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "52034:4:30", + "type": "" + } + ], + "src": "51869:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "52249:102:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "52259:38:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "52274:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52277:4:30", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "52270:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52270:12:30" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "52288:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52291:4:30", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "52284:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52284:12:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52266:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52266:31:30" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "52259:3:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "52323:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "52325:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "52325:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "52325:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "52312:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52317:4:30", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "52309:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "52309:13:30" + }, + "nodeType": "YulIf", + "src": "52306:39:30" + } + ] + }, + "name": "checked_add_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "52232:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "52235:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "52241:3:30", + "type": "" + } + ], + "src": "52203:148:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "52401:130:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "52411:31:30", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "52430:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52437:4:30", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "52426:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52426:16:30" + }, + "variables": [ + { + "name": "value_1", + "nodeType": "YulTypedName", + "src": "52415:7:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "52472:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "52474:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "52474:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "52474:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "52457:7:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52466:4:30", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "52454:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "52454:17:30" + }, + "nodeType": "YulIf", + "src": "52451:43:30" + }, + { + "nodeType": "YulAssignment", + "src": "52503:22:30", + "value": { + "arguments": [ + { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "52514:7:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52523:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52510:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52510:15:30" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "52503:3:30" + } + ] + } + ] + }, + "name": "increment_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "52383:5:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "52393:3:30", + "type": "" + } + ], + "src": "52356:175:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "52617:103:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "52663:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52672:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52675:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "52665:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "52665:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "52665:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "52638:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "52647:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "52634:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52634:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52659:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "52630:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52630:32:30" + }, + "nodeType": "YulIf", + "src": "52627:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "52688:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "52704:9:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "52698:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "52698:16:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "52688:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "52583:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "52594:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "52606:6:30", + "type": "" + } + ], + "src": "52536:184:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "52899:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "52916:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52927:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "52909:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "52909:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "52909:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "52950:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52961:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52946:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52946:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52966:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "52939:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "52939:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "52939:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "52988:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52999:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52984:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "52984:18:30" + }, + { + "hexValue": "4c4243303639", + "kind": "string", + "nodeType": "YulLiteral", + "src": "53004:8:30", + "type": "", + "value": "LBC069" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "52977:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "52977:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "52977:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "53022:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53034:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53045:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53030:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "53030:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "53022:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_5cf5f7c75a2357c5697933702fe9f20c432f8f5205def7bf18572d390cea5cc1__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "52876:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "52890:4:30", + "type": "" + } + ], + "src": "52725:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "53233:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53250:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53261:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53243:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "53243:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "53243:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53284:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53295:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53280:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "53280:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53300:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53273:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "53273:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "53273:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53322:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53333:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53318:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "53318:18:30" + }, + { + "hexValue": "4c4243303438", + "kind": "string", + "nodeType": "YulLiteral", + "src": "53338:8:30", + "type": "", + "value": "LBC048" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53311:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "53311:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "53311:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "53356:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53368:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53379:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53364:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "53364:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "53356:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3c14ff4570332247d29826742fdf7f014a86ddbee2c49b0252a79ef49351f196__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "53210:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "53224:4:30", + "type": "" + } + ], + "src": "53059:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "53628:613:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "53638:33:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53656:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53667:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53652:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "53652:19:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "53642:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53687:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "53698:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53680:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "53680:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "53680:25:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "53714:12:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53724:2:30", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "53718:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53746:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "53757:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53742:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "53742:18:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "53762:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53735:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "53735:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "53735:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53789:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53800:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53785:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "53785:18:30" + }, + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "53805:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53778:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "53778:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "53778:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53832:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53843:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53828:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "53828:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53848:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53821:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "53821:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "53821:31:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "53861:17:30", + "value": { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "53872:6:30" + }, + "variables": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "53865:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "53887:27:30", + "value": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "53907:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "53901:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "53901:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "53891:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "53930:6:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "53938:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53923:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "53923:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "53923:22:30" + }, + { + "nodeType": "YulAssignment", + "src": "53954:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53965:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53976:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53961:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "53961:19:30" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "53954:3:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "53989:29:30", + "value": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "54007:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "54015:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54003:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54003:15:30" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "53993:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "54027:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54036:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "54031:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "54095:120:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "54116:3:30" + }, + { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "54127:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "54121:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "54121:13:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "54109:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "54109:26:30" + }, + "nodeType": "YulExpressionStatement", + "src": "54109:26:30" + }, + { + "nodeType": "YulAssignment", + "src": "54148:19:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "54159:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "54164:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54155:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54155:12:30" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "54148:3:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "54180:25:30", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "54194:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "54202:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54190:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54190:15:30" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "54180:6:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "54057:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "54060:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "54054:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "54054:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "54068:18:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "54070:14:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "54079:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54082:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54075:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54075:9:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "54070:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "54050:3:30", + "statements": [] + }, + "src": "54046:169:30" + }, + { + "nodeType": "YulAssignment", + "src": "54224:11:30", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "54232:3:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "54224:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_bytes32_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_bytes32_t_bytes32_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "53573:9:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "53584:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "53592:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "53600:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "53608:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "53619:4:30", + "type": "" + } + ], + "src": "53393:848:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "54326:103:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "54372:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54381:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54384:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "54374:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "54374:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "54374:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "54347:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54356:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "54343:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54343:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54368:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "54339:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54339:32:30" + }, + "nodeType": "YulIf", + "src": "54336:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "54397:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54413:9:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "54407:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "54407:16:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "54397:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_int256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "54292:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "54303:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "54315:6:30", + "type": "" + } + ], + "src": "54246:183:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "54608:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54625:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54636:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "54618:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "54618:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "54618:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54659:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54670:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54655:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54655:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54675:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "54648:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "54648:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "54648:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54697:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54708:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54693:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54693:18:30" + }, + { + "hexValue": "4c4243303439", + "kind": "string", + "nodeType": "YulLiteral", + "src": "54713:8:30", + "type": "", + "value": "LBC049" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "54686:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "54686:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "54686:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "54731:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54743:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54754:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54739:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54739:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "54731:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_41cc9877d5a72c2a0ef0c602e024ddc86a1f279ef7306bab75dd3c5447ffb6e0__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "54585:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "54599:4:30", + "type": "" + } + ], + "src": "54434:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "54819:206:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "54829:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54847:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54851:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "54843:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54843:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54855:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "54839:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54839:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "54833:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "54866:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "54893:1:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "54896:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "54889:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54889:10:30" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "54905:1:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "54908:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "54901:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54901:10:30" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "54885:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54885:27:30" + }, + "variables": [ + { + "name": "product_raw", + "nodeType": "YulTypedName", + "src": "54870:11:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "54921:31:30", + "value": { + "arguments": [ + { + "name": "product_raw", + "nodeType": "YulIdentifier", + "src": "54936:11:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "54949:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "54932:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "54932:20:30" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "54921:7:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "54997:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "54999:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "54999:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "54999:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "54974:7:30" + }, + { + "name": "product_raw", + "nodeType": "YulIdentifier", + "src": "54983:11:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "54971:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "54971:24:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "54964:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "54964:32:30" + }, + "nodeType": "YulIf", + "src": "54961:58:30" + } + ] + }, + "name": "checked_mul_t_uint64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "54798:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "54801:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "54807:7:30", + "type": "" + } + ], + "src": "54768:257:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "55204:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55221:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55232:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "55214:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "55214:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "55214:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55255:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55266:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "55251:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "55251:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55271:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "55244:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "55244:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "55244:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55293:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55304:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "55289:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "55289:18:30" + }, + { + "hexValue": "4c4243303637", + "kind": "string", + "nodeType": "YulLiteral", + "src": "55309:8:30", + "type": "", + "value": "LBC067" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "55282:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "55282:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "55282:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "55327:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55339:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55350:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "55335:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "55335:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "55327:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_94643b69f05d64f660a022cd48046be494c1ed271b5d9ae602f6fdadc77976be__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "55181:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "55195:4:30", + "type": "" + } + ], + "src": "55030:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "55513:158:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55530:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55541:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "55523:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "55523:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "55523:21:30" + }, + { + "nodeType": "YulAssignment", + "src": "55553:53:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "55579:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55591:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55602:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "55587:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "55587:18:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "55561:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "55561:45:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "55553:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55626:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55637:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "55622:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "55622:18:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "55656:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "55649:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "55649:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "55642:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "55642:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "55615:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "55615:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "55615:50:30" + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr_t_bool__to_t_bytes_memory_ptr_t_bool__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "55474:9:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "55485:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "55493:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "55504:4:30", + "type": "" + } + ], + "src": "55364:307:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "55810:706:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "55820:12:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55831:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "55824:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "55841:30:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "55864:6:30" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "55858:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "55858:13:30" + }, + "variables": [ + { + "name": "slotValue", + "nodeType": "YulTypedName", + "src": "55845:9:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "55880:50:30", + "value": { + "arguments": [ + { + "name": "slotValue", + "nodeType": "YulIdentifier", + "src": "55920:9:30" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nodeType": "YulIdentifier", + "src": "55894:25:30" + }, + "nodeType": "YulFunctionCall", + "src": "55894:36:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "55884:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "55939:11:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55949:1:30", + "type": "", + "value": "1" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "55943:2:30", + "type": "" + } + ] + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "56000:126:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "56021:3:30" + }, + { + "arguments": [ + { + "name": "slotValue", + "nodeType": "YulIdentifier", + "src": "56030:9:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56045:3:30", + "type": "", + "value": "255" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "56041:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56041:8:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "56026:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56026:24:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56014:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56014:37:30" + }, + "nodeType": "YulExpressionStatement", + "src": "56014:37:30" + }, + { + "nodeType": "YulAssignment", + "src": "56064:52:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "56075:3:30" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "56084:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "56106:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "56099:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56099:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "56092:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56092:22:30" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "56080:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56080:35:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "56071:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56071:45:30" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "56064:3:30" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "55993:133:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55998:1:30", + "type": "", + "value": "0" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "56142:349:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56163:1:30", + "type": "", + "value": "0" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "56166:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56156:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56156:17:30" + }, + "nodeType": "YulExpressionStatement", + "src": "56156:17:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "56186:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56196:4:30", + "type": "", + "value": "0x20" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "56190:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "56213:31:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56238:1:30", + "type": "", + "value": "0" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "56241:2:30" + } + ], + "functionName": { + "name": "keccak256", + "nodeType": "YulIdentifier", + "src": "56228:9:30" + }, + "nodeType": "YulFunctionCall", + "src": "56228:16:30" + }, + "variables": [ + { + "name": "dataPos", + "nodeType": "YulTypedName", + "src": "56217:7:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "56257:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56266:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "56261:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "56334:111:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "56363:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "56368:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "56359:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56359:11:30" + }, + { + "arguments": [ + { + "name": "dataPos", + "nodeType": "YulIdentifier", + "src": "56378:7:30" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "56372:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "56372:14:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56352:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56352:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "56352:35:30" + }, + { + "nodeType": "YulAssignment", + "src": "56404:27:30", + "value": { + "arguments": [ + { + "name": "dataPos", + "nodeType": "YulIdentifier", + "src": "56419:7:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "56428:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "56415:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56415:16:30" + }, + "variableNames": [ + { + "name": "dataPos", + "nodeType": "YulIdentifier", + "src": "56404:7:30" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "56291:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "56294:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "56288:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "56288:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "56302:19:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "56304:15:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "56313:1:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "56316:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "56309:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56309:10:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "56304:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "56284:3:30", + "statements": [] + }, + "src": "56280:165:30" + }, + { + "nodeType": "YulAssignment", + "src": "56458:23:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "56469:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "56474:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "56465:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56465:16:30" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "56458:3:30" + } + ] + } + ] + }, + "nodeType": "YulCase", + "src": "56135:356:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56140:1:30", + "type": "", + "value": "1" + } + } + ], + "expression": { + "arguments": [ + { + "name": "slotValue", + "nodeType": "YulIdentifier", + "src": "55970:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "55981:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "55966:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "55966:18:30" + }, + "nodeType": "YulSwitch", + "src": "55959:532:30" + }, + { + "nodeType": "YulAssignment", + "src": "56500:10:30", + "value": { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "56507:3:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "56500:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes_storage__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "55786:3:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "55791:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "55802:3:30", + "type": "" + } + ], + "src": "55676:840:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "56695:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "56712:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56723:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56705:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56705:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "56705:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "56746:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56757:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "56742:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56742:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56762:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56735:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56735:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "56735:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "56784:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56795:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "56780:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56780:18:30" + }, + { + "hexValue": "4c4243303638", + "kind": "string", + "nodeType": "YulLiteral", + "src": "56800:8:30", + "type": "", + "value": "LBC068" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56773:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56773:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "56773:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "56818:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "56830:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56841:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "56826:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "56826:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "56818:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_7cd3d68dd2419ceccbacf2f69bda9c4c2f3bdb0c0535db4bbef90be788c8f7de__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "56672:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "56686:4:30", + "type": "" + } + ], + "src": "56521:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "57029:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57046:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57057:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57039:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "57039:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "57039:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57080:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57091:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57076:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "57076:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57096:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57069:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "57069:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "57069:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57118:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57129:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57114:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "57114:18:30" + }, + { + "hexValue": "4c4243303530", + "kind": "string", + "nodeType": "YulLiteral", + "src": "57134:8:30", + "type": "", + "value": "LBC050" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57107:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "57107:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "57107:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "57152:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57164:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57175:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57160:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "57160:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "57152:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3dcf1159943f9eee729b997e5df9acd0f1771321696b1fb47efa6e54bee2f352__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "57006:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "57020:4:30", + "type": "" + } + ], + "src": "56855:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "57363:228:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57380:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57391:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57373:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "57373:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "57373:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57414:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57425:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57410:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "57410:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57430:2:30", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57403:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "57403:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "57403:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57453:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57464:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57449:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "57449:18:30" + }, + { + "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061", + "kind": "string", + "nodeType": "YulLiteral", + "src": "57469:34:30", + "type": "", + "value": "Ownable: new owner is the zero a" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57442:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "57442:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "57442:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57524:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57535:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57520:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "57520:18:30" + }, + { + "hexValue": "646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "57540:8:30", + "type": "", + "value": "ddress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57513:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "57513:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "57513:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "57558:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57570:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57581:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57566:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "57566:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "57558:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "57340:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "57354:4:30", + "type": "" + } + ], + "src": "57189:402:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "57770:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57787:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57798:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57780:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "57780:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "57780:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57821:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57832:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57817:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "57817:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57837:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57810:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "57810:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "57810:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57859:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57870:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57855:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "57855:18:30" + }, + { + "hexValue": "4c4243303536", + "kind": "string", + "nodeType": "YulLiteral", + "src": "57875:8:30", + "type": "", + "value": "LBC056" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57848:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "57848:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "57848:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "57893:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57905:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57916:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57901:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "57901:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "57893:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_5004352c178489e456f74ee0937a3403e68ee3fa72f6afa5bff20fe549075132__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "57747:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "57761:4:30", + "type": "" + } + ], + "src": "57596:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "58099:2469:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58116:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58127:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "58109:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "58109:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "58109:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "58164:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "58158:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "58158:13:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58177:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58188:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58173:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58173:18:30" + } + ], + "functionName": { + "name": "abi_encode_address", + "nodeType": "YulIdentifier", + "src": "58139:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "58139:53:30" + }, + "nodeType": "YulExpressionStatement", + "src": "58139:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "58201:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "58231:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58239:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58227:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58227:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "58221:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "58221:22:30" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "58205:12:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "58271:12:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58289:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58300:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58285:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58285:18:30" + } + ], + "functionName": { + "name": "abi_encode_address", + "nodeType": "YulIdentifier", + "src": "58252:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "58252:52:30" + }, + "nodeType": "YulExpressionStatement", + "src": "58252:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "58313:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "58345:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58353:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58341:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58341:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "58335:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "58335:22:30" + }, + "variables": [ + { + "name": "memberValue0_1", + "nodeType": "YulTypedName", + "src": "58317:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "58366:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58376:6:30", + "type": "", + "value": "0x0260" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "58370:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58402:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58413:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58398:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58398:18:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "58418:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "58391:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "58391:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "58391:30:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "58430:68:30", + "value": { + "arguments": [ + { + "name": "memberValue0_1", + "nodeType": "YulIdentifier", + "src": "58462:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58482:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58493:3:30", + "type": "", + "value": "640" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58478:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58478:19:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "58444:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "58444:54:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "58434:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "58507:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "58539:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58547:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58535:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58535:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "58529:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "58529:22:30" + }, + "variables": [ + { + "name": "memberValue0_2", + "nodeType": "YulTypedName", + "src": "58511:14:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_2", + "nodeType": "YulIdentifier", + "src": "58579:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58599:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58610:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58595:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58595:19:30" + } + ], + "functionName": { + "name": "abi_encode_address", + "nodeType": "YulIdentifier", + "src": "58560:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "58560:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "58560:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "58624:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "58656:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58664:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58652:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58652:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "58646:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "58646:23:30" + }, + "variables": [ + { + "name": "memberValue0_3", + "nodeType": "YulTypedName", + "src": "58628:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "58678:17:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58692:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "58688:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58688:7:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "58682:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58715:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58726:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58711:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58711:19:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "58740:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58748:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "58736:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58736:22:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "58760:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58732:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58732:31:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "58704:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "58704:60:30" + }, + "nodeType": "YulExpressionStatement", + "src": "58704:60:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "58773:55:30", + "value": { + "arguments": [ + { + "name": "memberValue0_3", + "nodeType": "YulIdentifier", + "src": "58805:14:30" + }, + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "58821:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "58787:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "58787:41:30" + }, + "variables": [ + { + "name": "tail_2", + "nodeType": "YulTypedName", + "src": "58777:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58848:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58859:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58844:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58844:19:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "58875:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58883:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58871:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58871:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "58865:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "58865:23:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "58837:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "58837:52:30" + }, + "nodeType": "YulExpressionStatement", + "src": "58837:52:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58909:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58920:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58905:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58905:19:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "58936:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58944:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58932:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58932:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "58926:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "58926:23:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "58898:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "58898:52:30" + }, + "nodeType": "YulExpressionStatement", + "src": "58898:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "58959:45:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "58991:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58999:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58987:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "58987:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "58981:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "58981:23:30" + }, + "variables": [ + { + "name": "memberValue0_4", + "nodeType": "YulTypedName", + "src": "58963:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "59013:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59023:3:30", + "type": "", + "value": "256" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "59017:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_4", + "nodeType": "YulIdentifier", + "src": "59052:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59072:9:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "59083:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59068:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59068:18:30" + } + ], + "functionName": { + "name": "abi_encode_int64", + "nodeType": "YulIdentifier", + "src": "59035:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "59035:52:30" + }, + "nodeType": "YulExpressionStatement", + "src": "59035:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "59096:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "59128:6:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "59136:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59124:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59124:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "59118:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "59118:22:30" + }, + "variables": [ + { + "name": "memberValue0_5", + "nodeType": "YulTypedName", + "src": "59100:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "59149:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59159:3:30", + "type": "", + "value": "288" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "59153:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59182:9:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "59193:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59178:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59178:18:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "59206:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59214:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "59202:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59202:22:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "59226:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59198:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59198:31:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "59171:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "59171:59:30" + }, + "nodeType": "YulExpressionStatement", + "src": "59171:59:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "59239:55:30", + "value": { + "arguments": [ + { + "name": "memberValue0_5", + "nodeType": "YulIdentifier", + "src": "59271:14:30" + }, + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "59287:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "59253:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "59253:41:30" + }, + "variables": [ + { + "name": "tail_3", + "nodeType": "YulTypedName", + "src": "59243:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "59303:32:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "59323:6:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "59331:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59319:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59319:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "59313:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "59313:22:30" + }, + "variables": [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "59307:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "59344:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59354:3:30", + "type": "", + "value": "320" + }, + "variables": [ + { + "name": "_6", + "nodeType": "YulTypedName", + "src": "59348:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59377:9:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "59388:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59373:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59373:18:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "59393:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "59366:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "59366:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "59366:30:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "59405:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "59437:6:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "59445:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59433:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59433:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "59427:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "59427:22:30" + }, + "variables": [ + { + "name": "memberValue0_6", + "nodeType": "YulTypedName", + "src": "59409:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "59458:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59468:3:30", + "type": "", + "value": "352" + }, + "variables": [ + { + "name": "_7", + "nodeType": "YulTypedName", + "src": "59462:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_6", + "nodeType": "YulIdentifier", + "src": "59498:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59518:9:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "59529:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59514:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59514:18:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "59480:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "59480:53:30" + }, + "nodeType": "YulExpressionStatement", + "src": "59480:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "59542:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "59574:6:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "59582:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59570:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59570:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "59564:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "59564:22:30" + }, + "variables": [ + { + "name": "memberValue0_7", + "nodeType": "YulTypedName", + "src": "59546:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "59595:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59605:3:30", + "type": "", + "value": "384" + }, + "variables": [ + { + "name": "_8", + "nodeType": "YulTypedName", + "src": "59599:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_7", + "nodeType": "YulIdentifier", + "src": "59635:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59655:9:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "59666:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59651:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59651:18:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "59617:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "59617:53:30" + }, + "nodeType": "YulExpressionStatement", + "src": "59617:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "59679:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "59711:6:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "59719:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59707:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59707:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "59701:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "59701:22:30" + }, + "variables": [ + { + "name": "memberValue0_8", + "nodeType": "YulTypedName", + "src": "59683:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "59732:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59742:3:30", + "type": "", + "value": "416" + }, + "variables": [ + { + "name": "_9", + "nodeType": "YulTypedName", + "src": "59736:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_8", + "nodeType": "YulIdentifier", + "src": "59772:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59792:9:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "59803:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59788:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59788:18:30" + } + ], + "functionName": { + "name": "abi_encode_uint16", + "nodeType": "YulIdentifier", + "src": "59754:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "59754:53:30" + }, + "nodeType": "YulExpressionStatement", + "src": "59754:53:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "59816:44:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "59848:6:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "59856:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59844:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59844:15:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "59838:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "59838:22:30" + }, + "variables": [ + { + "name": "memberValue0_9", + "nodeType": "YulTypedName", + "src": "59820:14:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "59869:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59880:3:30", + "type": "", + "value": "448" + }, + "variables": [ + { + "name": "_10", + "nodeType": "YulTypedName", + "src": "59873:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_9", + "nodeType": "YulIdentifier", + "src": "59910:14:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59930:9:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "59941:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59926:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59926:19:30" + } + ], + "functionName": { + "name": "abi_encode_uint16", + "nodeType": "YulIdentifier", + "src": "59892:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "59892:54:30" + }, + "nodeType": "YulExpressionStatement", + "src": "59892:54:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "59955:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "59988:6:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "59996:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59984:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "59984:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "59978:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "59978:23:30" + }, + "variables": [ + { + "name": "memberValue0_10", + "nodeType": "YulTypedName", + "src": "59959:15:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "60010:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60021:3:30", + "type": "", + "value": "480" + }, + "variables": [ + { + "name": "_11", + "nodeType": "YulTypedName", + "src": "60014:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_10", + "nodeType": "YulIdentifier", + "src": "60051:15:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60072:9:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "60083:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60068:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "60068:19:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "60033:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "60033:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "60033:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "60097:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "60130:6:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "60138:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60126:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "60126:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "60120:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "60120:23:30" + }, + "variables": [ + { + "name": "memberValue0_11", + "nodeType": "YulTypedName", + "src": "60101:15:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "60152:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60163:3:30", + "type": "", + "value": "512" + }, + "variables": [ + { + "name": "_12", + "nodeType": "YulTypedName", + "src": "60156:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_11", + "nodeType": "YulIdentifier", + "src": "60193:15:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60214:9:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "60225:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60210:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "60210:19:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "60175:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "60175:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "60175:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "60239:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "60272:6:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "60280:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60268:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "60268:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "60262:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "60262:23:30" + }, + "variables": [ + { + "name": "memberValue0_12", + "nodeType": "YulTypedName", + "src": "60243:15:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "60294:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60305:3:30", + "type": "", + "value": "544" + }, + "variables": [ + { + "name": "_13", + "nodeType": "YulTypedName", + "src": "60298:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_12", + "nodeType": "YulIdentifier", + "src": "60335:15:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60356:9:30" + }, + { + "name": "_13", + "nodeType": "YulIdentifier", + "src": "60367:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60352:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "60352:19:30" + } + ], + "functionName": { + "name": "abi_encode_uint32", + "nodeType": "YulIdentifier", + "src": "60317:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "60317:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "60317:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "60381:34:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "60402:6:30" + }, + { + "name": "_13", + "nodeType": "YulIdentifier", + "src": "60410:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60398:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "60398:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "60392:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "60392:23:30" + }, + "variables": [ + { + "name": "_14", + "nodeType": "YulTypedName", + "src": "60385:3:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "60424:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60435:3:30", + "type": "", + "value": "576" + }, + "variables": [ + { + "name": "_15", + "nodeType": "YulTypedName", + "src": "60428:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60458:9:30" + }, + { + "name": "_15", + "nodeType": "YulIdentifier", + "src": "60469:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60454:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "60454:19:30" + }, + { + "name": "_14", + "nodeType": "YulIdentifier", + "src": "60475:3:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "60447:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "60447:32:30" + }, + "nodeType": "YulExpressionStatement", + "src": "60447:32:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60499:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "60510:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60495:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "60495:18:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "60525:6:30" + }, + { + "name": "_15", + "nodeType": "YulIdentifier", + "src": "60533:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60521:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "60521:16:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "60515:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "60515:23:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "60488:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "60488:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "60488:51:30" + }, + { + "nodeType": "YulAssignment", + "src": "60548:14:30", + "value": { + "name": "tail_3", + "nodeType": "YulIdentifier", + "src": "60556:6:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "60548:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_PegOutQuote_$10194_memory_ptr__to_t_struct$_PegOutQuote_$10194_memory_ptr__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "58068:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "58079:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "58090:4:30", + "type": "" + } + ], + "src": "57930:2638:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "60747:181:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60764:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60775:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "60757:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "60757:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "60757:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60798:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60809:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60794:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "60794:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60814:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "60787:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "60787:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "60787:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60837:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60848:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60833:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "60833:18:30" + }, + { + "hexValue": "5265656e7472616e637947756172643a207265656e7472616e742063616c6c", + "kind": "string", + "nodeType": "YulLiteral", + "src": "60853:33:30", + "type": "", + "value": "ReentrancyGuard: reentrant call" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "60826:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "60826:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "60826:61:30" + }, + { + "nodeType": "YulAssignment", + "src": "60896:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60908:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60919:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60904:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "60904:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "60896:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "60724:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "60738:4:30", + "type": "" + } + ], + "src": "60573:355:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "61107:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61124:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61135:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "61117:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "61117:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "61117:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61158:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61169:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "61154:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "61154:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61174:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "61147:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "61147:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "61147:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61196:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61207:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "61192:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "61192:18:30" + }, + { + "hexValue": "4c4243303531", + "kind": "string", + "nodeType": "YulLiteral", + "src": "61212:8:30", + "type": "", + "value": "LBC051" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "61185:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "61185:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "61185:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "61230:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61242:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61253:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "61238:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "61238:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "61230:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ed7029e52dbf10ed9f0aafb2c33265c713a3f4dfd10cc113f22ba3c1270e1ddb__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "61084:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "61098:4:30", + "type": "" + } + ], + "src": "60933:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "61441:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61458:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61469:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "61451:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "61451:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "61451:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61492:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61503:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "61488:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "61488:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61508:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "61481:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "61481:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "61481:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61530:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61541:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "61526:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "61526:18:30" + }, + { + "hexValue": "4c4243303532", + "kind": "string", + "nodeType": "YulLiteral", + "src": "61546:8:30", + "type": "", + "value": "LBC052" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "61519:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "61519:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "61519:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "61564:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61576:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61587:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "61572:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "61572:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "61564:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a1a398356814e2eac3017ce127db7657cbb8e2f1d90a78bc426eaa92c56969eb__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "61418:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "61432:4:30", + "type": "" + } + ], + "src": "61267:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "61775:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61792:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61803:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "61785:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "61785:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "61785:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61826:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61837:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "61822:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "61822:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61842:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "61815:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "61815:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "61815:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61864:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61875:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "61860:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "61860:18:30" + }, + { + "hexValue": "4c4243303533", + "kind": "string", + "nodeType": "YulLiteral", + "src": "61880:8:30", + "type": "", + "value": "LBC053" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "61853:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "61853:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "61853:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "61898:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "61910:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "61921:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "61906:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "61906:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "61898:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_923b965409721a83cf4ae76f34fa52de6eb09679d5b7141d2c0fc518a94192db__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "61752:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "61766:4:30", + "type": "" + } + ], + "src": "61601:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "62109:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "62126:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62137:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "62119:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "62119:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "62119:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "62160:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62171:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62156:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62156:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62176:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "62149:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "62149:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "62149:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "62198:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62209:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62194:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62194:18:30" + }, + { + "hexValue": "4c4243303534", + "kind": "string", + "nodeType": "YulLiteral", + "src": "62214:8:30", + "type": "", + "value": "LBC054" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "62187:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "62187:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "62187:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "62232:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "62244:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62255:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62240:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62240:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "62232:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_472231c5f3abacc190b5fd56153fbfc4b6c39c18040d443b29faee14791d54d9__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "62086:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "62100:4:30", + "type": "" + } + ], + "src": "61935:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "62443:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "62460:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62471:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "62453:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "62453:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "62453:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "62494:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62505:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62490:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62490:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62510:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "62483:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "62483:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "62483:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "62532:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62543:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62528:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62528:18:30" + }, + { + "hexValue": "4c4243303535", + "kind": "string", + "nodeType": "YulLiteral", + "src": "62548:8:30", + "type": "", + "value": "LBC055" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "62521:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "62521:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "62521:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "62566:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "62578:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62589:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62574:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62574:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "62566:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1bdc71792e300c3b19739ad62e7651b4b49de502b7d1b6227970563bffaad71e__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "62420:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "62434:4:30", + "type": "" + } + ], + "src": "62269:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "62650:133:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "62660:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62678:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62682:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "62674:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62674:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62686:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "62670:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62670:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "62664:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "62697:34:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "62712:1:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "62715:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "62708:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62708:10:30" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "62724:1:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "62727:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "62720:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62720:10:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "62704:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "62704:27:30" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "62697:3:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "62755:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "62757:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "62757:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "62757:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "62746:3:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "62751:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "62743:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "62743:11:30" + }, + "nodeType": "YulIf", + "src": "62740:37:30" + } + ] + }, + "name": "checked_add_t_uint64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "62633:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "62636:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "62642:3:30", + "type": "" + } + ], + "src": "62603:180:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "62962:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "62979:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "62990:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "62972:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "62972:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "62972:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "63013:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63024:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63009:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63009:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63029:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "63002:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "63002:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "63002:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "63051:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63062:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63047:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63047:18:30" + }, + { + "hexValue": "4c4243303731", + "kind": "string", + "nodeType": "YulLiteral", + "src": "63067:8:30", + "type": "", + "value": "LBC071" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "63040:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "63040:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "63040:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "63085:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "63097:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63108:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63093:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63093:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "63085:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_79d3c6c4bda42d819072ed97d83e6147bd9ad75bd5415529ecb6a41984271fb2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "62939:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "62953:4:30", + "type": "" + } + ], + "src": "62788:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "63289:110:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "63306:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63317:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "63299:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "63299:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "63299:21:30" + }, + { + "nodeType": "YulAssignment", + "src": "63329:64:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "63366:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "63378:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63389:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63374:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63374:18:30" + } + ], + "functionName": { + "name": "abi_encode_struct_PeginQuote", + "nodeType": "YulIdentifier", + "src": "63337:28:30" + }, + "nodeType": "YulFunctionCall", + "src": "63337:56:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "63329:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_PeginQuote_$10155_memory_ptr__to_t_struct$_PeginQuote_$10155_memory_ptr__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "63258:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "63269:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "63280:4:30", + "type": "" + } + ], + "src": "63122:277:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "63783:684:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "63793:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63803:3:30", + "type": "", + "value": "256" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "63797:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "63822:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "63833:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "63815:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "63815:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "63815:21:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "63845:59:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "63877:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "63889:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "63900:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63885:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63885:18:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "63859:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "63859:45:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "63849:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "63924:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63935:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63920:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63920:18:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "63940:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "63913:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "63913:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "63913:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "63967:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63978:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "63963:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63963:18:30" + }, + { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "63987:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "63995:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "63983:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "63983:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "63956:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "63956:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "63956:50:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "64015:47:30", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "64047:6:30" + }, + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "64055:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "64029:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "64029:33:30" + }, + "variables": [ + { + "name": "tail_2", + "nodeType": "YulTypedName", + "src": "64019:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64082:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64093:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "64078:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64078:18:30" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "64098:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "64071:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "64071:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "64071:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64125:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64136:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "64121:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64121:19:30" + }, + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "64146:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64154:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "64142:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64142:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "64114:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "64114:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "64114:51:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "64174:47:30", + "value": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "64206:6:30" + }, + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "64214:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "64188:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "64188:33:30" + }, + "variables": [ + { + "name": "tail_3", + "nodeType": "YulTypedName", + "src": "64178:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64241:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64252:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "64237:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64237:19:30" + }, + { + "arguments": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "64262:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64278:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64283:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "64274:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64274:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64287:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "64270:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64270:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "64258:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64258:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "64230:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "64230:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "64230:61:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64311:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64322:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "64307:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64307:19:30" + }, + { + "arguments": [ + { + "name": "tail_3", + "nodeType": "YulIdentifier", + "src": "64332:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64340:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "64328:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64328:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "64300:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "64300:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "64300:51:30" + }, + { + "nodeType": "YulAssignment", + "src": "64360:41:30", + "value": { + "arguments": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "64386:6:30" + }, + { + "name": "tail_3", + "nodeType": "YulIdentifier", + "src": "64394:6:30" + } + ], + "functionName": { + "name": "abi_encode_string", + "nodeType": "YulIdentifier", + "src": "64368:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "64368:33:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "64360:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64421:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64432:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "64417:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64417:19:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value7", + "nodeType": "YulIdentifier", + "src": "64452:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "64445:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "64445:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "64438:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "64438:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "64410:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "64410:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "64410:51:30" + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr_t_uint256_t_bytes_memory_ptr_t_bytes32_t_bytes_memory_ptr_t_address_payable_t_bytes_memory_ptr_t_bool__to_t_bytes_memory_ptr_t_uint256_t_bytes_memory_ptr_t_bytes32_t_bytes_memory_ptr_t_address_payable_t_bytes_memory_ptr_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "63696:9:30", + "type": "" + }, + { + "name": "value7", + "nodeType": "YulTypedName", + "src": "63707:6:30", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "63715:6:30", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "63723:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "63731:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "63739:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "63747:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "63755:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "63763:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "63774:4:30", + "type": "" + } + ], + "src": "63404:1063:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "64646:170:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64663:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64674:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "64656:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "64656:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "64656:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64697:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64708:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "64693:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64693:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64713:2:30", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "64686:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "64686:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "64686:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64736:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64747:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "64732:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64732:18:30" + }, + { + "hexValue": "496e76616c696420626c6f636b20686569676874", + "kind": "string", + "nodeType": "YulLiteral", + "src": "64752:22:30", + "type": "", + "value": "Invalid block height" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "64725:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "64725:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "64725:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "64784:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64796:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64807:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "64792:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64792:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "64784:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b13cbe420d932534b4c4c376e19a45f25e0ca05c6f1a458489ccb0574b26a6d9__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "64623:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "64637:4:30", + "type": "" + } + ], + "src": "64472:344:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "64902:103:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "64948:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64957:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64960:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "64950:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "64950:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "64950:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "64923:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64932:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "64919:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64919:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "64944:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "64915:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "64915:32:30" + }, + "nodeType": "YulIf", + "src": "64912:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "64973:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "64989:9:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "64983:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "64983:16:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "64973:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "64868:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "64879:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "64891:6:30", + "type": "" + } + ], + "src": "64821:184:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "65184:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65201:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65212:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "65194:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "65194:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "65194:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65235:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65246:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "65231:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65231:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65251:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "65224:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "65224:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "65224:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65273:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65284:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "65269:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65269:18:30" + }, + { + "hexValue": "4c4243303538", + "kind": "string", + "nodeType": "YulLiteral", + "src": "65289:8:30", + "type": "", + "value": "LBC058" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "65262:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "65262:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "65262:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "65307:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65319:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65330:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "65315:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65315:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "65307:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_bac19bb4c4dce4ec87196bdccebfa1c4310f60332f1259cdc0bb93303ee1c2a0__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "65161:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "65175:4:30", + "type": "" + } + ], + "src": "65010:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "65518:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65535:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65546:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "65528:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "65528:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "65528:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65569:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65580:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "65565:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65565:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65585:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "65558:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "65558:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "65558:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65607:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65618:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "65603:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65603:18:30" + }, + { + "hexValue": "4c4243303734", + "kind": "string", + "nodeType": "YulLiteral", + "src": "65623:8:30", + "type": "", + "value": "LBC074" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "65596:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "65596:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "65596:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "65641:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65653:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65664:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "65649:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65649:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "65641:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_e9fc4e098febe7043f1662405d88fa2495f2ac8d8f35918e247815b713cfd00a__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "65495:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "65509:4:30", + "type": "" + } + ], + "src": "65344:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "65852:182:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65869:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65880:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "65862:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "65862:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "65862:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65903:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65914:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "65899:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65899:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65919:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "65892:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "65892:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "65892:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "65942:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "65953:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "65938:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "65938:18:30" + }, + { + "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "65958:34:30", + "type": "", + "value": "Ownable: caller is not the owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "65931:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "65931:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "65931:62:30" + }, + { + "nodeType": "YulAssignment", + "src": "66002:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "66014:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "66025:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "66010:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "66010:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "66002:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "65829:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "65843:4:30", + "type": "" + } + ], + "src": "65678:356:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "66213:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "66230:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "66241:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "66223:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "66223:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "66223:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "66264:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "66275:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "66260:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "66260:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "66280:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "66253:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "66253:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "66253:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "66302:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "66313:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "66298:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "66298:18:30" + }, + { + "hexValue": "4c4243303539", + "kind": "string", + "nodeType": "YulLiteral", + "src": "66318:8:30", + "type": "", + "value": "LBC059" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "66291:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "66291:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "66291:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "66336:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "66348:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "66359:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "66344:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "66344:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "66336:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_319f398ccb7cc8c2c2304e07f301f618437c863aa2ff561ced1eaa40fcd3df63__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "66190:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "66204:4:30", + "type": "" + } + ], + "src": "66039:329:30" + } + ] + }, + "contents": "{\n { }\n function abi_encode_tuple_t_stringliteral_a23daf30bd1e42cc69e3bea751166702f08d640860ab6f4c84d6bacb970360da__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC007\")\n tail := add(headStart, 96)\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_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\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_8929() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0x0260)\n if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function allocate_memory_8930() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0x0280)\n if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function allocate_memory_8934() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0x80)\n if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\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 validator_revert_address(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n validator_revert_address(value)\n }\n function array_allocation_size_bytes(length) -> size\n {\n if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n size := add(and(add(length, 31), not(31)), 0x20)\n }\n function abi_decode_bytes(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_bytes(_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_int64(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, signextend(7, value))) { revert(0, 0) }\n }\n function abi_decode_uint32(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffffffff))) { revert(0, 0) }\n }\n function abi_decode_uint16(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffff))) { revert(0, 0) }\n }\n function abi_decode_struct_PegOutQuote(headStart, end) -> value\n {\n if slt(sub(end, headStart), 0x0260) { revert(0, 0) }\n value := allocate_memory_8929()\n mstore(value, abi_decode_address(headStart))\n mstore(add(value, 32), abi_decode_address(add(headStart, 32)))\n let offset := calldataload(add(headStart, 64))\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n mstore(add(value, 64), abi_decode_bytes(add(headStart, offset), end))\n mstore(add(value, 96), abi_decode_address(add(headStart, 96)))\n let offset_1 := calldataload(add(headStart, 128))\n if gt(offset_1, _1) { revert(0, 0) }\n mstore(add(value, 128), abi_decode_bytes(add(headStart, offset_1), end))\n mstore(add(value, 160), calldataload(add(headStart, 160)))\n mstore(add(value, 192), calldataload(add(headStart, 192)))\n mstore(add(value, 224), abi_decode_int64(add(headStart, 224)))\n let _2 := 256\n let offset_2 := calldataload(add(headStart, _2))\n if gt(offset_2, _1) { revert(0, 0) }\n mstore(add(value, _2), abi_decode_bytes(add(headStart, offset_2), end))\n let _3 := 288\n mstore(add(value, _3), calldataload(add(headStart, _3)))\n let _4 := 320\n mstore(add(value, _4), abi_decode_uint32(add(headStart, _4)))\n let _5 := 352\n mstore(add(value, _5), abi_decode_uint32(add(headStart, _5)))\n let _6 := 384\n mstore(add(value, _6), abi_decode_uint16(add(headStart, _6)))\n let _7 := 416\n mstore(add(value, _7), abi_decode_uint16(add(headStart, _7)))\n let _8 := 448\n mstore(add(value, _8), abi_decode_uint32(add(headStart, _8)))\n let _9 := 480\n mstore(add(value, _9), abi_decode_uint32(add(headStart, _9)))\n let _10 := 512\n mstore(add(value, _10), abi_decode_uint32(add(headStart, _10)))\n let _11 := 544\n mstore(add(value, _11), calldataload(add(headStart, _11)))\n let _12 := 576\n mstore(add(value, _12), calldataload(add(headStart, _12)))\n }\n function abi_decode_tuple_t_struct$_PegOutQuote_$10194_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, sub(shl(64, 1), 1)) { revert(0, 0) }\n value0 := abi_decode_struct_PegOutQuote(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_uint256t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n validator_revert_address(value)\n value1 := value\n }\n function abi_decode_bytes20(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, not(sub(shl(96, 1), 1))))) { revert(0, 0) }\n }\n function validator_revert_bool(value)\n {\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_bool(offset) -> value\n {\n value := calldataload(offset)\n validator_revert_bool(value)\n }\n function abi_decode_struct_PeginQuote(headStart, end) -> value\n {\n if slt(sub(end, headStart), 0x0280) { revert(0, 0) }\n value := allocate_memory_8930()\n mstore(value, abi_decode_bytes20(headStart))\n mstore(add(value, 32), abi_decode_address(add(headStart, 32)))\n mstore(add(value, 64), abi_decode_address(add(headStart, 64)))\n let offset := calldataload(add(headStart, 96))\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n mstore(add(value, 96), abi_decode_bytes(add(headStart, offset), end))\n mstore(add(value, 128), abi_decode_address(add(headStart, 128)))\n let offset_1 := calldataload(add(headStart, 160))\n if gt(offset_1, _1) { revert(0, 0) }\n mstore(add(value, 160), abi_decode_bytes(add(headStart, offset_1), end))\n mstore(add(value, 192), calldataload(add(headStart, 192)))\n mstore(add(value, 224), calldataload(add(headStart, 224)))\n let _2 := 256\n mstore(add(value, _2), abi_decode_address(add(headStart, _2)))\n let _3 := 288\n let offset_2 := calldataload(add(headStart, _3))\n if gt(offset_2, _1) { revert(0, 0) }\n mstore(add(value, _3), abi_decode_bytes(add(headStart, offset_2), end))\n let _4 := 320\n mstore(add(value, _4), abi_decode_uint32(add(headStart, _4)))\n let _5 := 352\n mstore(add(value, _5), abi_decode_int64(add(headStart, _5)))\n let _6 := 384\n mstore(add(value, _6), calldataload(add(headStart, _6)))\n let _7 := 416\n mstore(add(value, _7), abi_decode_uint32(add(headStart, _7)))\n let _8 := 448\n mstore(add(value, _8), abi_decode_uint32(add(headStart, _8)))\n let _9 := 480\n mstore(add(value, _9), abi_decode_uint32(add(headStart, _9)))\n let _10 := 512\n mstore(add(value, _10), abi_decode_uint16(add(headStart, _10)))\n let _11 := 544\n mstore(add(value, _11), abi_decode_bool(add(headStart, _11)))\n let _12 := 576\n mstore(add(value, _12), calldataload(add(headStart, _12)))\n let _13 := 608\n mstore(add(value, _13), calldataload(add(headStart, _13)))\n }\n function abi_decode_tuple_t_struct$_PeginQuote_$10155_memory_ptrt_bytes_memory_ptrt_bytes_memory_ptrt_bytes_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_struct_PeginQuote(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_bytes(add(headStart, offset_1), dataEnd)\n let offset_2 := calldataload(add(headStart, 64))\n if gt(offset_2, _1) { revert(0, 0) }\n value2 := abi_decode_bytes(add(headStart, offset_2), dataEnd)\n let offset_3 := calldataload(add(headStart, 96))\n if gt(offset_3, _1) { revert(0, 0) }\n value3 := abi_decode_bytes(add(headStart, offset_3), dataEnd)\n value4 := calldataload(add(headStart, 128))\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_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_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_boolt_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_bytes(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_bytes(add(headStart, offset_1), dataEnd)\n let value := calldataload(add(headStart, 64))\n validator_revert_bool(value)\n value2 := value\n let offset_2 := calldataload(add(headStart, 96))\n if gt(offset_2, _1) { revert(0, 0) }\n value3 := abi_decode_bytes(add(headStart, offset_2), dataEnd)\n }\n function abi_encode_tuple_t_int16__to_t_int16__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, signextend(1, value0))\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_encode_bool(value, pos)\n {\n mstore(pos, iszero(iszero(value)))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_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 array_allocation_size_array_uint256_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_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0\n {\n let _1 := 32\n if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, sub(shl(64, 1), 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 dst := allocate_memory(array_allocation_size_array_uint256_dyn(_3))\n let dst_1 := dst\n mstore(dst, _3)\n dst := add(dst, _1)\n let srcEnd := add(add(_2, shl(5, _3)), _1)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_2, _1)\n for { } lt(src, srcEnd) { src := add(src, _1) }\n {\n mstore(dst, calldataload(src))\n dst := add(dst, _1)\n }\n value0 := dst_1\n }\n function abi_encode_address(value, pos)\n {\n mstore(pos, and(value, sub(shl(160, 1), 1)))\n }\n function copy_memory_to_memory_with_cleanup(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 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_with_cleanup(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_array$_t_struct$_LiquidityProvider_$7056_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_LiquidityProvider_$7056_memory_ptr_$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 let _2 := 64\n pos := add(headStart, _2)\n let tail_2 := add(add(headStart, shl(5, length)), _2)\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, add(sub(tail_2, headStart), not(63)))\n let _3 := mload(srcPtr)\n let _4 := 0xc0\n mstore(tail_2, mload(_3))\n mstore(add(tail_2, _1), and(mload(add(_3, _1)), sub(shl(160, 1), 1)))\n let memberValue0 := mload(add(_3, _2))\n mstore(add(tail_2, _2), _4)\n let tail_3 := abi_encode_string(memberValue0, add(tail_2, _4))\n let _5 := 0x60\n let memberValue0_1 := mload(add(_3, _5))\n mstore(add(tail_2, _5), sub(tail_3, tail_2))\n let tail_4 := abi_encode_string(memberValue0_1, tail_3)\n let _6 := 0x80\n mstore(add(tail_2, _6), iszero(iszero(mload(add(_3, _6)))))\n let _7 := 0xa0\n let memberValue0_2 := mload(add(_3, _7))\n mstore(add(tail_2, _7), sub(tail_4, tail_2))\n tail_2 := abi_encode_string(memberValue0_2, tail_4)\n srcPtr := add(srcPtr, _1)\n pos := add(pos, _1)\n }\n tail := tail_2\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, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_uint256t_bool(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n validator_revert_bool(value)\n value1 := value\n }\n function abi_decode_tuple_t_struct$_PeginQuote_$10155_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 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_struct_PeginQuote(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_bytes(add(headStart, offset_1), dataEnd)\n }\n function abi_decode_tuple_t_struct$_PeginQuote_$10155_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, sub(shl(64, 1), 1)) { revert(0, 0) }\n value0 := abi_decode_struct_PeginQuote(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_struct$_PegOutQuote_$10194_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 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_struct_PegOutQuote(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_bytes(add(headStart, offset_1), dataEnd)\n }\n function abi_encode_uint16(value, pos)\n {\n mstore(pos, and(value, 0xffff))\n }\n function abi_encode_tuple_t_uint16__to_t_uint16__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffff))\n }\n function abi_decode_tuple_t_bytes32t_bytes_memory_ptrt_bytes32t_uint256t_array$_t_bytes32_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := calldataload(headStart)\n let _1 := 32\n let offset := calldataload(add(headStart, _1))\n let _2 := sub(shl(64, 1), 1)\n if gt(offset, _2) { revert(0, 0) }\n value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n value2 := calldataload(add(headStart, 64))\n value3 := calldataload(add(headStart, 96))\n let offset_1 := calldataload(add(headStart, 128))\n if gt(offset_1, _2) { revert(0, 0) }\n let _3 := add(headStart, offset_1)\n if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n let _4 := calldataload(_3)\n let dst := allocate_memory(array_allocation_size_array_uint256_dyn(_4))\n let dst_1 := dst\n mstore(dst, _4)\n dst := add(dst, _1)\n let srcEnd := add(add(_3, shl(5, _4)), _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 mstore(dst, calldataload(src))\n dst := add(dst, _1)\n }\n value4 := dst_1\n }\n function abi_encode_tuple_t_contract$_Bridge_$3208__to_t_address_payable__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_int64(value, pos)\n {\n mstore(pos, signextend(7, value))\n }\n function abi_encode_uint32(value, pos)\n {\n mstore(pos, and(value, 0xffffffff))\n }\n function abi_encode_tuple_t_struct$_PegOutQuote_$10194_memory_ptr__to_t_struct$_PegOutQuote_$10194_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n abi_encode_address(mload(value0), add(headStart, 32))\n let memberValue0 := mload(add(value0, 32))\n abi_encode_address(memberValue0, add(headStart, 64))\n let memberValue0_1 := mload(add(value0, 64))\n let _1 := 0x0260\n mstore(add(headStart, 96), _1)\n let tail_1 := abi_encode_string(memberValue0_1, add(headStart, 640))\n let memberValue0_2 := mload(add(value0, 96))\n abi_encode_address(memberValue0_2, add(headStart, 128))\n let memberValue0_3 := mload(add(value0, 128))\n let _2 := not(31)\n mstore(add(headStart, 160), add(sub(tail_1, headStart), _2))\n let tail_2 := abi_encode_string(memberValue0_3, tail_1)\n mstore(add(headStart, 192), mload(add(value0, 160)))\n mstore(add(headStart, 224), mload(add(value0, 192)))\n let memberValue0_4 := mload(add(value0, 224))\n let _3 := 256\n abi_encode_int64(memberValue0_4, add(headStart, _3))\n let memberValue0_5 := mload(add(value0, _3))\n let _4 := 288\n mstore(add(headStart, _4), add(sub(tail_2, headStart), _2))\n let tail_3 := abi_encode_string(memberValue0_5, tail_2)\n let _5 := mload(add(value0, _4))\n let _6 := 320\n mstore(add(headStart, _6), _5)\n let memberValue0_6 := mload(add(value0, _6))\n let _7 := 352\n abi_encode_uint32(memberValue0_6, add(headStart, _7))\n let memberValue0_7 := mload(add(value0, _7))\n let _8 := 384\n abi_encode_uint32(memberValue0_7, add(headStart, _8))\n let memberValue0_8 := mload(add(value0, _8))\n let _9 := 416\n abi_encode_uint16(memberValue0_8, add(headStart, _9))\n let memberValue0_9 := mload(add(value0, _9))\n let _10 := 448\n abi_encode_uint16(memberValue0_9, add(headStart, _10))\n let memberValue0_10 := mload(add(value0, _10))\n let _11 := 480\n abi_encode_uint32(memberValue0_10, add(headStart, _11))\n let memberValue0_11 := mload(add(value0, _11))\n let _12 := 512\n abi_encode_uint32(memberValue0_11, add(headStart, _12))\n let memberValue0_12 := mload(add(value0, _12))\n let _13 := 544\n abi_encode_uint32(memberValue0_12, add(headStart, _13))\n let _14 := mload(add(value0, _13))\n let _15 := 576\n mstore(add(headStart, _15), _14)\n mstore(add(headStart, _1), mload(add(value0, _15)))\n tail := tail_3\n }\n function abi_encode_tuple_t_stringliteral_4c4b8fd0ae53a3caa85e74f53bba210cefdcb0e1d1c519eb8385d2cd3741f7fb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC028\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_address_t_bytes32_t_bytes_memory_ptr__to_t_address_t_bytes32_t_bytes_memory_ptr__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), 96)\n tail := abi_encode_string(value2, add(headStart, 96))\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 validator_revert_bool(value)\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_ebb41fd1c3d95b8eaff1e56d491f7a983f7f3039fac57e6fad7993de139e2216__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC029\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6b987c2142a6ed89e76021f4d9a60f3cbfc2f7110bd81bc33ff58ad7cf27befa__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC030\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_b9f5a33cea5e5738277827f2f81faa92d1d3c73cf030e2542a7b80c6f7bdc8a7__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC031\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_5d8d108d93a53583cf1949d2287cc7f0af5603bd102faf9db90e7e6bbc90ade8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC032\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_e976d8a3febca36c67dcd5b38ae845ffd2f248a24eaf2d7a97f208ffd80ff125__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC033\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_745436b16371784f7b451bf4bed6f0978e2f007f74e71dfa0c49414b3a522759__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC034\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_37570ea73114ff69cb8aab9e09d6f5beb11b36ce1a2ae19ee6f5de28dc42d754__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC035\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_5ccb4449252c316623411606962515c0966208bcce5fe352c2e850b058d1077c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC036\")\n tail := add(headStart, 96)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_address_t_uint256_t_bytes32__to_t_address_t_uint256_t_bytes32__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n product := mul(x, y)\n if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n }\n function panic_error_0x12()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := div(x, y)\n }\n function abi_encode_tuple_t_bytes32_t_int256__to_t_bytes32_t_int256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_bytes20(value, pos)\n {\n mstore(pos, and(value, not(sub(shl(96, 1), 1))))\n }\n function abi_encode_struct_PeginQuote(value, pos) -> end\n {\n let _1 := 0x0280\n abi_encode_bytes20(mload(value), pos)\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_address(memberValue0, add(pos, 0x20))\n let memberValue0_1 := mload(add(value, 0x40))\n abi_encode_address(memberValue0_1, add(pos, 0x40))\n let memberValue0_2 := mload(add(value, 0x60))\n mstore(add(pos, 0x60), _1)\n let tail := abi_encode_string(memberValue0_2, add(pos, _1))\n let memberValue0_3 := mload(add(value, 0x80))\n abi_encode_address(memberValue0_3, add(pos, 0x80))\n let memberValue0_4 := mload(add(value, 0xa0))\n mstore(add(pos, 0xa0), sub(tail, pos))\n let tail_1 := abi_encode_string(memberValue0_4, tail)\n mstore(add(pos, 0xc0), mload(add(value, 0xc0)))\n mstore(add(pos, 0xe0), mload(add(value, 0xe0)))\n let _2 := 0x0100\n let memberValue0_5 := mload(add(value, _2))\n abi_encode_address(memberValue0_5, add(pos, _2))\n let _3 := 0x0120\n let memberValue0_6 := mload(add(value, _3))\n mstore(add(pos, _3), sub(tail_1, pos))\n let tail_2 := abi_encode_string(memberValue0_6, tail_1)\n let _4 := 0x0140\n let memberValue0_7 := mload(add(value, _4))\n abi_encode_uint32(memberValue0_7, add(pos, _4))\n let _5 := 0x0160\n let memberValue0_8 := mload(add(value, _5))\n abi_encode_int64(memberValue0_8, add(pos, _5))\n let _6 := 0x0180\n mstore(add(pos, _6), mload(add(value, _6)))\n let _7 := 0x01a0\n let memberValue0_9 := mload(add(value, _7))\n abi_encode_uint32(memberValue0_9, add(pos, _7))\n let _8 := 0x01c0\n let memberValue0_10 := mload(add(value, _8))\n abi_encode_uint32(memberValue0_10, add(pos, _8))\n let _9 := 0x01e0\n let memberValue0_11 := mload(add(value, _9))\n abi_encode_uint32(memberValue0_11, add(pos, _9))\n let _10 := 0x0200\n let memberValue0_12 := mload(add(value, _10))\n abi_encode_uint16(memberValue0_12, add(pos, _10))\n let _11 := 0x0220\n let memberValue0_13 := mload(add(value, _11))\n abi_encode_bool(memberValue0_13, add(pos, _11))\n let _12 := 0x0240\n mstore(add(pos, _12), mload(add(value, _12)))\n let _13 := 0x0260\n mstore(add(pos, _13), mload(add(value, _13)))\n end := tail_2\n }\n function abi_encode_tuple_t_struct$_PeginQuote_$10155_memory_ptr_t_uint256__to_t_struct$_PeginQuote_$10155_memory_ptr_t_uint256__fromStack_library_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 64)\n tail := abi_encode_struct_PeginQuote(value0, add(headStart, 64))\n mstore(add(headStart, 32), value1)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos) -> end\n { end := pos }\n function abi_encode_tuple_t_address_payable_t_uint256_t_bool_t_bytes32__to_t_address_t_uint256_t_bool_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), iszero(iszero(value2)))\n mstore(add(headStart, 96), value3)\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_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_uint32_t_uint256_t_bytes_memory_ptr_t_bool_t_bytes32__to_t_uint256_t_uint256_t_bytes_memory_ptr_t_bool_t_bytes32__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, and(value0, 0xffffffff))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), 160)\n tail := abi_encode_string(value2, add(headStart, 160))\n mstore(add(headStart, 96), iszero(iszero(value3)))\n mstore(add(headStart, 128), value4)\n }\n function abi_encode_tuple_t_stringliteral_41f42e8d0f67be0e87abf05a33ed728b4868df2f2b92840d9519a852352eb909__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC019\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_5c242c0534fa00b11577be4ea886875d641e4a1ad40749685bb740e7c1a67fc9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC020\")\n tail := add(headStart, 96)\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, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_stringliteral_ccfdeeda37cff52b8b53c7f459ead001a00858d8cd279133dc1e599c6257c485__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC021\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ae5a5bd2536c79a56736074670f517df1b8a17deb822b59dfa1648888074b4cc__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC022\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_7e21a7b13292bf184f2fc166cca229506aa89a730258f15cdce6a2f8dc225415__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC003\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_b91014d5c812b217b1f7abf06d04044851a14f3d4efa9b6795d3964c23897cc9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC010\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_849663c0a27b21987cfc03f3233af0a7a46b23f0af09d39a18720d9610bcba81__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC017\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_packed_t_stringliteral_4dc7b383aaca8b1076677685b160d1864e4801cbbaf42c8044d4665ea1c41120__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos) -> end\n {\n mstore(pos, \"pegin\")\n end := add(pos, 5)\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_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_packed_t_stringliteral_ac320a165668abf6cbe2f0b8e46bf2426fe38861df98fc1861161bf05a853587__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos) -> end\n {\n mstore(pos, \"pegout\")\n end := add(pos, 6)\n }\n function abi_encode_tuple_packed_t_stringliteral_36ad643d447cde9387780ae6f5b371120b595aaff5d56b8440952d5f7116fa16__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos) -> end\n {\n mstore(pos, \"both\")\n end := add(pos, 4)\n }\n function abi_encode_tuple_t_stringliteral_c8a2f96b1c149a2cda2dda6db9bbdafbecddac69bce104e31ad4dd14842e4820__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC018\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_a80fe4c2764b7c4b52829ebb2b1bb3117b2b8ffa6a6401dbe00248ec851a73a8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC070\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_f838e22b544c153329abcc9856d1b1f7e7f6c83118dc13d7a0606e65edb3cdd8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC009\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_26efcc4d852e81be6f75389e4f50496331355ea059764b90ab1412936d29ab69__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC008\")\n tail := add(headStart, 96)\n }\n function mod_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 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 function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_stringliteral_a509ede2323476f3f5be48987391c5516e4ea8116b376287322ed2188be0e53c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC001\")\n tail := add(headStart, 96)\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function abi_encode_tuple_t_stringliteral_1e153c8413fa71b1dc88c42214ae3211e20bbd7d323adc3a7cb82fb90c05d672__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC023\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_0a36b25bf1b768acf545d4a7d22e9fceeba3414a7a19dc34973fc2e1be01a831__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC005\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_packed_t_bytes32_t_bytes_memory_ptr_t_bytes20_t_bytes_memory_ptr__to_t_bytes32_t_bytes_memory_ptr_t_bytes20_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value3, value2, value1, value0) -> end\n {\n mstore(pos, value0)\n let length := mload(value1)\n copy_memory_to_memory_with_cleanup(add(value1, 32), add(pos, 32), length)\n let _1 := add(pos, length)\n mstore(add(_1, 32), and(value2, not(sub(shl(96, 1), 1))))\n let length_1 := mload(value3)\n copy_memory_to_memory_with_cleanup(add(value3, 32), add(_1, 52), length_1)\n end := add(add(_1, length_1), 52)\n }\n function abi_decode_bytes_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let array_1 := allocate_memory(array_allocation_size_bytes(_1))\n mstore(array_1, _1)\n if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n copy_memory_to_memory_with_cleanup(add(offset, 0x20), add(array_1, 0x20), _1)\n array := array_1\n }\n function abi_decode_tuple_t_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := mload(headStart)\n if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n value0 := abi_decode_bytes_fromMemory(add(headStart, offset), dataEnd)\n }\n function abi_encode_tuple_packed_t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a_t_bytes32_t_stringliteral_32cefdcd8e794145c9af8dd1f4b1fbd92d6e547ae855553080fc8bd19c4883a0_t_bytes_memory_ptr__to_t_bytes1_t_bytes32_t_bytes1_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, \" \")\n mstore(add(pos, 1), value0)\n mstore(add(pos, 33), \"u\")\n let length := mload(value1)\n copy_memory_to_memory_with_cleanup(add(value1, 0x20), add(pos, 34), length)\n end := add(add(pos, length), 34)\n }\n function abi_encode_tuple_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bool__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bool__fromStack_library_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 tail := abi_encode_string(value1, tail_1)\n mstore(add(headStart, 64), iszero(iszero(value2)))\n }\n function abi_encode_tuple_t_stringliteral_9c6c58d5603e5b2aab0d13c183f0136466f0ce13826630d90e079bf910078715__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC024\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ceda09d74f8a59745bfad5393e75482469dc6db77c24fde6f52df4409a3f744c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC025\")\n tail := add(headStart, 96)\n }\n function checked_add_t_uint32(x, y) -> sum\n {\n let _1 := 0xffffffff\n sum := add(and(x, _1), and(y, _1))\n if gt(sum, _1) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_2d63cc93f65e3c34ca5cba24271c3d6869155fb2ffc83f083d82378f26d56cb0__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC026\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_5a937cad92792f08abdaf15eed65a070909c29d924f856ec65923c138fd39a48__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC027\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ecc75ee801269ba7670799af84ad7f1d968d59315783a708807424c72ec63d04__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC037\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_0267b5bcac1113eea8a4dc81e170e6fe59336df7f2c6a4d2ae7ad240f894a2f9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC063\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_39eacc26aa588693c014f46e6dd86f6cac22eb3287098210ddf746f1a6af8214__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC065\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_c8999eb883ba6531127283b89d3773d87761ac547946da55d1f52c5931d8838f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC046\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_b400745c4fd650850c2059b2d13f12980ca63b7ccd87c008204992f11af559c2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC047\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_35937926b0033772f3bb574f0cbcffec40211211a6070977d47733885bf234eb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC064\")\n tail := add(headStart, 96)\n }\n function copy_byte_array_to_storage_from_t_bytes_memory_ptr_to_t_bytes_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_t_stringliteral_100fb89310beea959f828c5ca2a95ca4d28be5d0ba0e61e54b1345b68d14b6a1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC042\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_476e33256b298fee7fc3dab0c339427caa3a9a4a44654f7f02b328083d44ca74__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC041\")\n tail := add(headStart, 96)\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, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_stringliteral_0a7ff570d31f7e351d06bf5b8d0ef26a9275a9d32a7dffd7981a6c6ac58227c6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC044\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_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_array$_t_struct$_TxRawOutput_$1968_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 if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n let _4 := mload(_3)\n let dst := allocate_memory(array_allocation_size_array_uint256_dyn(_4))\n let dst_1 := dst\n mstore(dst, _4)\n dst := add(dst, _1)\n let srcEnd := add(add(_3, shl(5, _4)), _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 _5 := 0\n revert(_5, _5)\n }\n let _6 := add(_3, innerOffset)\n let _7 := 0x80\n if slt(add(sub(dataEnd, _6), not(31)), _7)\n {\n let _8 := 0\n revert(_8, _8)\n }\n let value := allocate_memory_8934()\n let value_1 := mload(add(_6, _1))\n if iszero(eq(value_1, and(value_1, _2)))\n {\n let _9 := 0\n revert(_9, _9)\n }\n mstore(value, value_1)\n let _10 := 64\n let offset_1 := mload(add(_6, _10))\n if gt(offset_1, _2)\n {\n let _11 := 0\n revert(_11, _11)\n }\n mstore(add(value, _1), abi_decode_bytes_fromMemory(add(add(_6, offset_1), _1), dataEnd))\n let _12 := 96\n mstore(add(value, _10), mload(add(_6, _12)))\n mstore(add(value, _12), mload(add(_6, _7)))\n mstore(dst, value)\n dst := add(dst, _1)\n }\n value0 := dst_1\n }\n function abi_encode_tuple_t_stringliteral_d0a12d6767c9352a89748f00976b0ffc4b9ff4b643d9cc1082f2df3b625d402a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC075\")\n tail := add(headStart, 96)\n }\n function checked_add_t_uint8(x, y) -> sum\n {\n sum := add(and(x, 0xff), and(y, 0xff))\n if gt(sum, 0xff) { panic_error_0x11() }\n }\n function increment_t_uint8(value) -> ret\n {\n let value_1 := and(value, 0xff)\n if eq(value_1, 0xff) { panic_error_0x11() }\n ret := add(value_1, 1)\n }\n function 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_stringliteral_5cf5f7c75a2357c5697933702fe9f20c432f8f5205def7bf18572d390cea5cc1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC069\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_3c14ff4570332247d29826742fdf7f014a86ddbee2c49b0252a79ef49351f196__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC048\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_bytes32_t_bytes32_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr__to_t_bytes32_t_bytes32_t_uint256_t_array$_t_bytes32_$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), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 128)\n let pos := tail_1\n let length := mload(value3)\n mstore(tail_1, length)\n pos := add(headStart, 160)\n let srcPtr := add(value3, _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 tail := pos\n }\n function abi_decode_tuple_t_int256_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_stringliteral_41cc9877d5a72c2a0ef0c602e024ddc86a1f279ef7306bab75dd3c5447ffb6e0__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC049\")\n tail := add(headStart, 96)\n }\n function checked_mul_t_uint64(x, y) -> product\n {\n let _1 := sub(shl(64, 1), 1)\n let product_raw := mul(and(x, _1), and(y, _1))\n product := and(product_raw, _1)\n if iszero(eq(product, product_raw)) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_94643b69f05d64f660a022cd48046be494c1ed271b5d9ae602f6fdadc77976be__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC067\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_bytes_memory_ptr_t_bool__to_t_bytes_memory_ptr_t_bool__fromStack_library_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 64)\n tail := abi_encode_string(value0, add(headStart, 64))\n mstore(add(headStart, 32), iszero(iszero(value1)))\n }\n function abi_encode_tuple_packed_t_bytes_storage__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let ret := 0\n let slotValue := sload(value0)\n let length := extract_byte_array_length(slotValue)\n let _1 := 1\n switch and(slotValue, _1)\n case 0 {\n mstore(pos, and(slotValue, not(255)))\n ret := add(pos, mul(length, iszero(iszero(length))))\n }\n case 1 {\n mstore(0, value0)\n let _2 := 0x20\n let dataPos := keccak256(0, _2)\n let i := 0\n for { } lt(i, length) { i := add(i, _2) }\n {\n mstore(add(pos, i), sload(dataPos))\n dataPos := add(dataPos, _1)\n }\n ret := add(pos, length)\n }\n end := ret\n }\n function abi_encode_tuple_t_stringliteral_7cd3d68dd2419ceccbacf2f69bda9c4c2f3bdb0c0535db4bbef90be788c8f7de__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC068\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_3dcf1159943f9eee729b997e5df9acd0f1771321696b1fb47efa6e54bee2f352__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC050\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_5004352c178489e456f74ee0937a3403e68ee3fa72f6afa5bff20fe549075132__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC056\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_struct$_PegOutQuote_$10194_memory_ptr__to_t_struct$_PegOutQuote_$10194_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n abi_encode_address(mload(value0), add(headStart, 32))\n let memberValue0 := mload(add(value0, 32))\n abi_encode_address(memberValue0, add(headStart, 64))\n let memberValue0_1 := mload(add(value0, 64))\n let _1 := 0x0260\n mstore(add(headStart, 96), _1)\n let tail_1 := abi_encode_string(memberValue0_1, add(headStart, 640))\n let memberValue0_2 := mload(add(value0, 96))\n abi_encode_address(memberValue0_2, add(headStart, 128))\n let memberValue0_3 := mload(add(value0, 128))\n let _2 := not(31)\n mstore(add(headStart, 160), add(sub(tail_1, headStart), _2))\n let tail_2 := abi_encode_string(memberValue0_3, tail_1)\n mstore(add(headStart, 192), mload(add(value0, 160)))\n mstore(add(headStart, 224), mload(add(value0, 192)))\n let memberValue0_4 := mload(add(value0, 224))\n let _3 := 256\n abi_encode_int64(memberValue0_4, add(headStart, _3))\n let memberValue0_5 := mload(add(value0, _3))\n let _4 := 288\n mstore(add(headStart, _4), add(sub(tail_2, headStart), _2))\n let tail_3 := abi_encode_string(memberValue0_5, tail_2)\n let _5 := mload(add(value0, _4))\n let _6 := 320\n mstore(add(headStart, _6), _5)\n let memberValue0_6 := mload(add(value0, _6))\n let _7 := 352\n abi_encode_uint32(memberValue0_6, add(headStart, _7))\n let memberValue0_7 := mload(add(value0, _7))\n let _8 := 384\n abi_encode_uint32(memberValue0_7, add(headStart, _8))\n let memberValue0_8 := mload(add(value0, _8))\n let _9 := 416\n abi_encode_uint16(memberValue0_8, add(headStart, _9))\n let memberValue0_9 := mload(add(value0, _9))\n let _10 := 448\n abi_encode_uint16(memberValue0_9, add(headStart, _10))\n let memberValue0_10 := mload(add(value0, _10))\n let _11 := 480\n abi_encode_uint32(memberValue0_10, add(headStart, _11))\n let memberValue0_11 := mload(add(value0, _11))\n let _12 := 512\n abi_encode_uint32(memberValue0_11, add(headStart, _12))\n let memberValue0_12 := mload(add(value0, _12))\n let _13 := 544\n abi_encode_uint32(memberValue0_12, add(headStart, _13))\n let _14 := mload(add(value0, _13))\n let _15 := 576\n mstore(add(headStart, _15), _14)\n mstore(add(headStart, _1), mload(add(value0, _15)))\n tail := tail_3\n }\n function abi_encode_tuple_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"ReentrancyGuard: reentrant call\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ed7029e52dbf10ed9f0aafb2c33265c713a3f4dfd10cc113f22ba3c1270e1ddb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC051\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_a1a398356814e2eac3017ce127db7657cbb8e2f1d90a78bc426eaa92c56969eb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC052\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_923b965409721a83cf4ae76f34fa52de6eb09679d5b7141d2c0fc518a94192db__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC053\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_472231c5f3abacc190b5fd56153fbfc4b6c39c18040d443b29faee14791d54d9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC054\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1bdc71792e300c3b19739ad62e7651b4b49de502b7d1b6227970563bffaad71e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC055\")\n tail := add(headStart, 96)\n }\n function checked_add_t_uint64(x, y) -> sum\n {\n let _1 := sub(shl(64, 1), 1)\n sum := add(and(x, _1), and(y, _1))\n if gt(sum, _1) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_79d3c6c4bda42d819072ed97d83e6147bd9ad75bd5415529ecb6a41984271fb2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC071\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_struct$_PeginQuote_$10155_memory_ptr__to_t_struct$_PeginQuote_$10155_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_struct_PeginQuote(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_bytes_memory_ptr_t_uint256_t_bytes_memory_ptr_t_bytes32_t_bytes_memory_ptr_t_address_payable_t_bytes_memory_ptr_t_bool__to_t_bytes_memory_ptr_t_uint256_t_bytes_memory_ptr_t_bytes32_t_bytes_memory_ptr_t_address_payable_t_bytes_memory_ptr_t_bool__fromStack_reversed(headStart, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 256\n mstore(headStart, _1)\n let tail_1 := abi_encode_string(value0, add(headStart, _1))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), sub(tail_1, headStart))\n let tail_2 := abi_encode_string(value2, tail_1)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), sub(tail_2, headStart))\n let tail_3 := abi_encode_string(value4, tail_2)\n mstore(add(headStart, 160), and(value5, sub(shl(160, 1), 1)))\n mstore(add(headStart, 192), sub(tail_3, headStart))\n tail := abi_encode_string(value6, tail_3)\n mstore(add(headStart, 224), iszero(iszero(value7)))\n }\n function abi_encode_tuple_t_stringliteral_b13cbe420d932534b4c4c376e19a45f25e0ca05c6f1a458489ccb0574b26a6d9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Invalid block height\")\n tail := add(headStart, 96)\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_stringliteral_bac19bb4c4dce4ec87196bdccebfa1c4310f60332f1259cdc0bb93303ee1c2a0__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC058\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_e9fc4e098febe7043f1662405d88fa2495f2ac8d8f35918e247815b713cfd00a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC074\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_319f398ccb7cc8c2c2304e07f301f618437c863aa2ff561ced1eaa40fcd3df63__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC059\")\n tail := add(headStart, 96)\n }\n}", + "id": 30, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "481:34007:22:-:0;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "481:34007:22:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5249:6;;-1:-1:-1;;;;;5249:6:22;5227:10;:29;5219:48;;;;-1:-1:-1;;;5219:48:22;;216:2:30;5219:48:22;;;198:21:30;255:1;235:18;;;228:29;-1:-1:-1;;;273:18:30;;;266:36;319:18;;5219:48:22;;;;;;;;;481:34007;;;;;752:40;;;;;;;;;;;;791:1;752:40;;;;;520:4:30;508:17;;;490:36;;478:2;463:18;752:40:22;;;;;;;;798:46;;;;;;;;;;;;843:1;798:46;;5280:89;;;;;;;;;;-1:-1:-1;5352:10:22;;5280:89;;;683:25:30;;;671:2;656:18;5280:89:22;537:177:30;27901:161:22;;;;;;;;;;-1:-1:-1;27901:161:22;;;;;:::i;:::-;;:::i;4523:234::-;;;;;;;;;;-1:-1:-1;4523:234:22;;;;;:::i;:::-;4648:20;:44;;;;4702:22;:48;;-1:-1:-1;;;;;;4702:48:22;-1:-1:-1;;;;;4702:48:22;;;;;;;;;4523:234;15542:6502;;;;;;;;;;-1:-1:-1;15542:6502:22;;;;;:::i;:::-;;:::i;10761:292::-;;;;;;;;;;-1:-1:-1;10761:292:22;;;;;:::i;:::-;;:::i;5875:85::-;;;;;;;;;;-1:-1:-1;5949:4:22;;5875:85;;11665:556;;;;;;;;;;;;;:::i;7121:2171::-;;;;;;:::i;:::-;;:::i;1392:94::-;;;;;;;;;;;;-1:-1:-1;;1392:94:22;;;;;11377:1:30;11366:21;;;;11348:40;;11336:2;11321:18;1392:94:22;11206:188:30;10289:192:22;;;:::i;6480:145::-;;;;;;;;;;-1:-1:-1;6480:145:22;;;;;:::i;:::-;;:::i;:::-;;;11912:14:30;;11905:22;11887:41;;11875:2;11860:18;6480:145:22;11747:187:30;6819:193:22;;;;;;;;;;-1:-1:-1;6819:193:22;;;;;:::i;:::-;;:::i;6148:139::-;;;;;;;;;;-1:-1:-1;6148:139:22;;;;;:::i;:::-;6222:4;6245:25;;;:14;:25;;;;;:35;;;;;;6148:139;11127:532;;;;;;;;;;;;;:::i;4214:35::-;;;;;;;;;;;;;;;;9298:736;;;;;;;;;;-1:-1:-1;9298:736:22;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12295:205::-;;;;;;;;;;;;;:::i;4255:37::-;;;;;;;;;;-1:-1:-1;4255:37:22;;;;-1:-1:-1;;;;;4255:37:22;;;;;;;;;;:::i;2071:101:0:-;;;;;;;;;;;;;:::i;4989:187:22:-;;;;;;;;;;-1:-1:-1;4989:187:22;;;;;:::i;:::-;;:::i;26851:699::-;;;;;;;;;;-1:-1:-1;26851:699:22;;;;;:::i;:::-;;:::i;13434:1591::-;;;;;;:::i;:::-;;:::i;3933:22::-;;;;;;;;;;;;;;;;22050:1183;;;;;;:::i;:::-;;:::i;1066:79::-;;;;;;;;;;;;-1:-1:-1;;1066:79:22;;1441:85:0;;;;;;;;;;;;;:::i;23239:1084:22:-;;;;;;;;;;-1:-1:-1;23239:1084:22;;;;;:::i;:::-;;:::i;12698:109::-;;;;;;;;;;-1:-1:-1;12698:109:22;;;;;:::i;:::-;-1:-1:-1;;;;;12784:16:22;12758:7;12784:16;;;:10;:16;;;;;;;12698:109;698:48;;;;;;;;;;;;745:1;698:48;;587;;;;;;;;;;;;630:5;587:48;;;;;17820:6:30;17808:19;;;17790:38;;17778:2;17763:18;587:48:22;17646:188:30;10118:165:22;;;:::i;1600:42::-;;;;;;;;;;;;1641:1;1600:42;;1151:82;;;;;;;;;;;;-1:-1:-1;;1151:82:22;;983:77;;;;;;;;;;;;-1:-1:-1;;983:77:22;;1492:50;;;;;;;;;;;;-1:-1:-1;;1492:50:22;;27761:134;;;;;;;;;;-1:-1:-1;27761:134:22;;;;;:::i;:::-;;:::i;12813:121::-;;;;;;;;;;-1:-1:-1;12813:121:22;;;;;:::i;:::-;-1:-1:-1;;;;;12905:22:22;12879:7;12905:22;;;:16;:22;;;;;;;12813:121;5765:104;;;;;;;;;;-1:-1:-1;5843:19:22;;-1:-1:-1;;;5843:19:22;;;;5765:104;;1548:46;;;;;;;;;;;;1593:1;1548:46;;1239:71;;;;;;;;;;;;-1:-1:-1;;1239:71:22;;5668:91;;;;;;;;;;-1:-1:-1;5745:7:22;;;;5668:91;;1316:70;;;;;;;;;;;;-1:-1:-1;;1316:70:22;;10552:106;;;:::i;24329:2516::-;;;;;;;;;;-1:-1:-1;24329:2516:22;;;;;:::i;:::-;;:::i;641:50::-;;;;;;;;;;;;687:4;641:50;;918:59;;;;;;;;;;;;-1:-1:-1;;918:59:22;;3406:20;;;;;;;;;;-1:-1:-1;3406:20:22;;;;-1:-1:-1;;;;;3406:20:22;;;5480:92;;;;;;;;;;-1:-1:-1;5552:13:22;;5480:92;;851:61;;;;;;;;;;;;-1:-1:-1;;851:61:22;;5966:176;;;;;;;;;;-1:-1:-1;5966:176:22;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2321:198:0:-;;;;;;;;;;-1:-1:-1;2321:198:0;;;;;:::i;:::-;;:::i;13133:104:22:-;;;;;;;;;;-1:-1:-1;13133:104:22;;;;;:::i;:::-;-1:-1:-1;;;;;13216:14:22;13190:7;13216:14;;;:8;:14;;;;;;;13133:104;5578:84;;;;;;;;;;-1:-1:-1;5647:8:22;;5578:84;;5375:99;;;;;;;;;;-1:-1:-1;5460:6:22;;-1:-1:-1;;;;;5460:6:22;5375:99;;27901:161;27996:7;28022:33;28049:5;28022:26;:33::i;:::-;28015:40;27901:161;-1:-1:-1;;27901:161:22:o;15542:6502::-;15780:6;2505:21:2;:19;:21::i;:::-;15798:17:22::1;15818:27;15839:5;15818:20;:27::i;:::-;15971:26;::::0;;;:15:::1;:26;::::0;;;;;;;-1:-1:-1;791:1:22::1;15971:44;:26:::0;;::::1;:44;;15950:97;;;;-1:-1:-1::0;;;15950:97:22::1;;;;;;;:::i;:::-;16121:33;::::0;;::::1;::::0;16078:144;;-1:-1:-1;;;16078:144:22;;:18:::1;::::0;:25:::1;::::0;:144:::1;::::0;16121:33;16172:9;;16199;;16078:144:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16057:197;;;;-1:-1:-1::0;;;16057:197:22::1;;;;;;;:::i;:::-;16296:15;16272:41:::0;::::1;16264:60;;;::::0;-1:-1:-1;;;16264:60:22;;23740:2:30;16264:60:22::1;::::0;::::1;23722:21:30::0;23779:1;23759:18;;;23752:29;-1:-1:-1;;;23797:18:30;;;23790:36;23843:18;;16264:60:22::1;23538:329:30::0;16264:60:22::1;16335:35;16373:148;16401:5;16420:17;16451;16482:6;16502:9;16373:14;:148::i;:::-;16335:186:::0;-1:-1:-1;16553:85:22;;;16532:138:::1;;;::::0;-1:-1:-1;;;16532:138:22;;24074:2:30;16532:138:22::1;::::0;::::1;24056:21:30::0;24113:1;24093:18;;;24086:29;-1:-1:-1;;;24131:18:30;;;24124:36;24177:18;;16532:138:22::1;23872:329:30::0;16532:138:22::1;16701:96:::0;;;16680:149:::1;;;::::0;-1:-1:-1;;;16680:149:22;;24408:2:30;16680:149:22::1;::::0;::::1;24390:21:30::0;24447:1;24427:18;;;24420:29;-1:-1:-1;;;24465:18:30;;;24458:36;24511:18;;16680:149:22::1;24206:329:30::0;16680:149:22::1;16860:84:::0;;;16839:137:::1;;;::::0;-1:-1:-1;;;16839:137:22;;24742:2:30;16839:137:22::1;::::0;::::1;24724:21:30::0;24781:1;24761:18;;;24754:29;-1:-1:-1;;;24799:18:30;;;24792:36;24845:18;;16839:137:22::1;24540:329:30::0;16839:137:22::1;17007:104:::0;;;16986:157:::1;;;::::0;-1:-1:-1;;;16986:157:22;;25076:2:30;16986:157:22::1;::::0;::::1;25058:21:30::0;25115:1;25095:18;;;25088:29;-1:-1:-1;;;25133:18:30;;;25126:36;25179:18;;16986:157:22::1;24874:329:30::0;16986:157:22::1;17174:52:::0;;;17153:105:::1;;;::::0;-1:-1:-1;;;17153:105:22;;25410:2:30;17153:105:22::1;::::0;::::1;25392:21:30::0;25449:1;25429:18;;;25422:29;-1:-1:-1;;;25467:18:30;;;25460:36;25513:18;;17153:105:22::1;25208:329:30::0;17153:105:22::1;17320:1;17289:28;:32;:109;;;-1:-1:-1::0;;;17337:61:22;::::1;17289:109;:188;;;-1:-1:-1::0;;;17414:63:22;::::1;17289:188;17268:241;;;::::0;-1:-1:-1;;;17268:241:22;;25744:2:30;17268:241:22::1;::::0;::::1;25726:21:30::0;25783:1;25763:18;;;25756:29;-1:-1:-1;;;25801:18:30;;;25794:36;25847:18;;17268:241:22::1;25542:329:30::0;17268:241:22::1;17628:23;::::0;;;:12:::1;:23;::::0;;;;:33;17537:154:::1;::::0;17567:5;;17586:28;;17628:33:::1;;17675:6:::0;17537:16:::1;:154::i;:::-;17520:816;;;17763:16;::::0;::::1;::::0;17808:33:::1;::::0;;::::1;::::0;-1:-1:-1;;;;;17797:45:22::1;17716:23;17797:45:::0;;;:10:::1;:45;::::0;;;;;17716:23;;17742:114:::1;::::0;:3:::1;:114::i;:::-;17716:140;;17982:18;17933:10;:45;17944:5;:33;;;-1:-1:-1::0;;;;;17933:45:22::1;-1:-1:-1::0;;;;;17933:45:22::1;;;;;;;;;;;;;:67;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;18046:33:22::1;::::0;;::::1;::::0;18019:137;;-1:-1:-1;;;;;;;;;;;18019:137:22;::::1;::::0;18097:18;;18133:9;;18019:137:::1;:::i;:::-;;;;;;;;18254:7;::::0;18207:22:::1;::::0;18265:3:::1;::::0;18233:28:::1;::::0;18254:7:::1;;18233:18:::0;:28:::1;:::i;:::-;18232:36;;;;:::i;:::-;18207:61;;18282:43;18298:10;18310:14;18282:15;:43::i;:::-;17702:634;;17520:816;-1:-1:-1::0;;18363:61:22;::::1;::::0;:140:::1;;-1:-1:-1::0;;;18440:63:22;::::1;18363:140;18346:447;;;18563:26;::::0;;;:15:::1;:26;::::0;;;;;;;:49;;-1:-1:-1;;18563:49:22::1;843:1;18563:49;::::0;;18633:12:::1;:23:::0;;;;;;18626:30;;-1:-1:-1;;18626:30:22;;;18675:58;;27093:25:30;;;27134:18;;;27127:34;;;18675:58:22::1;::::0;27066:18:30;18675:58:22::1;;;;;;;18754:28:::0;-1:-1:-1;18747:35:22::1;::::0;-1:-1:-1;18747:35:22::1;18346:447;19049:52;::::0;-1:-1:-1;;;19049:52:22;;19009:28;;19049:8:::1;::::0;:26:::1;::::0;:52:::1;::::0;19076:5;;19009:28;;19049:52:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;;19152:1:22::1;19116:23:::0;;;:12:::1;:23;::::0;;;;:33;::::1;;:37:::0;;-1:-1:-1;19112:2711:22::1;;19169:17;19205:23:::0;;;:12:::1;:23;::::0;;;;:31;-1:-1:-1;;;19205:31:22;::::1;;;19201:315;;;19271:124;19296:17;19365:5;:12;;;19349:5;:13;;;19335:5;:11;;;:27;;;;:::i;:::-;:42;;;;:::i;:::-;19271:3;:124::i;:::-;19256:139;;19201:315;;;19449:52;19453:17;19488:5;:12;;;19472:5;:13;;;:28;;;;:::i;19449:52::-;19434:67;;19201:315;19529:64;19545:5;:33;;;19580:12;19529:15;:64::i;:::-;19608:20;19631:32;19651:12:::0;19631:17;:32:::1;:::i;:::-;19608:55;;19677:52;19695:5;:22;;;19719:9;19677:17;:52::i;:::-;19766:4;;19748:15;:22;19744:829;;;19890:22;::::0;::::1;::::0;:152:::1;::::0;19873:12:::1;::::0;-1:-1:-1;;;;;19890:27:22::1;::::0;687:4:::1;::::0;20001:15;;19873:12;19890:152;19873:12;19890:152;20001:15;19890:27;687:4;19890:152:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19872:170;;;-1:-1:-1::0;;;;;;;;;;;20093:5:22::1;:22;;;20137:15;20174:7;20203:9;20065:165;;;;;;;;;:::i;:::-;;;;;;;;20254:7;20249:310;;20403:137;20444:5;:33;;;20503:15;20403;:137::i;:::-;19772:801;19744:829;19155:1428;;19112:2711;;;20659:20;::::0;::::1;::::0;20623:17;;20659:51;::::1;;;;20699:5;:11;;;20683:12;:27;;20659:51;20655:656;;;20731:16;20752:5;:21;;;-1:-1:-1::0;;;;;20752:26:22::1;20809:5;:14;;;20752:149;;20856:5;:11;;;20890:5;:10;;;20752:149;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20730:171;;;20989:5;:21;;;-1:-1:-1::0;;;;;20924:269:22::1;20957:10;-1:-1:-1::0;;;;;20924:269:22::1;-1:-1:-1::0;;;;;;;;;;;21032:5:22::1;:14;;;21068:5;:11;;;21101:5;:10;;;21133:11;21166:9;20924:269;;;;;;;;;;:::i;:::-;;;;;;;;21216:11;21212:85;;;21267:11;::::0;::::1;::::0;21251:27:::1;::::0;;::::1;:::i;:::-;;;21212:85;20712:599;20655:656;21343:4;;21328:12;:19;21324:489;;;21464:22;::::0;::::1;::::0;:149:::1;::::0;21447:12:::1;::::0;-1:-1:-1;;;;;21464:27:22::1;::::0;687:4:::1;::::0;21575:12;;21447;21464:149;21447:12;21464:149;21575:12;21464:27;687:4;21464:149:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21446:167;;;-1:-1:-1::0;;;;;;;;;;;21664:5:22::1;:22;;;21708:12;21742:7;21771:9;21636:162;;;;;;;;;:::i;:::-;;;;;;;;21349:464;21324:489;20589:1234;19112:2711;21832:26;::::0;;;:15:::1;:26;::::0;;;;;;;:49;;-1:-1:-1;;21832:49:22::1;843:1;21832:49;::::0;;21898:12:::1;:23:::0;;;;;;21891:30;;-1:-1:-1;;21891:30:22;;;21936:56;;683:25:30;;;21832:26:22;;21936:56:::1;::::0;656:18:30;21936:56:22::1;;;;;;;-1:-1:-1::0;22009:28:22;-1:-1:-1;;2536:1:2::1;2547:20:::0;1787:1;3053:7;:22;2873:209;2547:20;15542:6502:22;;;;;;;:::o;10761:292::-;10831:10;10822:20;;;;:8;:20;;;;;;:30;-1:-1:-1;10822:30:22;10814:49;;;;-1:-1:-1;;;10814:49:22;;;;;;;:::i;:::-;10882:10;10873:20;;;;:8;:20;;;;;:30;;10897:6;;10873:20;:30;;10897:6;;10873:30;:::i;:::-;;;;-1:-1:-1;;10931:34:22;;10914:12;;10931:10;;10954:6;;10914:12;10931:34;10914:12;10931:34;10954:6;10931:10;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10913:52;;;10983:7;10975:26;;;;-1:-1:-1;;;10975:26:22;;;;;;;:::i;:::-;11016:30;11027:10;11039:6;11016:30;;;;;;;:::i;:::-;;;;;;;;10804:249;10761:292;:::o;11665:556::-;11748:10;11762:1;11728:31;;;:19;:31;;;;;;11720:54;;;;-1:-1:-1;;;11720:54:22;;;;;;;:::i;:::-;11867:19;;11840:10;11820:31;;;;:19;:31;;;;;;-1:-1:-1;;;11867:19:22;;;;;;11805:46;;:12;:46;:::i;:::-;:81;;11784:134;;;;-1:-1:-1;;;11784:134:22;;;;;;;:::i;:::-;11959:10;11928:11;11942:28;;;:16;:28;;;;;;;;;;11980:32;;;;12022:19;:31;;;;;;:35;;;12085:34;11942:28;;11959:10;11942:28;;11928:11;12085:34;11928:11;12085:34;11942:28;11959:10;12085:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12067:52;;;12137:7;12129:26;;;;-1:-1:-1;;;12129:26:22;;;;;;;:::i;:::-;12170:44;12195:10;12207:6;12170:44;;;;;;;:::i;7121:2171::-;7294:4;7318:9;7331:10;7318:23;7310:42;;;;-1:-1:-1;;;7310:42:22;;33497:2:30;7310:42:22;;;33479:21:30;33536:1;33516:18;;;33509:29;-1:-1:-1;;;33554:18:30;;;33547:36;33600:18;;7310:42:22;33295:329:30;7310:42:22;7462:1;7446:5;7440:19;:23;7432:42;;;;-1:-1:-1;;;7432:42:22;;33831:2:30;7432:42:22;;;33813:21:30;33870:1;33850:18;;;33843:29;-1:-1:-1;;;33888:18:30;;;33881:36;33934:18;;7432:42:22;33629:329:30;7432:42:22;7533:1;7511:11;7505:25;:29;7484:82;;;;-1:-1:-1;;;7484:82:22;;34165:2:30;7484:82:22;;;34147:21:30;34204:1;34184:18;;;34177:29;-1:-1:-1;;;34222:18:30;;;34215:36;34268:18;;7484:82:22;33963:329:30;7484:82:22;7728:25;;;;;;;:::i;:::-;;;;;;;;;;;;;7718:36;;;;;;7687:13;7670:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;7660:42;;;;;;:94;:205;;;;7838:26;;;;;;;:::i;:::-;;;;;;;;;;;;;7828:37;;;;;;7797:13;7780:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;7770:42;;;;;;:95;7660:205;:314;;;-1:-1:-1;7949:24:22;;-1:-1:-1;;;7949:24:22;;;35314:19:30;35349:11;;7949:24:22;;;;;;;;;;;;7939:35;;;;;;7908:13;7891:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;7881:42;;;;;;:93;7660:314;7639:367;;;;-1:-1:-1;;;7639:367:22;;35573:2:30;7639:367:22;;;35555:21:30;35612:1;35592:18;;;35585:29;-1:-1:-1;;;35630:18:30;;;35623:36;35676:18;;7639:367:22;35371:329:30;7639:367:22;8036:10;8025:22;;;;:10;:22;;;;;;:27;:64;;;;-1:-1:-1;8073:10:22;8056:28;;;;:16;:28;;;;;;:33;8025:64;8017:83;;;;-1:-1:-1;;;8017:83:22;;35907:2:30;8017:83:22;;;35889:21:30;35946:1;35926:18;;;35919:29;-1:-1:-1;;;35964:18:30;;;35957:36;36010:18;;8017:83:22;35705:329:30;8017:83:22;8151:10;8131:31;;;;:19;:31;;;;;;:36;8110:89;;;;-1:-1:-1;;;8110:89:22;;36241:2:30;8110:89:22;;;36223:21:30;36280:1;36260:18;;;36253:29;-1:-1:-1;;;36298:18:30;;;36291:36;36344:18;;8110:89:22;36039:329:30;8110:89:22;8270:25;;;;;;;:::i;:::-;;;;;;;;;;;;;8260:36;;;;;;8241:13;8224:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;8214:42;;;;;;:82;8210:700;;8333:13;;8320:9;:26;;8312:45;;;;-1:-1:-1;;;8312:45:22;;;;;;;:::i;:::-;8382:10;8371:22;;;;:10;:22;;;;;8396:9;8371:34;;8210:700;;;8482:26;;;;;;;:::i;:::-;;;;;;;;;;;;;8472:37;;;;;;8453:13;8436:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;8426:42;;;;;;:83;8422:488;;8546:13;;8533:9;:26;;8525:45;;;;-1:-1:-1;;;8525:45:22;;;;;;;:::i;:::-;8601:10;8584:28;;;;:16;:28;;;;;8615:9;8584:40;;8422:488;;;8676:13;;:17;;8692:1;8676:17;:::i;:::-;8663:9;:30;;8655:49;;;;-1:-1:-1;;;8655:49:22;;;;;;;:::i;:::-;8718:17;8738:13;8750:1;8738:9;:13;:::i;:::-;8718:33;-1:-1:-1;8790:13:22;8802:1;8790:9;:13;:::i;:::-;:18;:52;;8826:16;:12;8841:1;8826:16;:::i;:::-;8790:52;;;8811:12;8790:52;8776:10;8765:22;;;;:10;:22;;;;;;;;:77;;;;8856:16;:28;;;:43;8422:488;8920:10;:12;;;:10;:12;;;:::i;:::-;;;;-1:-1:-1;;8975:223:22;;;;;;;;9011:10;;8975:223;;;9045:10;8975:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8942:30:22;;;:18;:30;;;;;;;:256;;;;;;;;;;;-1:-1:-1;;;;;;8942:256:22;-1:-1:-1;;;;;8942:256:22;;;;;;;;;;;8975:223;;8942:30;:256;;;;;;;;:::i;:::-;-1:-1:-1;8942:256:22;;;;;;;;;;;;:::i;:::-;-1:-1:-1;8942:256:22;;;;;;;;;-1:-1:-1;;8942:256:22;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;9222:10:22;;9213:43;;;27093:25:30;;;9246:9:22;27149:2:30;27134:18;;27127:34;9234:10:22;;-1:-1:-1;9213:43:22;;27066:18:30;9213:43:22;;;;;;;-1:-1:-1;9274:10:22;;7121:2171;;;;;;;:::o;10289:192::-;4455:33;4477:10;4455:21;:33::i;:::-;4447:52;;;;-1:-1:-1;;;4447:52:22;;;;;;;:::i;:::-;10388:10:::1;10371:28;::::0;;;:16:::1;:28;::::0;;;;:41;;10403:9:::1;::::0;10371:28;:41:::1;::::0;10403:9;;10371:41:::1;:::i;:::-;::::0;;;-1:-1:-1;;10427:47:22::1;::::0;::::1;::::0;::::1;::::0;10452:10:::1;::::0;10464:9:::1;::::0;10427:47:::1;:::i;:::-;;;;;;;;10289:192::o:0;6480:145::-;6540:4;6563:18;6576:4;6563:12;:18::i;:::-;:55;;;;-1:-1:-1;6605:13:22;;-1:-1:-1;;;;;6585:16:22;;;;;;:10;:16;;;;;;:33;;6556:62;6480:145;-1:-1:-1;;6480:145:22:o;6819:193::-;6888:4;6923:27;6945:4;6923:21;:27::i;:::-;:82;;;;-1:-1:-1;6992:13:22;;-1:-1:-1;;;;;6966:22:22;;;;;;:16;:22;;;;;;:39;;6904:101;6819:193;-1:-1:-1;;6819:193:22:o;11127:532::-;11204:10;11218:1;11184:31;;;:19;:31;;;;;;11176:54;;;;-1:-1:-1;;;11176:54:22;;;;;;;:::i;:::-;11323:19;;11296:10;11276:31;;;;:19;:31;;;;;;-1:-1:-1;;;11323:19:22;;;;;;11261:46;;:12;:46;:::i;:::-;:81;;11240:134;;;;-1:-1:-1;;;11240:134:22;;;;;;;:::i;:::-;11409:10;11384:11;11398:22;;;:10;:22;;;;;;;;;;11430:26;;;;11466:19;:31;;;;;;:35;;;11529:34;11398:22;;11409:10;11398:22;;11384:11;11529:34;11384:11;11529:34;11398:22;11409:10;11529:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11511:52;;;11581:7;11573:26;;;;-1:-1:-1;;;11573:26:22;;;;;;;:::i;:::-;11614:38;11633:10;11645:6;11614:38;;;;;;;:::i;9298:736::-;9384:26;9422:44;9506:11;:18;-1:-1:-1;;;;;9469:65:22;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9469:65:22;;;;;;;;;;;;;;;;;9422:112;;9544:10;9574:6;9569:425;9590:11;:18;9586:1;:22;9569:425;;;9629:7;9639:11;9651:1;9639:14;;;;;;;;:::i;:::-;;;;;;;;;;;;9702:22;;;;:18;:22;;;;;;;:31;;;9639:14;;-1:-1:-1;9689:45:22;;-1:-1:-1;;;;;9702:31:22;9689:12;:45::i;:::-;:123;;;-1:-1:-1;9780:22:22;;;;:18;:22;;;;;:31;;;9758:54;;-1:-1:-1;;;;;9780:31:22;9758:21;:54::i;:::-;9688:174;;;;-1:-1:-1;9833:22:22;;;;:18;:22;;;;;:29;;;;;9688:174;9667:317;;;9922:22;;;;:18;:22;;;;;;;;;9895:49;;;;;;;;;;;;;;;-1:-1:-1;;;;;9895:49:22;;;;;;;;;;;;;;;9922:22;;9895:49;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9895:49:22;;;-1:-1:-1;;9895:49:22;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;9913:5;9895:24;;;;;;;;:::i;:::-;;;;;;:49;;;;9962:7;;;;;:::i;:::-;;;;9667:317;-1:-1:-1;9610:3:22;;;;:::i;:::-;;;;9569:425;;;-1:-1:-1;10010:17:22;;9298:736;-1:-1:-1;;;9298:736:22:o;12295:205::-;4343:24;4356:10;4343:12;:24::i;:::-;4335:43;;;;-1:-1:-1;;;4335:43:22;;;;;;;:::i;:::-;12375:10:::1;12355:31;::::0;;;:19:::1;:31;::::0;;;;;:36;12347:55:::1;;;::::0;-1:-1:-1;;;12347:55:22;;40474:2:30;12347:55:22::1;::::0;::::1;40456:21:30::0;40513:1;40493:18;;;40486:29;-1:-1:-1;;;40531:18:30;;;40524:36;40577:18;;12347:55:22::1;40272:329:30::0;12347:55:22::1;12432:10;12412:31;::::0;;;:19:::1;:31;::::0;;;;;;12446:12:::1;12412:46:::0;;12473:20;::::1;::::0;::::1;::::0;::::1;:::i;2071:101:0:-:0;1334:13;:11;:13::i;:::-;2135:30:::1;2162:1;2135:18;:30::i;:::-;2071:101::o:0;4989:187:22:-;5099:11;4856:7;:5;:7::i;:::-;-1:-1:-1;;;;;4842:21:22;:10;-1:-1:-1;;;;;4842:21:22;;:91;;;-1:-1:-1;4893:31:22;;;;:18;:31;;;;;:40;;;-1:-1:-1;;;;;4893:40:22;4879:10;:54;4842:91;4821:144;;;;-1:-1:-1;;;4821:144:22;;40808:2:30;4821:144:22;;;40790:21:30;40847:1;40827:18;;;40820:29;-1:-1:-1;;;40865:18:30;;;40858:36;40911:18;;4821:144:22;40606:329:30;4821:144:22;-1:-1:-1;5122:31:22::1;::::0;;;:18:::1;:31;::::0;;;;;:38:::1;;:47:::0;;-1:-1:-1;;5122:47:22::1;::::0;::::1;;::::0;;;::::1;::::0;;4989:187::o;26851:699::-;26996:4;27012:23;27091:16;27101:5;27091:9;:16::i;:::-;27125:5;:22;;;27173:5;:16;;;27165:25;;27208:5;:33;;;27061:194;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;27038:227;;;;;;27012:253;;27275:32;27357:15;27407:6;;;;;;;;;-1:-1:-1;;;;;27407:6:22;-1:-1:-1;;;;;27407:34:22;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;27407:36:22;;;;;;;;;;;;:::i;:::-;27310:143;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;27310:143:22;;;;;;;;;;27535:7;;-1:-1:-1;;;27470:73:22;;27310:143;;-1:-1:-1;27470:8:22;;:27;;:73;;27498:14;;27310:143;;27535:7;;;;;27470:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;13434:1591::-;13557:4;4343:24;4356:10;4343:12;:24::i;:::-;4335:43;;;;-1:-1:-1;;;4335:43:22;;;;;;;:::i;:::-;2505:21:2::1;:19;:21::i;:::-;13608:5:22::2;:33;;;-1:-1:-1::0;;;;;13594:47:22::2;:10;-1:-1:-1::0;;;;;13594:47:22::2;;13573:100;;;::::0;-1:-1:-1;;;13573:100:22;;43675:2:30;13573:100:22::2;::::0;::::2;43657:21:30::0;43714:1;43694:18;;;43687:29;-1:-1:-1;;;43732:18:30;;;43725:36;43778:18;;13573:100:22::2;43473:329:30::0;13573:100:22::2;13775:11;::::0;::::2;::::0;13713:33:::2;::::0;;::::2;::::0;-1:-1:-1;;;;;13704:43:22::2;;::::0;;;:8:::2;:43;::::0;;;:55:::2;::::0;13750:9:::2;::::0;13704:55:::2;:::i;:::-;:82;;13683:135;;;;-1:-1:-1::0;;;13683:135:22::2;;;;;;;:::i;:::-;13829:17;13849:27;13870:5;13849:20;:27::i;:::-;745:1;13907:26:::0;;;:15:::2;:26;::::0;;;;;13829:47;;-1:-1:-1;13907:52:22::2;:26;:52:::0;13886:105:::2;;;::::0;-1:-1:-1;;;13886:105:22;;44009:2:30;13886:105:22::2;::::0;::::2;43991:21:30::0;44048:1;44028:18;;;44021:29;-1:-1:-1;;;44066:18:30;;;44059:36;44112:18;;13886:105:22::2;43807:329:30::0;13886:105:22::2;14002:61;14018:5;:33;;;14053:9;14002:15;:61::i;:::-;14209:14;::::0;::::2;::::0;:34:::2;::::0;630:5:::2;::::0;14209:34:::2;:::i;:::-;14196:47;;:9;:47;;14175:100;;;::::0;-1:-1:-1;;;14175:100:22;;44520:2:30;14175:100:22::2;::::0;::::2;44502:21:30::0;44559:1;44539:18;;;44532:29;-1:-1:-1;;;44577:18:30;;;44570:36;44623:18;;14175:100:22::2;44318:329:30::0;14175:100:22::2;14286:12;14303:5;:21;;;-1:-1:-1::0;;;;;14303:26:22::2;14352:5;:14;;;14303:125;;14391:5;:11;;;14417:5;:10;;;14303:125;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;14285:143:22;;-1:-1:-1;;14466:16:22::2;14447:15;:35;;14439:54;;;::::0;-1:-1:-1;;;14439:54:22;;44854:2:30;14439:54:22::2;::::0;::::2;44836:21:30::0;44893:1;44873:18;;;44866:29;-1:-1:-1;;;44911:18:30;;;44904:36;44957:18;;14439:54:22::2;44652:329:30::0;14439:54:22::2;14503:23;::::0;;;:12:::2;:23;::::0;;;;:59;;-1:-1:-1;;14503:59:22::2;14546:15;14503:59;;;::::0;;14573:153;::::2;;;14600:23;::::0;;;:12:::2;:23;::::0;;;;;;:38;;-1:-1:-1;;;;14600:38:22::2;-1:-1:-1::0;;;14600:38:22::2;::::0;;14668:33;::::2;::::0;14703:11:::2;::::0;::::2;::::0;14652:63:::2;::::0;14668:33;14652:15:::2;:63::i;:::-;14789:5;:21;;;-1:-1:-1::0;;;;;14740:201:22::2;14765:10;-1:-1:-1::0;;;;;14740:201:22::2;-1:-1:-1::0;;;;;;;;;;;14824:5:22::2;:14;;;14852:5;:11;;;14877:5;:10;;;14901:7;14922:9;14740:201;;;;;;;;;;:::i;:::-;;;;;;;;14951:26;::::0;;;:15:::2;:26;::::0;;;;;:43;;-1:-1:-1;;14951:43:22::2;791:1;14951:43;::::0;;15011:7;-1:-1:-1;2547:20:2::1;1787:1:::0;3053:7;:22;2873:209;2547:20:::1;13434:1591:22::0;;;:::o;22050:1183::-;22253:41;22275:5;:18;;;22253:21;:41::i;:::-;22245:60;;;;-1:-1:-1;;;22245:60:22;;45188:2:30;22245:60:22;;;45170:21:30;45227:1;45207:18;;;45200:29;-1:-1:-1;;;45245:18:30;;;45238:36;45291:18;;22245:60:22;44986:329:30;22245:60:22;22394:9;22378:5;:12;;;22353:5;:22;;;22337:5;:13;;;22323:5;:11;;;:27;;;;:::i;:::-;:52;;;;:::i;:::-;:67;;;;:::i;:::-;:80;;22315:99;;;;-1:-1:-1;;;22315:99:22;;45522:2:30;22315:99:22;;;45504:21:30;45561:1;45541:18;;;45534:29;-1:-1:-1;;;45579:18:30;;;45572:36;45625:18;;22315:99:22;45320:329:30;22315:99:22;22451:5;:22;;;22432:41;;:15;:41;;22424:60;;;;-1:-1:-1;;;22424:60:22;;45856:2:30;22424:60:22;;;45838:21:30;45895:1;45875:18;;;45868:29;-1:-1:-1;;;45913:18:30;;;45906:36;45959:18;;22424:60:22;45654:329:30;22424:60:22;22521:5;:16;;;22502:35;;:15;:35;;22494:54;;;;-1:-1:-1;;;22494:54:22;;46190:2:30;22494:54:22;;;46172:21:30;46229:1;46209:18;;;46202:29;-1:-1:-1;;;46247:18:30;;;46240:36;46293:18;;22494:54:22;45988:329:30;22494:54:22;22582:5;:17;;;22566:33;;:12;:33;;22558:52;;;;-1:-1:-1;;;22558:52:22;;46524:2:30;22558:52:22;;;46506:21:30;46563:1;46543:18;;;46536:29;-1:-1:-1;;;46581:18:30;;;46574:36;46627:18;;22558:52:22;46322:329:30;22558:52:22;22620:17;22640:22;22656:5;22640:15;:22::i;:::-;22719:18;;;;22693:67;;-1:-1:-1;;;22693:67:22;;22620:42;;-1:-1:-1;22693:18:22;;:25;;:67;;22620:42;;22750:9;;22693:67;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22672:120;;;;-1:-1:-1;;;22672:120:22;;;;;;;:::i;:::-;22803:44;22850:33;;;:22;:33;;;;;;;;22902:14;:25;;;;;;:35;;;;;:44;22894:63;;;;-1:-1:-1;;;22894:63:22;;;;;;;:::i;:::-;22975:26;;-1:-1:-1;;;;;22975:26:22;:40;22967:59;;;;-1:-1:-1;;;22967:59:22;;;;;;;:::i;:::-;23036:33;;;;:22;:33;;;;;;;;;:41;;;;-1:-1:-1;;;;;;23036:41:22;;;-1:-1:-1;;;;;23036:41:22;;;;;;;;;;-1:-1:-1;23036:41:22;;;;;;;;;;;;;;;;;;;:33;:41;;;;;;;;:::i;:::-;-1:-1:-1;23036:41:22;;;;;;;;;-1:-1:-1;;;;;;23036:41:22;-1:-1:-1;;;;;23036:41:22;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;23036:41:22;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;23036:41:22;-1:-1:-1;;;;;23036:41:22;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;23036:41:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;23036:41:22;;;;;;;-1:-1:-1;;;23036:41:22;;;;;;;;;;;-1:-1:-1;;;;23036:41:22;-1:-1:-1;;;23036:41:22;;;;;-1:-1:-1;;;;23036:41:22;;-1:-1:-1;;;23036:41:22;;;;;;;;;-1:-1:-1;;;;;;;;23036:41:22;-1:-1:-1;;;23036:41:22;;;;;;;-1:-1:-1;;;;23036:41:22;;-1:-1:-1;;;23036:41:22;;;;;;;;-1:-1:-1;;;;23036:41:22;-1:-1:-1;;;23036:41:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;23087:25:22;;;:14;:25;;;;;;;;;23132:15;23087:60;;;;23162:64;;23199:9;27093:25:30;;27134:18;;;27127:34;23187:10:22;;23087:25;;23162:64;;27066:18:30;23162:64:22;;;;;;;22235:998;;22050:1183;;:::o;1441:85:0:-;1513:6;;-1:-1:-1;;;;;1513:6:0;;1441:85::o;23239:1084:22:-;2505:21:2;:19;:21::i;:::-;23330:34:22::1;23367:33:::0;;;:22:::1;:33;::::0;;;;23419:16;;-1:-1:-1;;;;;23419:16:22::1;23411:49;;;;-1:-1:-1::0;;;23411:49:22::1;;;;;;;:::i;:::-;23509:16;::::0;::::1;::::0;-1:-1:-1;;;23509:16:22;::::1;;;23491:15;:34;:82:::0;::::1;;;-1:-1:-1::0;23556:17:22::1;::::0;::::1;::::0;-1:-1:-1;;;23556:17:22;::::1;;;23541:12;:32;23491:82;23470:135;;;::::0;-1:-1:-1;;;23470:135:22;;48881:2:30;23470:135:22::1;::::0;::::1;48863:21:30::0;48920:1;48900:18;;;48893:29;-1:-1:-1;;;48938:18:30;;;48931:36;48984:18;;23470:135:22::1;48679:329:30::0;23470:135:22::1;23616:20;23694:5;:12;;;23669:5;:22;;;23653:5;:13;;;23639:5;:11;;;:27;;;;:::i;:::-;:52;;;;:::i;:::-;:67;;;;:::i;:::-;23744:22;::::0;::::1;::::0;23796:16:::1;::::0;::::1;::::0;23744:22;23831:18;::::1;::::0;-1:-1:-1;;;;;23831:18:22;;::::1;23716:25;23814:36:::0;;;:16:::1;:36;::::0;;;;;23616:90;;-1:-1:-1;23744:22:22;::::1;::::0;23792:59:::1;::::0;23796:16;23792:3:::1;:59::i;:::-;23878:18;::::0;::::1;::::0;-1:-1:-1;;;;;23878:18:22::1;23861:36;::::0;;;:16:::1;:36;::::0;;;;:47;;23777:74;;-1:-1:-1;23777:74:22;;23861:36;;;:47:::1;::::0;23777:74;;23861:47:::1;:::i;:::-;::::0;;;-1:-1:-1;;23934:18:22::1;::::0;::::1;::::0;23924:49:::1;::::0;-1:-1:-1;;;;;;;;;;;23924:49:22;::::1;::::0;-1:-1:-1;;;;;23934:18:22;;::::1;::::0;23954:7;;23963:9;;23924:49:::1;:::i;:::-;;;;;;;;24072:22;::::0;::::1;::::0;23988:116:::1;::::0;;49187:25:30;;;-1:-1:-1;;;;;24072:22:22;;::::1;49243:2:30::0;49228:18;;49221:60;24020:9:22;;23988:116:::1;::::0;49160:18:30;23988:116:22::1;;;;;;;24122:33;::::0;;;:22:::1;:33;::::0;;;;24115:40;;-1:-1:-1;;;;;;24115:40:22;;::::1;::::0;;;;::::1;::::0;;;;::::1;::::0;;24122:33;24115:40:::1;;::::0;::::1;24122:33:::0;24115:40:::1;:::i;:::-;;::::0;::::1;::::0;;-1:-1:-1;;;;;;24115:40:22::1;::::0;;::::1;;::::0;::::1;;;:::i;:::-;;;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;24115:40:22::1;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;24115:40:22::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;24115:40:22;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;24165:25;;;:14:::1;:25;::::0;;;;;-1:-1:-1;24165:35:22;;::::1;:42:::0;;-1:-1:-1;;24165:42:22::1;::::0;;::::1;::::0;;24233:50;-1:-1:-1;;;;;24233:22:22;::::1;::::0;24263:15;;24115:40;24233:50;24115:40;24233:50;24263:15;24233:22;:50:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24218:65;;;24301:4;24293:23;;;::::0;-1:-1:-1;;;24293:23:22;;49494:2:30;24293:23:22::1;::::0;::::1;49476:21:30::0;49533:1;49513:18;;;49506:29;-1:-1:-1;;;49551:18:30;;;49544:36;49597:18;;24293:23:22::1;49292:329:30::0;24293:23:22::1;23320:1003;;;;;2547:20:2::0;1787:1;3053:7;:22;2873:209;2547:20;23239:1084:22;:::o;10118:165::-;4343:24;4356:10;4343:12;:24::i;:::-;4335:43;;;;-1:-1:-1;;;4335:43:22;;;;;;;:::i;:::-;10196:10:::1;10185:22;::::0;;;:10:::1;:22;::::0;;;;:35;;10211:9:::1;::::0;10185:22;:35:::1;::::0;10211:9;;10185:35:::1;:::i;:::-;::::0;;;-1:-1:-1;;10235:41:22::1;::::0;::::1;::::0;::::1;::::0;10254:10:::1;::::0;10266:9:::1;::::0;10235:41:::1;:::i;27761:134::-:0;27835:7;27861:27;27882:5;27861:20;:27::i;10552:106::-;4343:24;4356:10;4343:12;:24::i;:::-;4335:43;;;;-1:-1:-1;;;4335:43:22;;;;;;;:::i;:::-;10613:38:::1;10629:10;10641:9;10613:15;:38::i;24329:2516::-:0;2505:21:2;:19;:21::i;:::-;4455:33:22::1;4477:10;4455:21;:33::i;:::-;4447:52;;;;-1:-1:-1::0;;;4447:52:22::1;;;;;;;:::i;:::-;24592:25:::2;::::0;;;:14:::2;:25;::::0;;;;:35:::2;;::::0;::::2;;:44;24584:63;;;;-1:-1:-1::0;;;24584:63:22::2;;;;;;;:::i;:::-;24657:34;24694:33:::0;;;:22:::2;:33;::::0;;;;24745:16;;-1:-1:-1;;;;;24745:16:22::2;24737:49;;;;-1:-1:-1::0;;;24737:49:22::2;;;;;;;:::i;:::-;24836:26;::::0;-1:-1:-1;;;24836:26:22;;24796:37:::2;::::0;24836:8:::2;::::0;:19:::2;::::0;:26:::2;::::0;24856:5;;24836:26:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;::::0;;::::2;-1:-1:-1::0;;24836:26:22::2;::::0;::::2;;::::0;::::2;::::0;;;::::2;::::0;::::2;:::i;:::-;24796:66;;24872:26;24901:8;:28;24930:7;1641:1;24930:26;;;;;;;;:::i;:::-;;;;;;;:35;;;24901:65;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;::::0;;::::2;-1:-1:-1::0;;24901:65:22::2;::::0;::::2;;::::0;::::2;::::0;;;::::2;::::0;::::2;:::i;:::-;24872:94;;24984:13;:20;25008:2;24984:26;:54;;;;;25014:13;25028:1;25014:16;;;;;;;;:::i;:::-;;::::0;;;;-1:-1:-1;;;;;;25014:16:22;-1:-1:-1;;;25014:24:22::2;24984:54;24976:73;;;::::0;-1:-1:-1;;;24976:73:22;;52071:2:30;24976:73:22::2;::::0;::::2;52053:21:30::0;52110:1;52090:18;;;52083:29;-1:-1:-1;;;52128:18:30;;;52121:36;52174:18;;24976:73:22::2;51869:329:30::0;24976:73:22::2;25127:7;25122:118;25168:1;25145:13;:20;:24;;;;:::i;:::-;25141:1;:28;;;25122:118;;;25209:13:::0;25223:5:::2;:1:::0;25227::::2;25223:5;:::i;:::-;25209:20;;;;;;;;;;:::i;:::-;;;;;;;;;25190:13;25204:1;25190:16;;;;;;;;;;:::i;:::-;;;;:39;-1:-1:-1::0;;;;;25190:39:22::2;;;;;;;;-1:-1:-1::0;25171:3:22;::::2;::::0;::::2;:::i;:::-;;;;25122:118;;;;25249:19;25282:13;25271:36;;;;;;;;;;;;:::i;:::-;25249:58;;25338:11;25325:9;:24;25317:43;;;::::0;-1:-1:-1;;;25317:43:22;;52927:2:30;25317:43:22::2;::::0;::::2;52909:21:30::0;52966:1;52946:18;;;52939:29;-1:-1:-1;;;52984:18:30;;;52977:36;53030:18;;25317:43:22::2;52725:329:30::0;25317:43:22::2;25392:18;::::0;::::2;::::0;-1:-1:-1;;;;;25392:18:22::2;25378:10;:32;25370:51;;;::::0;-1:-1:-1;;;25370:51:22;;53261:2:30;25370:51:22::2;::::0;::::2;53243:21:30::0;53300:1;53280:18;;;53273:29;-1:-1:-1;;;53318:18:30;;;53311:36;53364:18;;25370:51:22::2;53059:329:30::0;25370:51:22::2;25669:27;::::0;::::2;::::0;25452:6:::2;::::0;25507:25:::2;::::0;-1:-1:-1;;;25507:25:22;;-1:-1:-1;;;25669:27:22;;::::2;;;::::0;-1:-1:-1;;;;;25452:6:22;;::::2;::::0;:37:::2;::::0;25507:8:::2;::::0;:18:::2;::::0;:25:::2;::::0;25526:5;;25507:25:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25550:18;25586:17;25621:18;25452:201;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:246;;25431:299;;;::::0;-1:-1:-1;;;25431:299:22;;54636:2:30;25431:299:22::2;::::0;::::2;54618:21:30::0;54675:1;54655:18;;;54648:29;-1:-1:-1;;;54693:18:30;;;54686:36;54739:18;;25431:299:22::2;54434:329:30::0;25431:299:22::2;25763:7;1593:1;25763:30;;;;;;;;:::i;:::-;;;;;;;:36;;;25803:6;25763:47;;;;:::i;:::-;-1:-1:-1::0;;;;;25748:62:22::2;:5;:11;;;:62;;25740:81;;;::::0;-1:-1:-1;;;25740:81:22;;55232:2:30;25740:81:22::2;::::0;::::2;55214:21:30::0;55271:1;55251:18;;;55244:29;-1:-1:-1;;;55289:18:30;;;55282:36;55335:18;;25740:81:22::2;55030:329:30::0;25740:81:22::2;25849:29;25881:8;:29;25911:7;1593:1;25911:30;;;;;;;;:::i;:::-;;::::0;;::::2;::::0;;;;;;;:39:::2;::::0;25952:7:::2;::::0;25881:79:::2;::::0;-1:-1:-1;;;;;;25881:79:22::2;::::0;;;;;;::::2;::::0;25911:39;25952:7:::2;;::::0;25881:79:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;::::0;;::::2;-1:-1:-1::0;;25881:79:22::2;::::0;::::2;;::::0;::::2;::::0;;;::::2;::::0;::::2;:::i;:::-;25849:111;;26024:16;26014:27;;;;;;25988:5;:21;;25978:32;;;;;;:::i;:::-;;;;;;;;:63;25970:82;;;::::0;-1:-1:-1;;;25970:82:22;;56723:2:30;25970:82:22::2;::::0;::::2;56705:21:30::0;56762:1;56742:18;;;56735:29;-1:-1:-1;;;56780:18:30;;;56773:36;56826:18;;25970:82:22::2;56521:329:30::0;25970:82:22::2;26080:108;::::0;;::::2;::::0;::::2;::::0;;;;-1:-1:-1;;;;;26080:108:22;;::::2;::::0;;;;::::2;::::0;::::2;;::::0;::::2;::::0;::::2;::::0;::::2;::::0;;::::2;::::0;26116:5;;26080:108;;;;::::2;::::0;::::2;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;26080:108:22;;;-1:-1:-1;;26080:108:22::2;::::0;::::2;::::0;-1:-1:-1;;;;;26080:108:22::2;;::::0;::::2;::::0;::::2;::::0;::::2;::::0;;;;;;;::::2;::::0;::::2;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;26080:108:22;;;-1:-1:-1;;26080:108:22::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;;;;;::::2;::::0;;::::2;::::0;;::::2;::::0;;;;::::2;::::0;::::2;::::0;;;;;;;::::2;::::0;::::2;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;26080:108:22;;;-1:-1:-1;;26080:108:22::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;;::::2;::::0;;;;-1:-1:-1;;;26080:108:22;::::2;::::0;::::2;::::0;;;;::::2;-1:-1:-1::0;;;26080:108:22;::::2;::::0;::::2;::::0;;;;-1:-1:-1;;;26080:108:22;::::2;;::::0;;;;-1:-1:-1;;;26080:108:22;::::2;::::0;::::2;::::0;;;;-1:-1:-1;;;26080:108:22;::::2;::::0;::::2;::::0;;;;-1:-1:-1;;;26080:108:22;;::::2;;;::::0;;;::::2;::::0;::::2;::::0;;;;;::::2;::::0;;::::2;::::0;;;;;;26135:11;26160:18;26080:22:::2;:108::i;:::-;26063:412;;;26249:16;::::0;::::2;::::0;26300:18:::2;::::0;::::2;::::0;-1:-1:-1;;;;;26300:18:22::2;26213:12;26283:36:::0;;;:16:::2;:36;::::0;;;;;26213:12;;26228:105:::2;::::0;:3:::2;:105::i;:::-;26364:18;::::0;::::2;::::0;-1:-1:-1;;;;;26364:18:22::2;26347:36;::::0;;;:16:::2;:36;::::0;;;;:47;;26213:120;;-1:-1:-1;26213:120:22;;26347:36;;;:47:::2;::::0;26213:120;;26347:47:::2;:::i;:::-;::::0;;;-1:-1:-1;;26423:18:22::2;::::0;::::2;::::0;26413:51:::2;::::0;-1:-1:-1;;;;;;;;;;;26413:51:22;::::2;::::0;-1:-1:-1;;;;;26423:18:22;;::::2;::::0;26443:7;;26452:11;;26413:51:::2;:::i;:::-;;;;;;;;26199:276;26063:412;26500:18;::::0;::::2;::::0;26562:13:::2;::::0;::::2;::::0;26548:11:::2;::::0;::::2;::::0;26486:9:::2;::::0;-1:-1:-1;;;;;26500:18:22::2;::::0;26548:27:::2;::::0;::::2;:::i;:::-;26500:93;::::0;::::2;::::0;;;;;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26485:108;;;26611:4;26603:23;;;::::0;-1:-1:-1;;;26603:23:22;;57057:2:30;26603:23:22::2;::::0;::::2;57039:21:30::0;57096:1;57076:18;;;57069:29;-1:-1:-1;;;57114:18:30;;;57107:36;57160:18;;26603:23:22::2;56855:329:30::0;26603:23:22::2;26637:52;26655:5;:22;;;26679:9;26637:17;:52::i;:::-;26707:35;::::0;;;:22:::2;:35;::::0;;;;26700:42;;-1:-1:-1;;;;;;26700:42:22;;::::2;::::0;;;;::::2;::::0;;;;::::2;::::0;;26707:35;26700:42:::2;;::::0;::::2;26707:35:::0;26700:42:::2;:::i;:::-;;::::0;::::2;::::0;;-1:-1:-1;;;;;;26700:42:22::2;::::0;;::::2;;::::0;::::2;;;:::i;:::-;;;::::0;::::2;::::0;;;::::2;::::0;::::2;::::0;;;::::2;::::0;::::2;::::0;;-1:-1:-1;;;;;;26700:42:22::2;::::0;;::::2;::::0;::::2;::::0;::::2;::::0;::::2;:::i;:::-;-1:-1:-1::0;26700:42:22::2;;::::0;::::2;::::0;;;::::2;::::0;::::2;::::0;;-1:-1:-1;;;;;;26700:42:22;;;::::2;::::0;::::2;::::0;;;::::2;::::0;;::::2;::::0;;;26752:27;;;:14:::2;:27;::::0;;;;;26700:42;26752:37;;::::2;:44:::0;;-1:-1:-1;;26752:44:22::2;::::0;;::::2;::::0;;26811:27;26767:11;;26811:27:::2;::::0;::::2;24574:2271;;;;;;2547:20:2::0;1787:1;3053:7;:22;2873:209;2547:20;24329:2516:22;;;;;:::o;5966:176::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6102:33:22;;;:22;:33;;;;;;6095:40;;;;;;;;;-1:-1:-1;;;;;6095:40:22;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6095:40:22;;6102:33;;6095:40;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6095:40:22;;;-1:-1:-1;;6095:40:22;;;;-1:-1:-1;;;;;6095:40:22;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6095:40:22;;;-1:-1:-1;;6095:40:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6095:40:22;;;-1:-1:-1;;6095:40:22;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6095:40:22;;;;;;;;;-1:-1:-1;;;6095:40:22;;;;;;;;-1:-1:-1;;;6095:40:22;;;;;;;-1:-1:-1;;;6095:40:22;;;;;;;;-1:-1:-1;;;6095:40:22;;;;;;;;-1:-1:-1;;;6095:40:22;;;;;;;;;;;;;;;;;;;;;;;;;;;5966:176;-1:-1:-1;;5966:176:22:o;2321:198:0:-;1334:13;:11;:13::i;:::-;-1:-1:-1;;;;;2409:22:0;::::1;2401:73;;;::::0;-1:-1:-1;;;2401:73:0;;57391:2:30;2401:73:0::1;::::0;::::1;57373:21:30::0;57430:2;57410:18;;;57403:30;57469:34;57449:18;;;57442:62;-1:-1:-1;;;57520:18:30;;;57513:36;57566:19;;2401:73:0::1;57189:402:30::0;2401:73:0::1;2484:28;2503:8;2484:18;:28::i;28957:247:22:-:0;29108:16;;29064:7;;-1:-1:-1;;;;;29091:33:22;29099:4;29091:33;29083:52;;;;-1:-1:-1;;;29083:52:22;;57798:2:30;29083:52:22;;;57780:21:30;57837:1;57817:18;;;57810:29;-1:-1:-1;;;57855:18:30;;;57848:36;57901:18;;29083:52:22;57596:329:30;29083:52:22;29163:33;;-1:-1:-1;;;29163:33:22;;:8;;:26;;:33;;29190:5;;29163:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;29163:33:22;;;;;;;;;;;;:::i;:::-;29153:44;;;;;;29146:51;;28957:247;;;:::o;2580:287:2:-;1830:1;2712:7;;:19;2704:63;;;;-1:-1:-1;;;2704:63:2;;60775:2:30;2704:63:2;;;60757:21:30;60814:2;60794:18;;;60787:30;60853:33;60833:18;;;60826:61;60904:18;;2704:63:2;60573:355:30;2704:63:2;1830:1;2842:7;:18;2580:287::o;28068:883:22:-;28168:7;28212:5;:16;;;-1:-1:-1;;;;;28195:33:22;28203:4;-1:-1:-1;;;;;28195:33:22;;28187:52;;;;-1:-1:-1;;;28187:52:22;;61135:2:30;28187:52:22;;;61117:21:30;61174:1;61154:18;;;61147:29;-1:-1:-1;;;61192:18:30;;;61185:36;61238:18;;28187:52:22;60933:329:30;28187:52:22;28289:21;;;;28278:6;;-1:-1:-1;;;;;28270:40:22;;;28278:6;;28270:40;28249:93;;;;-1:-1:-1;;;28249:93:22;;61469:2:30;28249:93:22;;;61451:21:30;61508:1;61488:18;;;61481:29;-1:-1:-1;;;61526:18:30;;;61519:36;61572:18;;28249:93:22;61267:329:30;28249:93:22;28373:5;:22;;;:29;28406:2;28373:35;:86;;;;28424:5;:22;;;:29;28457:2;28424:35;28373:86;28352:139;;;;-1:-1:-1;;;28352:139:22;;61803:2:30;28352:139:22;;;61785:21:30;61842:1;61822:18;;;61815:29;-1:-1:-1;;;61860:18:30;;;61853:36;61906:18;;28352:139:22;61601:329:30;28352:139:22;28522:5;:33;;;:40;28566:2;28522:46;28501:99;;;;-1:-1:-1;;;28501:99:22;;62137:2:30;28501:99:22;;;62119:21:30;62176:1;62156:18;;;62149:29;-1:-1:-1;;;62194:18:30;;;62187:36;62240:18;;28501:99:22;61935:329:30;28501:99:22;28702:8;;28686:5;:12;;;28661:5;:22;;;28645:5;:13;;;28631:5;:11;;;:27;;;;:::i;:::-;:52;;;;:::i;:::-;:67;;;;:::i;:::-;:79;;28610:132;;;;-1:-1:-1;;;28610:132:22;;62471:2:30;28610:132:22;;;62453:21:30;62510:1;62490:18;;;62483:29;-1:-1:-1;;;62528:18:30;;;62521:36;62574:18;;28610:132:22;62269:329:30;28610:132:22;28835:5;:20;;;28828:28;;28800:5;:24;;;28793:32;;:63;;;;:::i;:::-;-1:-1:-1;;;;;28773:83:22;:16;:83;;28752:136;;;;-1:-1:-1;;;28752:136:22;;62990:2:30;28752:136:22;;;62972:21:30;63029:1;63009:18;;;63002:29;-1:-1:-1;;;63047:18:30;;;63040:36;63093:18;;28752:136:22;62788:329:30;28752:136:22;28916:27;;-1:-1:-1;;;28916:27:22;;:8;;:20;;:27;;28937:5;;28916:27;;;:::i;30623:634::-;30885:6;;31048:22;;;;31111:33;;;;30848:6;31158:28;;;:12;:28;;;;;:38;30848:6;;-1:-1:-1;;;;;30885:6:22;;:39;;30938:17;;30969:6;;30989:17;;31020:14;;31092:4;;31111:33;31158:38;;:42;;;;:82;;-1:-1:-1;31204:28:22;;;;:12;:28;;;;;:36;-1:-1:-1;;;31204:36:22;;;;31158:82;30885:365;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30866:384;30623:634;-1:-1:-1;;;;;;30623:634:22:o;31679:1644::-;31853:4;31943:1;31934:6;:10;:99;;;;;32021:5;:12;;;31996:5;:22;;;31980:5;:13;;;31966:5;:11;;;:27;;;;:::i;:::-;:52;;;;:::i;:::-;:67;;;;:::i;:::-;31956:6;31948:85;31934:99;31930:142;;;-1:-1:-1;32056:5:22;32049:12;;31930:142;32121:6;;:63;;-1:-1:-1;;;32121:63:22;;;;;683:25:30;;;32082:36:22;;-1:-1:-1;;;;;32121:6:22;;:55;;656:18:30;;32121:63:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;32121:63:22;;;;;;;;;;;;:::i;:::-;32082:102;;32235:1;32202:23;:30;:34;32194:67;;;;-1:-1:-1;;;32194:67:22;;64674:2:30;32194:67:22;;;64656:21:30;64713:2;64693:18;;;64686:30;-1:-1:-1;;;64732:18:30;;;64725:50;64792:18;;32194:67:22;64472:344:30;32194:67:22;32309:76;;-1:-1:-1;;;32309:76:22;;32272:34;;32309:8;;:29;;:76;;32352:23;;32309:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;32272:113;;32525:14;32569:5;:20;;;32542:5;:24;;;:47;;;;:::i;:::-;32525:64;;;;32632:9;32603:26;:38;32599:81;;;32664:5;32657:12;;;;;;;32599:81;32735:13;32752:1;32735:18;32731:60;;32776:4;32769:11;;;;;;;32731:60;32837:6;;32915:26;;;;32801:33;;-1:-1:-1;;;;;32837:6:22;;:55;;:6;;32906:35;;;;:6;:35;:::i;:::-;:39;;;;:::i;:::-;32837:118;;;;;;;;;;;;;683:25:30;;671:2;656:18;;537:177;32837:118:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;32837:118:22;;;;;;;;;;;;:::i;:::-;32801:154;;33003:1;32973:20;:27;:31;32965:50;;;;-1:-1:-1;;;32965:50:22;;65212:2:30;32965:50:22;;;65194:21:30;65251:1;65231:18;;;65224:29;-1:-1:-1;;;65269:18:30;;;65262:36;65315:18;;32965:50:22;65010:329:30;32965:50:22;33060:73;;-1:-1:-1;;;33060:73:22;;33026:31;;33060:8;;:29;;:73;;33103:20;;33060:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;33026:107;;33243:5;:14;;;33217:40;;:23;:40;;;;:::i;:::-;33201:13;:56;33197:98;;;33280:4;33273:11;;;;;;;;;33197:98;-1:-1:-1;33311:5:22;;31679:1644;-1:-1:-1;;;;;;;;;31679:1644:22:o;29210:94::-;29261:4;29288:1;29284;:5;:13;;29296:1;29284:13;;;29292:1;29284:13;29277:20;29210:94;-1:-1:-1;;;29210:94:22:o;29377:145::-;-1:-1:-1;;;;;29447:14:22;;;;;;:8;:14;;;;;:24;;29465:6;;29447:14;:24;;29465:6;;29447:24;:::i;:::-;;;;-1:-1:-1;;29486:29:22;;;;;;29502:4;;29508:6;;29486:29;:::i;34195:291::-;34276:10;;34272:208;;34331:22;;34323:55;;34303:15;;-1:-1:-1;;;;;34331:22:22;;34367:6;;34303:15;34323:55;34303:15;34323:55;34367:6;34331:22;34323:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34302:76;;;34400:10;34392:29;;;;-1:-1:-1;;;34392:29:22;;65546:2:30;34392:29:22;;;65528:21:30;65585:1;65565:18;;;65558:29;-1:-1:-1;;;65603:18:30;;;65596:36;65649:18;;34392:29:22;65344:329:30;34392:29:22;34451:9;34440:29;34462:6;34440:29;;;;683:25:30;;671:2;656:18;;537:177;34440:29:22;;;;;;;;34288:192;34272:208;34195:291;;:::o;30039:157::-;-1:-1:-1;;;;;30129:22:22;;30106:4;30129:22;;;:16;:22;;;;;;:26;;;;:60;;-1:-1:-1;;;;;;;30159:25:22;;;;;:19;:25;;;;;;:30;;30039:157::o;29891:142::-;-1:-1:-1;;;;;29972:16:22;;29949:4;29972:16;;;:10;:16;;;;;;:20;;;;:54;;-1:-1:-1;;;;;;;29996:25:22;;;;;:19;:25;;;;;;:30;;29891:142::o;1599:130:0:-;929:10:4;1662:7:0;:5;:7::i;:::-;-1:-1:-1;;;;;1662:23:0;;1654:68;;;;-1:-1:-1;;;1654:68:0;;65880:2:30;1654:68:0;;;65862:21:30;;;65899:18;;;65892:30;65958:34;65938:18;;;65931:62;66010:18;;1654:68:0;65678:356:30;2673:187:0;2765:6;;;-1:-1:-1;;;;;2781:17:0;;;-1:-1:-1;;;;;;2781:17:0;;;;;;;2813:40;;2765:6;;;2781:17;2765:6;;2813:40;;2746:16;;2813:40;2736:124;2673:187;:::o;29528:145:22:-;-1:-1:-1;;;;;29598:14:22;;;;;;:8;:14;;;;;:24;;29616:6;;29598:14;:24;;29616:6;;29598:24;:::i;:::-;;;;-1:-1:-1;;29637:29:22;;;;;;29653:4;;29659:6;;29637:29;:::i;33329:860::-;33541:6;;:51;;-1:-1:-1;;;33541:51:22;;;;;683:25:30;;;33486:4:22;;;;-1:-1:-1;;;;;33541:6:22;;;;:40;;656:18:30;;33541:51:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;33541:51:22;;;;;;;;;;;;:::i;:::-;33502:90;;33643:1;33610:23;:30;:34;33602:53;;;;-1:-1:-1;;;33602:53:22;;66241:2:30;33602:53:22;;;66223:21:30;66280:1;66260:18;;;66253:29;-1:-1:-1;;;66298:18:30;;;66291:36;66344:18;;33602:53:22;66039:329:30;33602:53:22;33703:54;;-1:-1:-1;;;33703:54:22;;33666:34;;33703:8;;:29;;:54;;33733:23;;33703:54;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;33932:12;;33911:18;;;;33858:25;;;;:14;:25;;;;;:42;33666:91;;-1:-1:-1;33932:12:22;;33858:71;;;;;;:::i;:::-;:86;;;;:::i;:::-;33829:26;:115;33825:157;;;33967:4;33960:11;;;;;;33825:157;34070:5;:16;;;34052:34;;:15;:34;:70;;;;34105:5;:17;;;34090:32;;:12;:32;34052:70;34048:112;;;34145:4;34138:11;;;;;;34048:112;-1:-1:-1;34177:5:22;;33329:860;-1:-1:-1;;;;;33329:860:22:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;719:127:30:-;780:10;775:3;771:20;768:1;761:31;811:4;808:1;801:15;835:4;832:1;825:15;851:255;923:2;917:9;965:6;953:19;;-1:-1:-1;;;;;987:34:30;;1023:22;;;984:62;981:88;;;1049:18;;:::i;:::-;1085:2;1078:22;851:255;:::o;1111:::-;1183:2;1177:9;1225:6;1213:19;;-1:-1:-1;;;;;1247:34:30;;1283:22;;;1244:62;1241:88;;;1309:18;;:::i;1371:253::-;1443:2;1437:9;1485:4;1473:17;;-1:-1:-1;;;;;1505:34:30;;1541:22;;;1502:62;1499:88;;;1567:18;;:::i;1629:275::-;1700:2;1694:9;1765:2;1746:13;;-1:-1:-1;;1742:27:30;1730:40;;-1:-1:-1;;;;;1785:34:30;;1821:22;;;1782:62;1779:88;;;1847:18;;:::i;:::-;1883:2;1876:22;1629:275;;-1:-1:-1;1629:275:30:o;1909:131::-;-1:-1:-1;;;;;1984:31:30;;1974:42;;1964:70;;2030:1;2027;2020:12;2045:134;2113:20;;2142:31;2113:20;2142:31;:::i;2184:186::-;2232:4;-1:-1:-1;;;;;2254:30:30;;2251:56;;;2287:18;;:::i;:::-;-1:-1:-1;2353:2:30;2332:15;-1:-1:-1;;2328:29:30;2359:4;2324:40;;2184:186::o;2375:462::-;2417:5;2470:3;2463:4;2455:6;2451:17;2447:27;2437:55;;2488:1;2485;2478:12;2437:55;2524:6;2511:20;2555:48;2571:31;2599:2;2571:31;:::i;:::-;2555:48;:::i;:::-;2628:2;2619:7;2612:19;2674:3;2667:4;2662:2;2654:6;2650:15;2646:26;2643:35;2640:55;;;2691:1;2688;2681:12;2640:55;2756:2;2749:4;2741:6;2737:17;2730:4;2721:7;2717:18;2704:55;2804:1;2779:16;;;2797:4;2775:27;2768:38;;;;2783:7;2375:462;-1:-1:-1;;;2375:462:30:o;2842:160::-;2908:20;;2968:1;2957:20;;;2947:31;;2937:59;;2992:1;2989;2982:12;3007:163;3074:20;;3134:10;3123:22;;3113:33;;3103:61;;3160:1;3157;3150:12;3175:159;3242:20;;3302:6;3291:18;;3281:29;;3271:57;;3324:1;3321;3314:12;3339:2091;3397:5;3445:6;3433:9;3428:3;3424:19;3420:32;3417:52;;;3465:1;3462;3455:12;3417:52;3487:22;;:::i;:::-;3478:31;;3532:29;3551:9;3532:29;:::i;:::-;3525:5;3518:44;3594:38;3628:2;3617:9;3613:18;3594:38;:::i;:::-;3589:2;3578:14;;3571:62;3684:2;3669:18;;3656:32;-1:-1:-1;;;;;3737:14:30;;;3734:34;;;3764:1;3761;3754:12;3734:34;3800:45;3841:3;3832:6;3821:9;3817:22;3800:45;:::i;:::-;3795:2;3788:5;3784:14;3777:69;3878:38;3912:2;3901:9;3897:18;3878:38;:::i;:::-;3873:2;3866:5;3862:14;3855:62;3970:3;3959:9;3955:19;3942:33;3926:49;;4000:2;3990:8;3987:16;3984:36;;;4016:1;4013;4006:12;3984:36;4053:47;4096:3;4085:8;4074:9;4070:24;4053:47;:::i;:::-;4047:3;4040:5;4036:15;4029:72;4162:3;4151:9;4147:19;4134:33;4128:3;4121:5;4117:15;4110:58;4229:3;4218:9;4214:19;4201:33;4195:3;4188:5;4184:15;4177:58;4268:37;4300:3;4289:9;4285:19;4268:37;:::i;:::-;4262:3;4255:5;4251:15;4244:62;4325:3;4315:13;;4381:2;4370:9;4366:18;4353:32;4410:2;4400:8;4397:16;4394:36;;;4426:1;4423;4416:12;4394:36;4462:47;4505:3;4494:8;4483:9;4479:24;4462:47;:::i;:::-;4457:2;4450:5;4446:14;4439:71;;;;4529:3;4592:2;4581:9;4577:18;4564:32;4559:2;4552:5;4548:14;4541:56;;4616:3;4651:37;4684:2;4673:9;4669:18;4651:37;:::i;:::-;4635:14;;;4628:61;4708:3;4743:37;4761:18;;;4743:37;:::i;:::-;4727:14;;;4720:61;4800:3;4835:37;4853:18;;;4835:37;:::i;:::-;4819:14;;;4812:61;4892:3;4927:37;4945:18;;;4927:37;:::i;:::-;4911:14;;;4904:61;4984:3;5019:37;5037:18;;;5019:37;:::i;:::-;5003:14;;;4996:61;5076:3;5111:37;5129:18;;;5111:37;:::i;:::-;5095:14;;;5088:61;5169:3;5205:38;5223:19;;;5205:38;:::i;:::-;5188:15;;;5181:63;5264:3;5313:19;;;5300:33;5283:15;;;5276:58;5354:3;5403:19;;;5390:33;5373:15;;;5366:58;;;;5192:5;3339:2091;-1:-1:-1;3339:2091:30:o;5435:354::-;5524:6;5577:2;5565:9;5556:7;5552:23;5548:32;5545:52;;;5593:1;5590;5583:12;5545:52;5620:23;;-1:-1:-1;;;;;5655:30:30;;5652:50;;;5698:1;5695;5688:12;5652:50;5721:62;5775:7;5766:6;5755:9;5751:22;5721:62;:::i;5976:315::-;6044:6;6052;6105:2;6093:9;6084:7;6080:23;6076:32;6073:52;;;6121:1;6118;6111:12;6073:52;6157:9;6144:23;6134:33;;6217:2;6206:9;6202:18;6189:32;6230:31;6255:5;6230:31;:::i;:::-;6280:5;6270:15;;;5976:315;;;;;:::o;6296:177::-;6364:20;;-1:-1:-1;;;;;;6413:35:30;;6403:46;;6393:74;;6463:1;6460;6453:12;6478:118;6564:5;6557:13;6550:21;6543:5;6540:32;6530:60;;6586:1;6583;6576:12;6601:128;6666:20;;6695:28;6666:20;6695:28;:::i;6734:2185::-;6791:5;6839:6;6827:9;6822:3;6818:19;6814:32;6811:52;;;6859:1;6856;6849:12;6811:52;6881:22;;:::i;:::-;6872:31;;6926:29;6945:9;6926:29;:::i;:::-;6919:5;6912:44;6988:38;7022:2;7011:9;7007:18;6988:38;:::i;:::-;6983:2;6976:5;6972:14;6965:62;7059:38;7093:2;7082:9;7078:18;7059:38;:::i;:::-;7054:2;7043:14;;7036:62;7149:2;7134:18;;7121:32;-1:-1:-1;;;;;7202:14:30;;;7199:34;;;7229:1;7226;7219:12;7199:34;7265:45;7306:3;7297:6;7286:9;7282:22;7265:45;:::i;:::-;7260:2;7253:5;7249:14;7242:69;7344:39;7378:3;7367:9;7363:19;7344:39;:::i;:::-;7338:3;7331:5;7327:15;7320:64;7437:3;7426:9;7422:19;7409:33;7393:49;;7467:2;7457:8;7454:16;7451:36;;;7483:1;7480;7473:12;7451:36;7520:47;7563:3;7552:8;7541:9;7537:24;7520:47;:::i;:::-;7514:3;7507:5;7503:15;7496:72;7629:3;7618:9;7614:19;7601:33;7595:3;7588:5;7584:15;7577:58;7696:3;7685:9;7681:19;7668:33;7662:3;7655:5;7651:15;7644:58;7721:3;7711:13;;7756:38;7790:2;7779:9;7775:18;7756:38;:::i;:::-;7751:2;7744:5;7740:14;7733:62;7814:3;7804:13;;7870:2;7859:9;7855:18;7842:32;7899:2;7889:8;7886:16;7883:36;;;7915:1;7912;7905:12;7883:36;7951:47;7994:3;7983:8;7972:9;7968:24;7951:47;:::i;:::-;7946:2;7939:5;7935:14;7928:71;;;;8018:3;8053:37;8086:2;8075:9;8071:18;8053:37;:::i;:::-;8037:14;;;8030:61;8110:3;8145:36;8162:18;;;8145:36;:::i;:::-;8129:14;;;8122:60;8201:3;8249:18;;;8236:32;8220:14;;;8213:56;8288:3;8323:37;8341:18;;;8323:37;:::i;:::-;8307:14;;;8300:61;8380:3;8415:37;8433:18;;;8415:37;:::i;:::-;8399:14;;;8392:61;8472:3;8507:37;8525:18;;;8507:37;:::i;:::-;8491:14;;;8484:61;8565:3;8601:38;8619:19;;;8601:38;:::i;:::-;8584:15;;;8577:63;8660:3;8696:36;8712:19;;;8696:36;:::i;:::-;8679:15;;;8672:61;8753:3;8802:19;;;8789:33;8772:15;;;8765:58;8843:3;8892:19;;;8879:33;8862:15;;;8855:58;;;;8683:5;6734:2185;-1:-1:-1;6734:2185:30:o;8924:1037::-;9075:6;9083;9091;9099;9107;9160:3;9148:9;9139:7;9135:23;9131:33;9128:53;;;9177:1;9174;9167:12;9128:53;9204:23;;-1:-1:-1;;;;;9276:14:30;;;9273:34;;;9303:1;9300;9293:12;9273:34;9326:61;9379:7;9370:6;9359:9;9355:22;9326:61;:::i;:::-;9316:71;;9440:2;9429:9;9425:18;9412:32;9396:48;;9469:2;9459:8;9456:16;9453:36;;;9485:1;9482;9475:12;9453:36;9508:51;9551:7;9540:8;9529:9;9525:24;9508:51;:::i;:::-;9498:61;;9612:2;9601:9;9597:18;9584:32;9568:48;;9641:2;9631:8;9628:16;9625:36;;;9657:1;9654;9647:12;9625:36;9680:51;9723:7;9712:8;9701:9;9697:24;9680:51;:::i;:::-;9670:61;;9784:2;9773:9;9769:18;9756:32;9740:48;;9813:2;9803:8;9800:16;9797:36;;;9829:1;9826;9819:12;9797:36;;9852:51;9895:7;9884:8;9873:9;9869:24;9852:51;:::i;:::-;8924:1037;;;;-1:-1:-1;8924:1037:30;;9950:3;9935:19;9922:33;;8924:1037;-1:-1:-1;;;8924:1037:30:o;10146:180::-;10205:6;10258:2;10246:9;10237:7;10233:23;10229:32;10226:52;;;10274:1;10271;10264:12;10226:52;-1:-1:-1;10297:23:30;;10146:180;-1:-1:-1;10146:180:30:o;10331:870::-;10444:6;10452;10460;10468;10521:3;10509:9;10500:7;10496:23;10492:33;10489:53;;;10538:1;10535;10528:12;10489:53;10565:23;;-1:-1:-1;;;;;10637:14:30;;;10634:34;;;10664:1;10661;10654:12;10634:34;10687:49;10728:7;10719:6;10708:9;10704:22;10687:49;:::i;:::-;10677:59;;10789:2;10778:9;10774:18;10761:32;10745:48;;10818:2;10808:8;10805:16;10802:36;;;10834:1;10831;10824:12;10802:36;10857:51;10900:7;10889:8;10878:9;10874:24;10857:51;:::i;:::-;10847:61;;10958:2;10947:9;10943:18;10930:32;10917:45;;10971:28;10993:5;10971:28;:::i;:::-;11018:5;;-1:-1:-1;11076:2:30;11061:18;;11048:32;;11092:16;;;11089:36;;;11121:1;11118;11111:12;11089:36;;11144:51;11187:7;11176:8;11165:9;11161:24;11144:51;:::i;:::-;11134:61;;;10331:870;;;;;;;:::o;11399:247::-;11458:6;11511:2;11499:9;11490:7;11486:23;11482:32;11479:52;;;11527:1;11524;11517:12;11479:52;11566:9;11553:23;11585:31;11610:5;11585:31;:::i;12124:183::-;12184:4;-1:-1:-1;;;;;12206:30:30;;12203:56;;;12239:18;;:::i;:::-;-1:-1:-1;12284:1:30;12280:14;12296:4;12276:25;;12124:183::o;12312:891::-;12396:6;12427:2;12470;12458:9;12449:7;12445:23;12441:32;12438:52;;;12486:1;12483;12476:12;12438:52;12513:23;;-1:-1:-1;;;;;12548:30:30;;12545:50;;;12591:1;12588;12581:12;12545:50;12614:22;;12667:4;12659:13;;12655:27;-1:-1:-1;12645:55:30;;12696:1;12693;12686:12;12645:55;12732:2;12719:16;12755:60;12771:43;12811:2;12771:43;:::i;12755:60::-;12849:15;;;12931:1;12927:10;;;;12919:19;;12915:28;;;12880:12;;;;12955:19;;;12952:39;;;12987:1;12984;12977:12;12952:39;13011:11;;;;13031:142;13047:6;13042:3;13039:15;13031:142;;;13113:17;;13101:30;;13064:12;;;;13151;;;;13031:142;;;13192:5;12312:891;-1:-1:-1;;;;;;;12312:891:30:o;13208:104::-;-1:-1:-1;;;;;13274:31:30;13262:44;;13208:104::o;13317:250::-;13402:1;13412:113;13426:6;13423:1;13420:13;13412:113;;;13502:11;;;13496:18;13483:11;;;13476:39;13448:2;13441:10;13412:113;;;-1:-1:-1;;13559:1:30;13541:16;;13534:27;13317:250::o;13572:271::-;13614:3;13652:5;13646:12;13679:6;13674:3;13667:19;13695:76;13764:6;13757:4;13752:3;13748:14;13741:4;13734:5;13730:16;13695:76;:::i;:::-;13825:2;13804:15;-1:-1:-1;;13800:29:30;13791:39;;;;13832:4;13787:50;;13572:271;-1:-1:-1;;13572:271:30:o;13848:1665::-;14060:4;14089:2;14129;14118:9;14114:18;14159:2;14148:9;14141:21;14182:6;14217;14211:13;14248:6;14240;14233:22;14274:2;14264:12;;14307:2;14296:9;14292:18;14285:25;;14369:2;14359:6;14356:1;14352:14;14341:9;14337:30;14333:39;14407:2;14399:6;14395:15;14428:1;14438:1046;14452:6;14449:1;14446:13;14438:1046;;;14517:22;;;-1:-1:-1;;14513:36:30;14501:49;;14573:13;;14641:9;;14626:25;;14698:11;;;14692:18;-1:-1:-1;;;;;14688:44:30;14671:15;;;14664:69;14772:11;;;14766:18;14609:4;14804:15;;;14797:27;;;14609:4;14851:48;14883:15;;;14766:18;14851:48;:::i;:::-;14837:62;;;14922:4;14975:2;14971;14967:11;14961:18;15028:6;15020;15016:19;15011:2;15003:6;14999:15;14992:44;15063:41;15097:6;15081:14;15063:41;:::i;:::-;15049:55;;;;15127:4;15196:2;15192;15188:11;15182:18;15175:26;15168:34;15163:2;15155:6;15151:15;15144:59;;15226:4;15279:2;15275;15271:11;15265:18;15243:40;;15332:6;15324;15320:19;15315:2;15307:6;15303:15;15296:44;;15363:41;15397:6;15381:14;15363:41;:::i;:::-;15462:12;;;;15353:51;-1:-1:-1;;;15427:15:30;;;;14474:1;14467:9;14438:1046;;;-1:-1:-1;15501:6:30;;13848:1665;-1:-1:-1;;;;;;;;13848:1665:30:o;15518:203::-;-1:-1:-1;;;;;15682:32:30;;;;15664:51;;15652:2;15637:18;;15518:203::o;15726:309::-;15791:6;15799;15852:2;15840:9;15831:7;15827:23;15823:32;15820:52;;;15868:1;15865;15858:12;15820:52;15904:9;15891:23;15881:33;;15964:2;15953:9;15949:18;15936:32;15977:28;15999:5;15977:28;:::i;16040:571::-;16146:6;16154;16207:2;16195:9;16186:7;16182:23;16178:32;16175:52;;;16223:1;16220;16213:12;16175:52;16250:23;;-1:-1:-1;;;;;16322:14:30;;;16319:34;;;16349:1;16346;16339:12;16319:34;16372:61;16425:7;16416:6;16405:9;16401:22;16372:61;:::i;:::-;16362:71;;16486:2;16475:9;16471:18;16458:32;16442:48;;16515:2;16505:8;16502:16;16499:36;;;16531:1;16528;16521:12;16499:36;;16554:51;16597:7;16586:8;16575:9;16571:24;16554:51;:::i;:::-;16544:61;;;16040:571;;;;;:::o;16616:352::-;16704:6;16757:2;16745:9;16736:7;16732:23;16728:32;16725:52;;;16773:1;16770;16763:12;16725:52;16800:23;;-1:-1:-1;;;;;16835:30:30;;16832:50;;;16878:1;16875;16868:12;16832:50;16901:61;16954:7;16945:6;16934:9;16930:22;16901:61;:::i;16973:573::-;17080:6;17088;17141:2;17129:9;17120:7;17116:23;17112:32;17109:52;;;17157:1;17154;17147:12;17109:52;17184:23;;-1:-1:-1;;;;;17256:14:30;;;17253:34;;;17283:1;17280;17273:12;17253:34;17306:62;17360:7;17351:6;17340:9;17336:22;17306:62;:::i;17839:1316::-;17968:6;17976;17984;17992;18000;18053:3;18041:9;18032:7;18028:23;18024:33;18021:53;;;18070:1;18067;18060:12;18021:53;18093:23;;;-1:-1:-1;18135:2:30;18173:18;;;18160:32;-1:-1:-1;;;;;18241:14:30;;;18238:34;;;18268:1;18265;18258:12;18238:34;18291:49;18332:7;18323:6;18312:9;18308:22;18291:49;:::i;:::-;18281:59;;18387:2;18376:9;18372:18;18359:32;18349:42;;18438:2;18427:9;18423:18;18410:32;18400:42;;18495:3;18484:9;18480:19;18467:33;18451:49;;18525:2;18515:8;18512:16;18509:36;;;18541:1;18538;18531:12;18509:36;-1:-1:-1;18564:24:30;;18619:4;18611:13;;18607:27;-1:-1:-1;18597:55:30;;18648:1;18645;18638:12;18597:55;18684:2;18671:16;18707:60;18723:43;18763:2;18723:43;:::i;18707:60::-;18801:15;;;18883:1;18879:10;;;;18871:19;;18867:28;;;18832:12;;;;18907:19;;;18904:39;;;18939:1;18936;18929:12;18904:39;18963:11;;;;18983:142;18999:6;18994:3;18991:15;18983:142;;;19065:17;;19053:30;;19016:12;;;;19103;;;;18983:142;;;19144:5;19134:15;;;;;;;17839:1316;;;;;;;;:::o;19586:2630::-;19775:2;19764:9;19757:21;19787:53;19836:2;19825:9;19821:18;19812:6;19806:13;19787:53;:::i;:::-;19738:4;19887:2;19879:6;19875:15;19869:22;19900:52;19948:2;19937:9;19933:18;19919:12;19900:52;:::i;:::-;;20001:2;19993:6;19989:15;19983:22;20024:6;20066:2;20061;20050:9;20046:18;20039:30;20092:54;20141:3;20130:9;20126:19;20110:14;20092:54;:::i;:::-;20078:68;;20195:2;20187:6;20183:15;20177:22;20208:55;20258:3;20247:9;20243:19;20227:14;20208:55;:::i;:::-;;20312:3;20304:6;20300:16;20294:23;20340:2;20336:7;20408:2;20396:9;20388:6;20384:22;20380:31;20374:3;20363:9;20359:19;20352:60;20435:41;20469:6;20453:14;20435:41;:::i;:::-;20421:55;;20531:3;20523:6;20519:16;20513:23;20507:3;20496:9;20492:19;20485:52;20592:3;20584:6;20580:16;20574:23;20568:3;20557:9;20553:19;20546:52;20647:3;20639:6;20635:16;20629:23;20607:45;;20671:3;20683:52;20731:2;20720:9;20716:18;20700:14;19466:1;19455:20;19443:33;;19391:91;20683:52;20784:2;20776:6;20772:15;20766:22;20744:44;;;20807:3;20874:2;20862:9;20854:6;20850:22;20846:31;20841:2;20830:9;20826:18;20819:59;20901:41;20935:6;20919:14;20901:41;:::i;:::-;20967:15;;;20961:22;21002:3;21021:18;;;21014:30;;;;21081:15;;21075:22;20887:55;;-1:-1:-1;21075:22:30;-1:-1:-1;21116:3:30;;-1:-1:-1;21128:53:30;21162:18;;;21075:22;19563:10;19552:22;19540:35;;19487:94;21128:53;21218:15;;21212:22;;-1:-1:-1;21253:3:30;21265:53;21299:18;;;21212:22;19563:10;19552:22;19540:35;;19487:94;21265:53;21355:15;;21349:22;;-1:-1:-1;21390:3:30;21402:53;21436:18;;;21349:22;17627:6;17616:18;17604:31;;17551:90;21402:53;21492:15;;21486:22;;-1:-1:-1;21528:3:30;21540:54;21574:19;;;21486:22;17627:6;17616:18;17604:31;;17551:90;21540:54;21632:16;;21626:23;;-1:-1:-1;21669:3:30;21681:55;21716:19;;;21626:23;19563:10;19552:22;19540:35;;19487:94;21681:55;21774:16;;21768:23;;-1:-1:-1;21811:3:30;21823:55;21858:19;;;21768:23;19563:10;19552:22;19540:35;;19487:94;21823:55;21916:16;;21910:23;;-1:-1:-1;21953:3:30;21965:55;22000:19;;;21910:23;19563:10;19552:22;19540:35;;19487:94;21965:55;22046:16;;22040:23;22083:3;22102:19;;;22095:32;;;;22169:16;;;22163:23;22143:18;;22136:51;;;;-1:-1:-1;22204:6:30;19586:2630;-1:-1:-1;19586:2630:30:o;22221:329::-;22423:2;22405:21;;;22462:1;22442:18;;;22435:29;-1:-1:-1;;;22495:2:30;22480:18;;22473:36;22541:2;22526:18;;22221:329::o;22555:394::-;22795:1;22791;22786:3;22782:11;22778:19;22770:6;22766:32;22755:9;22748:51;22835:6;22830:2;22819:9;22815:18;22808:34;22878:2;22873;22862:9;22858:18;22851:30;22729:4;22898:45;22939:2;22928:9;22924:18;22916:6;22898:45;:::i;22954:245::-;23021:6;23074:2;23062:9;23053:7;23049:23;23045:32;23042:52;;;23090:1;23087;23080:12;23042:52;23122:9;23116:16;23141:28;23163:5;23141:28;:::i;23204:329::-;23406:2;23388:21;;;23445:1;23425:18;;;23418:29;-1:-1:-1;;;23478:2:30;23463:18;;23456:36;23524:2;23509:18;;23204:329::o;25876:127::-;25937:10;25932:3;25928:20;25925:1;25918:31;25968:4;25965:1;25958:15;25992:4;25989:1;25982:15;26008:128;26075:9;;;26096:11;;;26093:37;;;26110:18;;:::i;26141:345::-;-1:-1:-1;;;;;26361:32:30;;;;26343:51;;26425:2;26410:18;;26403:34;;;;26468:2;26453:18;;26446:34;26331:2;26316:18;;26141:345::o;26491:168::-;26564:9;;;26595;;26612:15;;;26606:22;;26592:37;26582:71;;26633:18;;:::i;26664:127::-;26725:10;26720:3;26716:20;26713:1;26706:31;26756:4;26753:1;26746:15;26780:4;26777:1;26770:15;26796:120;26836:1;26862;26852:35;;26867:18;;:::i;:::-;-1:-1:-1;26901:9:30;;26796:120::o;27285:2429::-;27400:12;;-1:-1:-1;;;;;;27238:35:30;27226:48;;27338:3;27366:6;27464:4;27457:5;27453:16;27447:23;27479:48;27521:4;27516:3;27512:14;27498:12;27479:48;:::i;:::-;;27575:4;27568:5;27564:16;27558:23;27590:50;27634:4;27629:3;27625:14;27609;27590:50;:::i;:::-;;27688:4;27681:5;27677:16;27671:23;27726:2;27719:4;27714:3;27710:14;27703:26;27750:47;27793:2;27788:3;27784:12;27768:14;27750:47;:::i;:::-;27738:59;;;27845:4;27838:5;27834:16;27828:23;27860:50;27904:4;27899:3;27895:14;27879;27860:50;:::i;:::-;;27958:4;27951:5;27947:16;27941:23;28006:3;28000:4;27996:14;27989:4;27984:3;27980:14;27973:38;28034:39;28068:4;28052:14;28034:39;:::i;:::-;28020:53;;;28122:4;28115:5;28111:16;28105:23;28098:4;28093:3;28089:14;28082:47;28178:4;28171:5;28167:16;28161:23;28154:4;28149:3;28145:14;28138:47;28204:6;28258:2;28251:5;28247:14;28241:21;28271:48;28315:2;28310:3;28306:12;28290:14;28271:48;:::i;:::-;;;28338:6;28392:2;28385:5;28381:14;28375:21;28438:3;28430:6;28426:16;28421:2;28416:3;28412:12;28405:38;28466:41;28500:6;28484:14;28466:41;:::i;:::-;28452:55;;;;28526:6;28580:2;28573:5;28569:14;28563:21;28593:47;28636:2;28631:3;28627:12;28611:14;19563:10;19552:22;19540:35;;19487:94;28593:47;;;28659:6;28713:2;28706:5;28702:14;28696:21;28726:46;28768:2;28763:3;28759:12;28743:14;19466:1;19455:20;19443:33;;19391:91;28726:46;-1:-1:-1;;28791:6:30;28833:14;;;28827:21;28813:12;;;28806:43;28868:6;28911:14;;;28905:21;19563:10;19552:22;;;28969:12;;;19540:35;;;;29001:6;29045:14;;;29039:21;19552:22;;29104:12;;;19540:35;29136:6;29180:14;;;29174:21;19552:22;;;29239:12;;;19540:35;29272:6;29316:15;;;29310:22;17627:6;17616:18;29376:13;;;17604:31;29410:6;29454:15;;;29448:22;11721:13;11714:21;29512:13;;;11702:34;29546:6;29589:15;;;29583:22;29568:13;;;29561:45;29626:6;29669:15;;;29663:22;29648:13;;;;29641:45;;;;-1:-1:-1;29648:13:30;27285:2429::o;29719:348::-;29942:2;29931:9;29924:21;29905:4;29962:56;30014:2;30003:9;29999:18;29991:6;29962:56;:::i;:::-;29954:64;;30054:6;30049:2;30038:9;30034:18;30027:34;29719:348;;;;;:::o;30072:125::-;30137:9;;;30158:10;;;30155:36;;;30171:18;;:::i;30412:435::-;-1:-1:-1;;;;;30663:32:30;;;;30645:51;;30727:2;30712:18;;30705:34;;;;30782:14;30775:22;30770:2;30755:18;;30748:50;30829:2;30814:18;;30807:34;30632:3;30617:19;;30412:435::o;30852:287::-;30981:3;31019:6;31013:13;31035:66;31094:6;31089:3;31082:4;31074:6;31070:17;31035:66;:::i;:::-;31117:16;;;;;30852:287;-1:-1:-1;;30852:287:30:o;31144:531::-;31408:10;31400:6;31396:23;31385:9;31378:42;31456:6;31451:2;31440:9;31436:18;31429:34;31499:3;31494:2;31483:9;31479:18;31472:31;31359:4;31520:46;31561:3;31550:9;31546:19;31538:6;31520:46;:::i;:::-;31609:14;;31602:22;31597:2;31582:18;;31575:50;-1:-1:-1;31656:3:30;31641:19;31634:35;31512:54;31144:531;-1:-1:-1;;;31144:531:30:o;31680:329::-;31882:2;31864:21;;;31921:1;31901:18;;;31894:29;-1:-1:-1;;;31954:2:30;31939:18;;31932:36;32000:2;31985:18;;31680:329::o;32014:::-;32216:2;32198:21;;;32255:1;32235:18;;;32228:29;-1:-1:-1;;;32288:2:30;32273:18;;32266:36;32334:2;32319:18;;32014:329::o;32348:274::-;-1:-1:-1;;;;;32540:32:30;;;;32522:51;;32604:2;32589:18;;32582:34;32510:2;32495:18;;32348:274::o;32627:329::-;32829:2;32811:21;;;32868:1;32848:18;;;32841:29;-1:-1:-1;;;32901:2:30;32886:18;;32879:36;32947:2;32932:18;;32627:329::o;32961:::-;33163:2;33145:21;;;33202:1;33182:18;;;33175:29;-1:-1:-1;;;33235:2:30;33220:18;;33213:36;33281:2;33266:18;;32961:329::o;34297:255::-;-1:-1:-1;;;34499:20:30;;34544:1;34535:11;;34297:255::o;34851:256::-;-1:-1:-1;;;35053:21:30;;35099:1;35090:11;;34851:256::o;36373:329::-;36575:2;36557:21;;;36614:1;36594:18;;;36587:29;-1:-1:-1;;;36647:2:30;36632:18;;36625:36;36693:2;36678:18;;36373:329::o;36707:112::-;36739:1;36765;36755:35;;36770:18;;:::i;:::-;-1:-1:-1;36804:9:30;;36707:112::o;36824:135::-;36863:3;36884:17;;;36881:43;;36904:18;;:::i;:::-;-1:-1:-1;36951:1:30;36940:13;;36824:135::o;36964:380::-;37043:1;37039:12;;;;37086;;;37107:61;;37161:4;37153:6;37149:17;37139:27;;37107:61;37214:2;37206:6;37203:14;37183:18;37180:38;37177:161;;37260:10;37255:3;37251:20;37248:1;37241:31;37295:4;37292:1;37285:15;37323:4;37320:1;37313:15;37177:161;;36964:380;;;:::o;37475:545::-;37577:2;37572:3;37569:11;37566:448;;;37613:1;37638:5;37634:2;37627:17;37683:4;37679:2;37669:19;37753:2;37741:10;37737:19;37734:1;37730:27;37724:4;37720:38;37789:4;37777:10;37774:20;37771:47;;;-1:-1:-1;37812:4:30;37771:47;37867:2;37862:3;37858:12;37855:1;37851:20;37845:4;37841:31;37831:41;;37922:82;37940:2;37933:5;37930:13;37922:82;;;37985:17;;;37966:1;37955:13;37922:82;;;37926:3;;;37566:448;37475:545;;;:::o;38196:1352::-;38316:10;;-1:-1:-1;;;;;38338:30:30;;38335:56;;;38371:18;;:::i;:::-;38400:97;38490:6;38450:38;38482:4;38476:11;38450:38;:::i;:::-;38444:4;38400:97;:::i;:::-;38552:4;;38616:2;38605:14;;38633:1;38628:663;;;;39335:1;39352:6;39349:89;;;-1:-1:-1;39404:19:30;;;39398:26;39349:89;-1:-1:-1;;38153:1:30;38149:11;;;38145:24;38141:29;38131:40;38177:1;38173:11;;;38128:57;39451:81;;38598:944;;38628:663;37422:1;37415:14;;;37459:4;37446:18;;-1:-1:-1;;38664:20:30;;;38782:236;38796:7;38793:1;38790:14;38782:236;;;38885:19;;;38879:26;38864:42;;38977:27;;;;38945:1;38933:14;;;;38812:19;;38782:236;;;38786:3;39046:6;39037:7;39034:19;39031:201;;;39107:19;;;39101:26;-1:-1:-1;;39190:1:30;39186:14;;;39202:3;39182:24;39178:37;39174:42;39159:58;39144:74;;39031:201;-1:-1:-1;;;;;39278:1:30;39262:14;;;39258:22;39245:36;;-1:-1:-1;38196:1352:30:o;39806:329::-;40008:2;39990:21;;;40047:1;40027:18;;;40020:29;-1:-1:-1;;;40080:2:30;40065:18;;40058:36;40126:2;40111:18;;39806:329::o;40140:127::-;40201:10;40196:3;40192:20;40189:1;40182:31;40232:4;40229:1;40222:15;40256:4;40253:1;40246:15;40940:656;41201:6;41196:3;41189:19;41171:3;41237:6;41231:13;41253:73;41319:6;41314:2;41309:3;41305:12;41300:2;41292:6;41288:15;41253:73;:::i;:::-;41354:6;41349:3;41345:16;41335:26;;41422:1;41418;41414:2;41410:10;41406:18;41402:23;41394:6;41390:36;41385:2;41381;41377:11;41370:57;41458:6;41452:13;41474:74;41539:8;41534:2;41530;41526:11;41521:2;41513:6;41509:15;41474:74;:::i;:::-;41568:17;41587:2;41564:26;;40940:656;-1:-1:-1;;;;;;40940:656:30:o;41601:441::-;41654:5;41707:3;41700:4;41692:6;41688:17;41684:27;41674:55;;41725:1;41722;41715:12;41674:55;41754:6;41748:13;41785:48;41801:31;41829:2;41801:31;:::i;41785:48::-;41858:2;41849:7;41842:19;41904:3;41897:4;41892:2;41884:6;41880:15;41876:26;41873:35;41870:55;;;41921:1;41918;41911:12;41870:55;41934:77;42008:2;42001:4;41992:7;41988:18;41981:4;41973:6;41969:17;41934:77;:::i;42047:335::-;42126:6;42179:2;42167:9;42158:7;42154:23;42150:32;42147:52;;;42195:1;42192;42185:12;42147:52;42222:16;;-1:-1:-1;;;;;42250:30:30;;42247:50;;;42293:1;42290;42283:12;42247:50;42316:60;42368:7;42359:6;42348:9;42344:22;42316:60;:::i;42387:608::-;-1:-1:-1;;;42749:3:30;42742:16;42787:6;42783:1;42778:3;42774:11;42767:27;-1:-1:-1;;;42819:2:30;42814:3;42810:12;42803:25;42724:3;42857:6;42851:13;42873:75;42941:6;42936:2;42931:3;42927:12;42920:4;42912:6;42908:17;42873:75;:::i;:::-;42968:16;;;;42986:2;42964:25;;42387:608;-1:-1:-1;;;42387:608:30:o;43000:468::-;43223:2;43212:9;43205:21;43186:4;43249:45;43290:2;43279:9;43275:18;43267:6;43249:45;:::i;:::-;43342:9;43334:6;43330:22;43325:2;43314:9;43310:18;43303:50;43370:33;43396:6;43388;43370:33;:::i;:::-;43362:41;;;43453:6;43446:14;43439:22;43434:2;43423:9;43419:18;43412:50;43000:468;;;;;;:::o;44141:172::-;44208:10;44238;;;44250;;;44234:27;;44273:11;;;44270:37;;;44287:18;;:::i;:::-;44270:37;44141:172;;;;:::o;46656:329::-;46858:2;46840:21;;;46897:1;46877:18;;;46870:29;-1:-1:-1;;;46930:2:30;46915:18;;46908:36;46976:2;46961:18;;46656:329::o;48345:::-;48547:2;48529:21;;;48586:1;48566:18;;;48559:29;-1:-1:-1;;;48619:2:30;48604:18;;48597:36;48665:2;48650:18;;48345:329::o;49626:226::-;49781:2;49770:9;49763:21;49744:4;49801:45;49842:2;49831:9;49827:18;49819:6;49801:45;:::i;49857:2007::-;49981:6;50012:2;50055;50043:9;50034:7;50030:23;50026:32;50023:52;;;50071:1;50068;50061:12;50023:52;50098:16;;-1:-1:-1;;;;;50163:14:30;;;50160:34;;;50190:1;50187;50180:12;50160:34;50228:6;50217:9;50213:22;50203:32;;50273:7;50266:4;50262:2;50258:13;50254:27;50244:55;;50295:1;50292;50285:12;50244:55;50324:2;50318:9;50347:60;50363:43;50403:2;50363:43;:::i;50347:60::-;50441:15;;;50523:1;50519:10;;;;50511:19;;50507:28;;;50472:12;;;;50547:19;;;50544:39;;;50579:1;50576;50569:12;50544:39;50611:2;50607;50603:11;50623:1211;50639:6;50634:3;50631:15;50623:1211;;;50718:3;50712:10;50754:2;50741:11;50738:19;50735:109;;;50798:1;50827:2;50823;50816:14;50735:109;50867:20;;50910:4;50938:16;;;-1:-1:-1;;50934:30:30;50930:39;-1:-1:-1;50927:129:30;;;51010:1;51039:2;51035;51028:14;50927:129;51082:22;;:::i;:::-;51146:2;51142;51138:11;51132:18;51198:2;51189:7;51185:16;51176:7;51173:29;51163:127;;51244:1;51273:2;51269;51262:14;51163:127;51303:22;;51349:2;51386:12;;;51380:19;51415:16;;;51412:109;;;51473:1;51503:3;51498;51491:16;51412:109;51557:64;51613:7;51608:2;51597:8;51593:2;51589:17;51585:26;51557:64;:::i;:::-;51541:14;;;51534:88;-1:-1:-1;51646:2:30;51691:12;;;51685:19;51668:15;;;51661:44;;;;51748:11;;;;51742:18;51725:15;;;51718:43;51774:18;;51812:12;;;;50656;;50623:1211;;;-1:-1:-1;51853:5:30;49857:2007;-1:-1:-1;;;;;;;;49857:2007:30:o;52203:148::-;52291:4;52270:12;;;52284;;;52266:31;;52309:13;;52306:39;;;52325:18;;:::i;52356:175::-;52393:3;52437:4;52430:5;52426:16;52466:4;52457:7;52454:17;52451:43;;52474:18;;:::i;:::-;52523:1;52510:15;;52356:175;-1:-1:-1;;52356:175:30:o;52536:184::-;52606:6;52659:2;52647:9;52638:7;52634:23;52630:32;52627:52;;;52675:1;52672;52665:12;52627:52;-1:-1:-1;52698:16:30;;52536:184;-1:-1:-1;52536:184:30:o;53393:848::-;53619:4;53667:3;53656:9;53652:19;53698:6;53687:9;53680:25;53724:2;53762:6;53757:2;53746:9;53742:18;53735:34;53805:6;53800:2;53789:9;53785:18;53778:34;53848:3;53843:2;53832:9;53828:18;53821:31;53872:6;53907;53901:13;53938:6;53930;53923:22;53976:3;53965:9;53961:19;53954:26;;54015:2;54007:6;54003:15;53989:29;;54036:1;54046:169;54060:6;54057:1;54054:13;54046:169;;;54121:13;;54109:26;;54190:15;;;;54155:12;;;;54082:1;54075:9;54046:169;;;-1:-1:-1;54232:3:30;;53393:848;-1:-1:-1;;;;;;;;;53393:848:30:o;54768:257::-;-1:-1:-1;;;;;54889:10:30;;;54901;;;54885:27;54932:20;;;;54839:18;54971:24;;;54961:58;;54999:18;;:::i;:::-;54961:58;;54768:257;;;;:::o;55364:307::-;55541:2;55530:9;55523:21;55504:4;55561:45;55602:2;55591:9;55587:18;55579:6;55561:45;:::i;:::-;55553:53;;55656:6;55649:14;55642:22;55637:2;55626:9;55622:18;55615:50;55364:307;;;;;:::o;55676:840::-;55802:3;55831:1;55864:6;55858:13;55894:36;55920:9;55894:36;:::i;:::-;55949:1;55966:18;;;55993:133;;;;56140:1;56135:356;;;;55959:532;;55993:133;-1:-1:-1;;56026:24:30;;56014:37;;56099:14;;56092:22;56080:35;;56071:45;;;-1:-1:-1;55993:133:30;;56135:356;56166:6;56163:1;56156:17;56196:4;56241:2;56238:1;56228:16;56266:1;56280:165;56294:6;56291:1;56288:13;56280:165;;;56372:14;;56359:11;;;56352:35;56415:16;;;;56309:10;;56280:165;;;56284:3;;;56474:6;56469:3;56465:16;56458:23;;55959:532;-1:-1:-1;56507:3:30;;55676:840;-1:-1:-1;;;;;;55676:840:30:o;62603:180::-;-1:-1:-1;;;;;62708:10:30;;;62720;;;62704:27;;62743:11;;;62740:37;;;62757:18;;:::i;63122:277::-;63317:2;63306:9;63299:21;63280:4;63337:56;63389:2;63378:9;63374:18;63366:6;63337:56;:::i;63404:1063::-;63774:4;63803:3;63833:2;63822:9;63815:21;63859:45;63900:2;63889:9;63885:18;63877:6;63859:45;:::i;:::-;63845:59;;63940:6;63935:2;63924:9;63920:18;63913:34;63995:9;63987:6;63983:22;63978:2;63967:9;63963:18;63956:50;64029:33;64055:6;64047;64029:33;:::i;:::-;64015:47;;64098:6;64093:2;64082:9;64078:18;64071:34;64154:9;64146:6;64142:22;64136:3;64125:9;64121:19;64114:51;64188:33;64214:6;64206;64188:33;:::i;:::-;-1:-1:-1;;;;;64258:32:30;;64278:3;64237:19;;64230:61;64328:22;;;64322:3;64307:19;;64300:51;64174:47;-1:-1:-1;64368:33:30;64174:47;64386:6;64368:33;:::i;:::-;64360:41;;;64452:6;64445:14;64438:22;64432:3;64421:9;64417:19;64410:51;63404:1063;;;;;;;;;;;:::o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.18;\npragma experimental ABIEncoderV2;\n\nimport \"./Bridge.sol\";\nimport \"./QuotesV2.sol\";\nimport \"./SignatureValidator.sol\";\nimport \"@rsksmart/btc-transaction-solidity-helper/contracts/BtcUtils.sol\";\nimport \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol\";\n\n/**\n @title Contract that assists with the Flyover protocol\n */\n\ncontract LiquidityBridgeContractV2 is Initializable, OwnableUpgradeable, ReentrancyGuardUpgradeable {\n uint16 constant public MAX_CALL_GAS_COST = 35000;\n uint16 constant public MAX_REFUND_GAS_LIMIT = 2300;\n\n uint8 constant public UNPROCESSED_QUOTE_CODE = 0;\n uint8 constant public CALL_DONE_CODE = 1;\n uint8 constant public PROCESSED_QUOTE_CODE = 2;\n\n int16 constant public BRIDGE_REFUNDED_USER_ERROR_CODE = - 100;\n int16 constant public BRIDGE_REFUNDED_LP_ERROR_CODE = - 200;\n int16 constant public BRIDGE_UNPROCESSABLE_TX_NOT_CONTRACT_ERROR_CODE = - 300;\n int16 constant public BRIDGE_UNPROCESSABLE_TX_INVALID_SENDER_ERROR_CODE = - 301;\n int16 constant public BRIDGE_UNPROCESSABLE_TX_ALREADY_PROCESSED_ERROR_CODE = - 302;\n int16 constant public BRIDGE_UNPROCESSABLE_TX_VALIDATIONS_ERROR = - 303;\n int16 constant public BRIDGE_UNPROCESSABLE_TX_VALUE_ZERO_ERROR = - 304;\n int16 constant public BRIDGE_UNPROCESSABLE_TX_UTXO_AMOUNT_SENT_BELOW_MINIMUM_ERROR =\n - 305;\n int16 constant public BRIDGE_GENERIC_ERROR = - 900;\n uint constant public PAY_TO_ADDRESS_OUTPUT = 0;\n uint constant public QUOTE_HASH_OUTPUT = 1;\n\n struct Registry {\n uint32 timestamp;\n bool success;\n }\n\n struct PegoutRecord {\n uint256 depositTimestamp;\n bool completed;\n }\n\n struct LiquidityProvider {\n uint id;\n address provider;\n string name;\n string apiBaseUrl;\n bool status;\n string providerType;\n }\n\n event Register(uint id, address indexed from, uint256 amount);\n event CollateralIncrease(address from, uint256 amount);\n event PegoutCollateralIncrease(address from, uint256 amount);\n event Withdrawal(address from, uint256 amount);\n event WithdrawCollateral(address from, uint256 amount);\n event PegoutWithdrawCollateral(address from, uint256 amount);\n event Resigned(address from);\n event CallForUser(\n address indexed from,\n address indexed dest,\n uint gasLimit,\n uint value,\n bytes data,\n bool success,\n bytes32 quoteHash\n );\n event PegInRegistered(bytes32 indexed quoteHash, int256 transferredAmount);\n event Penalized(address liquidityProvider, uint penalty, bytes32 quoteHash);\n event BridgeCapExceeded(bytes32 quoteHash, int256 errorCode);\n event BalanceIncrease(address dest, uint amount);\n event BalanceDecrease(address dest, uint amount);\n event Refund(address dest, uint amount, bool success, bytes32 quoteHash);\n event PegOutRefunded(bytes32 indexed quoteHash);\n event PegOutDeposit(\n bytes32 indexed quoteHash,\n address indexed sender,\n uint256 amount,\n uint256 timestamp\n );\n event PegOutUserRefunded(\n bytes32 indexed quoteHash,\n uint256 value,\n address userAddress\n );\n event DaoFeeSent(bytes32 indexed quoteHash, uint256 amount);\n\n Bridge public bridge;\n mapping(address => uint256) private balances;\n mapping(address => uint256) private collateral;\n mapping(address => uint256) private pegoutCollateral;\n mapping(uint => LiquidityProvider) private liquidityProviders;\n mapping(bytes32 => Registry) private callRegistry;\n mapping(address => uint256) private resignationBlockNum;\n\n uint256 private minCollateral;\n uint256 private minPegIn;\n\n uint32 private rewardP;\n uint32 private resignDelayInBlocks;\n uint private dust;\n uint public providerId;\n\n uint private btcBlockTime;\n bool private mainnet;\n\n mapping(bytes32 => uint8) private processedQuotes;\n mapping(bytes32 => QuotesV2.PegOutQuote) private registeredPegoutQuotes;\n mapping(bytes32 => PegoutRecord) private pegoutRegistry;\n\n uint256 public productFeePercentage;\n address public daoFeeCollectorAddress;\n\n modifier onlyRegistered() {\n require(isRegistered(msg.sender), \"LBC001\");\n _;\n }\n\n modifier onlyRegisteredForPegout() {\n require(isRegisteredForPegout(msg.sender), \"LBC001\");\n _;\n }\n\n function initializeV2(\n uint256 _productFeePercentage,\n address _daoFeeCollectorAddress\n ) public {\n productFeePercentage = _productFeePercentage;\n daoFeeCollectorAddress = _daoFeeCollectorAddress;\n }\n\n modifier onlyOwnerAndProvider(uint _providerId) {\n require(\n msg.sender == owner() ||\n msg.sender == liquidityProviders[_providerId].provider,\n \"LBC005\"\n );\n _;\n }\n\n function setProviderStatus(\n uint _providerId,\n bool status\n ) external onlyOwnerAndProvider(_providerId) {\n liquidityProviders[_providerId].status = status;\n }\n\n receive() external payable {\n require(msg.sender == address(bridge), \"LBC007\");\n }\n\n function getProviderIds() external view returns (uint) {\n return providerId;\n }\n\n function getBridgeAddress() external view returns (address) {\n return address(bridge);\n }\n\n function getMinCollateral() public view returns (uint) {\n return minCollateral;\n }\n\n function getMinPegIn() external view returns (uint) {\n return minPegIn;\n }\n\n function getRewardPercentage() external view returns (uint) {\n return rewardP;\n }\n\n function getResignDelayBlocks() external view returns (uint) {\n return resignDelayInBlocks;\n }\n\n function getDustThreshold() external view returns (uint) {\n return dust;\n }\n\n function getRegisteredPegOutQuote(\n bytes32 quoteHash\n ) external view returns (QuotesV2.PegOutQuote memory) {\n return registeredPegoutQuotes[quoteHash];\n }\n\n function isPegOutQuoteCompleted(bytes32 quoteHash) external view returns (bool) {\n return pegoutRegistry[quoteHash].completed;\n }\n\n /**\n @dev Checks whether a liquidity provider can deliver a pegin service\n @return Whether the liquidity provider is registered and has enough locked collateral\n */\n function isOperational(address addr) external view returns (bool) {\n return isRegistered(addr) && collateral[addr] >= minCollateral;\n }\n\n /**\n @dev Checks whether a liquidity provider can deliver a pegout service\n @return Whether the liquidity provider is registered and has enough locked collateral\n */\n function isOperationalForPegout(address addr) external view returns (bool) {\n return\n isRegisteredForPegout(addr) &&\n pegoutCollateral[addr] >= minCollateral;\n }\n\n /**\n @dev Registers msg.sender as a liquidity provider with msg.value as collateral\n */\n function register(\n string memory _name,\n string memory _apiBaseUrl,\n bool _status,\n string memory _providerType\n ) external payable returns (uint) {\n require(tx.origin == msg.sender, \"LBC003\");\n //require(collateral[msg.sender] == 0, \"Already registered\");\n require(bytes(_name).length > 0, \"LBC010\");\n require(\n bytes(_apiBaseUrl).length > 0,\n \"LBC017\"\n );\n\n // Check if _providerType is one of the valid strings\n require(\n keccak256(abi.encodePacked(_providerType)) ==\n keccak256(abi.encodePacked(\"pegin\")) ||\n keccak256(abi.encodePacked(_providerType)) ==\n keccak256(abi.encodePacked(\"pegout\")) ||\n keccak256(abi.encodePacked(_providerType)) ==\n keccak256(abi.encodePacked(\"both\")),\n \"LBC018\"\n );\n\n require(collateral[msg.sender] == 0 && pegoutCollateral[msg.sender] == 0, \"LBC070\");\n require(\n resignationBlockNum[msg.sender] == 0,\n \"LBC009\"\n );\n\n if (keccak256(abi.encodePacked(_providerType)) == keccak256(abi.encodePacked(\"pegin\"))) {\n require(msg.value >= minCollateral, \"LBC008\");\n collateral[msg.sender] = msg.value;\n } else if (keccak256(abi.encodePacked(_providerType)) == keccak256(abi.encodePacked(\"pegout\"))) {\n require(msg.value >= minCollateral, \"LBC008\");\n pegoutCollateral[msg.sender] = msg.value;\n } else {\n require(msg.value >= minCollateral * 2, \"LBC008\");\n uint halfMsgValue = msg.value / 2;\n collateral[msg.sender] = msg.value % 2 == 0 ? halfMsgValue : halfMsgValue + 1;\n pegoutCollateral[msg.sender] = halfMsgValue;\n }\n\n providerId++;\n liquidityProviders[providerId] = LiquidityProvider({\n id: providerId,\n provider: msg.sender,\n name: _name,\n apiBaseUrl: _apiBaseUrl,\n status: _status,\n providerType: _providerType\n });\n emit Register(providerId, msg.sender, msg.value);\n return (providerId);\n }\n\n function getProviders(\n uint[] memory providerIds\n ) external view returns (LiquidityProvider[] memory) {\n LiquidityProvider[] memory providersToReturn = new LiquidityProvider[](\n providerIds.length\n );\n uint count = 0;\n\n for (uint i = 0; i < providerIds.length; i++) {\n uint id = providerIds[i];\n if (\n (isRegistered(liquidityProviders[id].provider) ||\n isRegisteredForPegout(liquidityProviders[id].provider)) &&\n liquidityProviders[id].status\n ) {\n providersToReturn[count] = liquidityProviders[id];\n count++;\n }\n }\n return providersToReturn;\n }\n\n /**\n @dev Increases the amount of collateral of the sender\n */\n function addCollateral() external payable onlyRegistered {\n collateral[msg.sender] += msg.value;\n emit CollateralIncrease(msg.sender, msg.value);\n }\n\n function addPegoutCollateral() external payable onlyRegisteredForPegout {\n pegoutCollateral[msg.sender] += msg.value;\n emit PegoutCollateralIncrease(msg.sender, msg.value);\n }\n\n /**\n @dev Increases the balance of the sender\n */\n function deposit() external payable onlyRegistered {\n increaseBalance(msg.sender, msg.value);\n }\n\n /**\n @dev Used to withdraw funds\n @param amount The amount to withdraw\n */\n function withdraw(uint256 amount) external {\n require(balances[msg.sender] >= amount, \"LBC019\");\n balances[msg.sender] -= amount;\n (bool success,) = msg.sender.call{value: amount}(\"\");\n require(success, \"LBC020\");\n emit Withdrawal(msg.sender, amount);\n }\n\n /**\n @dev Used to withdraw the locked collateral\n */\n function withdrawCollateral() external {\n require(resignationBlockNum[msg.sender] > 0, \"LBC021\");\n require(\n block.number - resignationBlockNum[msg.sender] >=\n resignDelayInBlocks,\n \"LBC022\"\n );\n uint amount = collateral[msg.sender];\n collateral[msg.sender] = 0;\n resignationBlockNum[msg.sender] = 0;\n (bool success,) = msg.sender.call{value: amount}(\"\");\n require(success, \"LBC020\");\n emit WithdrawCollateral(msg.sender, amount);\n }\n\n function withdrawPegoutCollateral() external {\n require(resignationBlockNum[msg.sender] > 0, \"LBC021\");\n require(\n block.number - resignationBlockNum[msg.sender] >=\n resignDelayInBlocks,\n \"LBC022\"\n );\n uint amount = pegoutCollateral[msg.sender];\n pegoutCollateral[msg.sender] = 0;\n resignationBlockNum[msg.sender] = 0;\n (bool success,) = msg.sender.call{value: amount}(\"\");\n require(success, \"LBC020\");\n emit PegoutWithdrawCollateral(msg.sender, amount);\n }\n\n /**\n @dev Used to resign as a liquidity provider\n */\n function resign() external onlyRegistered {\n require(resignationBlockNum[msg.sender] == 0, \"LBC023\");\n resignationBlockNum[msg.sender] = block.number;\n emit Resigned(msg.sender);\n }\n\n /**\n @dev Returns the amount of collateral of a liquidity provider\n @param addr The address of the liquidity provider\n @return The amount of locked collateral\n */\n function getCollateral(address addr) external view returns (uint256) {\n return collateral[addr];\n }\n\n function getPegoutCollateral(address addr) external view returns (uint256) {\n return pegoutCollateral[addr];\n }\n\n /**\n @dev Returns the amount of funds of a liquidity provider\n @param addr The address of the liquidity provider\n @return The balance of the liquidity provider\n */\n function getBalance(address addr) external view returns (uint256) {\n return balances[addr];\n }\n\n /**\n @dev Performs a call on behalf of a user\n @param quote The quote that identifies the service\n @return Boolean indicating whether the call was successful\n */\n function callForUser(\n QuotesV2.PeginQuote memory quote\n ) external payable onlyRegistered nonReentrant returns (bool) {\n require(\n msg.sender == quote.liquidityProviderRskAddress,\n \"LBC024\"\n );\n require(\n balances[quote.liquidityProviderRskAddress] + msg.value >=\n quote.value,\n \"LBC019\"\n );\n\n bytes32 quoteHash = validateAndHashQuote(quote);\n require(\n processedQuotes[quoteHash] == UNPROCESSED_QUOTE_CODE,\n \"LBC025\"\n );\n\n increaseBalance(quote.liquidityProviderRskAddress, msg.value);\n\n // This check ensures that the call cannot be performed with less gas than the agreed amount\n require(\n gasleft() >= quote.gasLimit + MAX_CALL_GAS_COST,\n \"LBC026\"\n );\n (bool success,) = quote.contractAddress.call{\n gas: quote.gasLimit,\n value: quote.value\n }(quote.data);\n\n require(block.timestamp <= type(uint32).max, \"LBC027\");\n callRegistry[quoteHash].timestamp = uint32(block.timestamp);\n\n if (success) {\n callRegistry[quoteHash].success = true;\n decreaseBalance(quote.liquidityProviderRskAddress, quote.value);\n }\n emit CallForUser(\n msg.sender,\n quote.contractAddress,\n quote.gasLimit,\n quote.value,\n quote.data,\n success,\n quoteHash\n );\n processedQuotes[quoteHash] = CALL_DONE_CODE;\n return success;\n }\n\n /**\n @dev Registers a peg-in transaction with the bridge and pays to the involved parties\n @param quote The quote of the service\n @param signature The signature of the quote\n @param btcRawTransaction The peg-in transaction\n @param partialMerkleTree The merkle tree path that proves transaction inclusion\n @param height The block that contains the peg-in transaction\n @return The total peg-in amount received from the bridge contract or an error code\n */\n function registerPegIn(\n QuotesV2.PeginQuote memory quote,\n bytes memory signature,\n bytes memory btcRawTransaction,\n bytes memory partialMerkleTree,\n uint256 height\n ) external nonReentrant returns (int256) {\n bytes32 quoteHash = validateAndHashQuote(quote);\n\n // TODO: allow multiple registerPegIns for the same quote with different transactions\n require(\n processedQuotes[quoteHash] <= CALL_DONE_CODE,\n \"LBC028\"\n );\n require(\n SignatureValidator.verify(\n quote.liquidityProviderRskAddress,\n quoteHash,\n signature\n ),\n \"LBC029\"\n );\n require(height < uint256(int256(type(int32).max)), \"LBC030\");\n\n int256 transferredAmountOrErrorCode = registerBridge(\n quote,\n btcRawTransaction,\n partialMerkleTree,\n height,\n quoteHash\n );\n\n require(\n transferredAmountOrErrorCode !=\n BRIDGE_UNPROCESSABLE_TX_VALIDATIONS_ERROR,\n \"LBC031\"\n );\n require(\n transferredAmountOrErrorCode !=\n BRIDGE_UNPROCESSABLE_TX_ALREADY_PROCESSED_ERROR_CODE,\n \"LBC032\"\n );\n require(\n transferredAmountOrErrorCode !=\n BRIDGE_UNPROCESSABLE_TX_VALUE_ZERO_ERROR,\n \"LBC033\"\n );\n require(\n transferredAmountOrErrorCode !=\n BRIDGE_UNPROCESSABLE_TX_UTXO_AMOUNT_SENT_BELOW_MINIMUM_ERROR,\n \"LBC034\"\n );\n require(\n transferredAmountOrErrorCode != BRIDGE_GENERIC_ERROR,\n \"LBC035\"\n );\n require(\n transferredAmountOrErrorCode > 0 ||\n transferredAmountOrErrorCode == BRIDGE_REFUNDED_LP_ERROR_CODE ||\n transferredAmountOrErrorCode == BRIDGE_REFUNDED_USER_ERROR_CODE,\n \"LBC036\"\n );\n\n if (\n shouldPenalizeLP(\n quote,\n transferredAmountOrErrorCode,\n callRegistry[quoteHash].timestamp,\n height\n )\n ) {\n uint penalizationAmount = min(\n quote.penaltyFee,\n collateral[quote.liquidityProviderRskAddress]\n ); // prevent underflow when collateral is less than penalty fee.\n collateral[quote.liquidityProviderRskAddress] -= penalizationAmount;\n emit Penalized(\n quote.liquidityProviderRskAddress,\n penalizationAmount,\n quoteHash\n );\n\n // pay reward to sender\n uint256 punisherReward = (penalizationAmount * rewardP) / 100;\n increaseBalance(msg.sender, punisherReward);\n }\n\n if (\n transferredAmountOrErrorCode == BRIDGE_REFUNDED_LP_ERROR_CODE ||\n transferredAmountOrErrorCode == BRIDGE_REFUNDED_USER_ERROR_CODE\n ) {\n // Bridge cap exceeded\n processedQuotes[quoteHash] = PROCESSED_QUOTE_CODE;\n delete callRegistry[quoteHash];\n emit BridgeCapExceeded(quoteHash, transferredAmountOrErrorCode);\n return transferredAmountOrErrorCode;\n }\n\n // the amount is safely assumed positive because it's already been\n // validated in lines 287/298 there's no (negative) error code being returned by the bridge.\n uint transferredAmount = uint(transferredAmountOrErrorCode);\n\n QuotesV2.checkAgreedAmount(quote, transferredAmount);\n\n if (callRegistry[quoteHash].timestamp > 0) {\n uint refundAmount;\n\n if (callRegistry[quoteHash].success) {\n refundAmount = min(\n transferredAmount,\n quote.value + quote.callFee + quote.gasFee\n );\n } else {\n refundAmount = min(transferredAmount, quote.callFee + quote.gasFee);\n }\n increaseBalance(quote.liquidityProviderRskAddress, refundAmount);\n\n uint remainingAmount = transferredAmount - refundAmount;\n payToFeeCollector(quote.productFeeAmount, quoteHash);\n\n if (remainingAmount > dust) {\n // refund rskRefundAddress, if remaining amount greater than dust\n (bool success,) = quote.rskRefundAddress.call{\n gas: MAX_REFUND_GAS_LIMIT,\n value: remainingAmount\n }(\"\");\n emit Refund(\n quote.rskRefundAddress,\n remainingAmount,\n success,\n quoteHash\n );\n\n if (!success) {\n // transfer funds to LP instead, if for some reason transfer to rskRefundAddress was unsuccessful\n increaseBalance(\n quote.liquidityProviderRskAddress,\n remainingAmount\n );\n }\n }\n } else {\n uint refundAmount = transferredAmount;\n\n if (quote.callOnRegister && refundAmount >= quote.value) {\n (bool callSuccess,) = quote.contractAddress.call{\n gas: quote.gasLimit,\n value: quote.value\n }(quote.data);\n emit CallForUser(\n msg.sender,\n quote.contractAddress,\n quote.gasLimit,\n quote.value,\n quote.data,\n callSuccess,\n quoteHash\n );\n\n if (callSuccess) {\n refundAmount -= quote.value;\n }\n }\n if (refundAmount > dust) {\n // refund rskRefundAddress, if refund amount greater than dust\n (bool success,) = quote.rskRefundAddress.call{\n gas: MAX_REFUND_GAS_LIMIT,\n value: refundAmount\n }(\"\");\n emit Refund(\n quote.rskRefundAddress,\n refundAmount,\n success,\n quoteHash\n );\n }\n }\n processedQuotes[quoteHash] = PROCESSED_QUOTE_CODE;\n delete callRegistry[quoteHash];\n emit PegInRegistered(quoteHash, transferredAmountOrErrorCode);\n return transferredAmountOrErrorCode;\n }\n\n function depositPegout( // TODO convert to calldata when contract size issues are fixed\n QuotesV2.PegOutQuote memory quote,\n bytes memory signature\n ) external payable {\n require(isRegisteredForPegout(quote.lpRskAddress), \"LBC037\");\n require(quote.value + quote.callFee + quote.productFeeAmount + quote.gasFee <= msg.value, \"LBC063\");\n require(block.timestamp <= quote.depositDateLimit, \"LBC065\");\n require(block.timestamp <= quote.expireDate, \"LBC046\");\n require(block.number <= quote.expireBlock, \"LBC047\");\n bytes32 quoteHash = hashPegoutQuote(quote);\n require(\n SignatureValidator.verify(quote.lpRskAddress, quoteHash, signature),\n \"LBC029\"\n );\n\n QuotesV2.PegOutQuote storage registeredQuote = registeredPegoutQuotes[quoteHash];\n\n require(pegoutRegistry[quoteHash].completed == false, \"LBC064\");\n require(registeredQuote.lbcAddress == address(0), \"LBC028\");\n registeredPegoutQuotes[quoteHash] = quote;\n pegoutRegistry[quoteHash].depositTimestamp = block.timestamp;\n emit PegOutDeposit(quoteHash, msg.sender, msg.value, block.timestamp);\n }\n\n function refundUserPegOut(\n bytes32 quoteHash\n ) external nonReentrant {\n QuotesV2.PegOutQuote storage quote = registeredPegoutQuotes[quoteHash];\n\n require(quote.lbcAddress != address(0), \"LBC042\");\n require(\n block.timestamp > quote.expireDate &&\n block.number > quote.expireBlock,\n \"LBC041\"\n );\n\n uint valueToTransfer = quote.value + quote.callFee + quote.productFeeAmount + quote.gasFee;\n address addressToTransfer = quote.rskRefundAddress;\n\n uint penalty = min(quote.penaltyFee, pegoutCollateral[quote.lpRskAddress]);\n pegoutCollateral[quote.lpRskAddress] -= penalty;\n\n emit Penalized(quote.lpRskAddress, penalty, quoteHash);\n emit PegOutUserRefunded(\n quoteHash,\n valueToTransfer,\n quote.rskRefundAddress\n );\n\n delete registeredPegoutQuotes[quoteHash];\n pegoutRegistry[quoteHash].completed = true;\n\n (bool sent,) = addressToTransfer.call{value: valueToTransfer}(\"\");\n require(sent, \"LBC044\");\n }\n\n function refundPegOut(\n bytes32 quoteHash,\n bytes memory btcTx,\n bytes32 btcBlockHeaderHash,\n uint256 partialMerkleTree,\n bytes32[] memory merkleBranchHashes\n ) external nonReentrant onlyRegisteredForPegout {\n require(pegoutRegistry[quoteHash].completed == false, \"LBC064\");\n QuotesV2.PegOutQuote storage quote = registeredPegoutQuotes[quoteHash];\n require(quote.lbcAddress != address(0), \"LBC042\");\n BtcUtils.TxRawOutput[] memory outputs = BtcUtils.getOutputs(btcTx);\n bytes memory scriptContent = BtcUtils.parseNullDataScript(outputs[QUOTE_HASH_OUTPUT].pkScript);\n require(scriptContent.length == 33 && scriptContent[0] == 0x20, \"LBC075\");\n // shift the array to remove the first byte (the size)\n for (uint8 i = 0 ; i < scriptContent.length - 1; i++) {\n scriptContent[i] = scriptContent[i + 1];\n }\n bytes32 txQuoteHash = abi.decode(scriptContent, (bytes32));\n require(quoteHash == txQuoteHash, \"LBC069\");\n require(msg.sender == quote.lpRskAddress, \"LBC048\");\n require(\n bridge.getBtcTransactionConfirmations(\n BtcUtils.hashBtcTx(btcTx),\n btcBlockHeaderHash,\n partialMerkleTree,\n merkleBranchHashes\n ) >= int(uint256(quote.transferConfirmations)),\n \"LBC049\"\n );\n require(quote.value <= outputs[PAY_TO_ADDRESS_OUTPUT].value * (10**10), \"LBC067\"); // satoshi to wei\n bytes memory btcTxDestination = BtcUtils.parsePayToPubKeyHash(outputs[PAY_TO_ADDRESS_OUTPUT].pkScript, mainnet);\n require(keccak256(quote.deposityAddress) == keccak256(btcTxDestination), \"LBC068\");\n\n if (\n shouldPenalizePegOutLP(\n quote,\n txQuoteHash,\n btcBlockHeaderHash\n )\n ) {\n uint penalty = min(\n quote.penaltyFee,\n pegoutCollateral[quote.lpRskAddress]\n );\n pegoutCollateral[quote.lpRskAddress] -= penalty;\n emit Penalized(quote.lpRskAddress, penalty, txQuoteHash);\n }\n\n (bool sent,) = quote.lpRskAddress.call{\n value: quote.value + quote.callFee\n }(\"\");\n require(sent, \"LBC050\");\n\n payToFeeCollector(quote.productFeeAmount, quoteHash);\n\n delete registeredPegoutQuotes[txQuoteHash];\n pegoutRegistry[txQuoteHash].completed = true;\n emit PegOutRefunded(txQuoteHash);\n }\n\n function validatePeginDepositAddress(\n QuotesV2.PeginQuote memory quote,\n bytes memory depositAddress\n ) external view returns (bool) {\n bytes32 derivationValue = keccak256(\n bytes.concat(\n hashQuote(quote),\n quote.btcRefundAddress,\n bytes20(quote.lbcAddress),\n quote.liquidityProviderBtcAddress\n )\n );\n bytes memory flyoverRedeemScript = bytes.concat(\n hex\"20\",\n derivationValue,\n hex\"75\",\n bridge.getActivePowpegRedeemScript()\n );\n return BtcUtils.validateP2SHAdress(depositAddress, flyoverRedeemScript, mainnet);\n }\n\n /**\n @dev Calculates hash of a quote. Note: besides calculation this function also validates the quote.\n @param quote The quote of the service\n @return The hash of a quote\n */\n function hashQuote(QuotesV2.PeginQuote memory quote) public view returns (bytes32) {\n return validateAndHashQuote(quote);\n }\n\n function hashPegoutQuote(\n QuotesV2.PegOutQuote memory quote\n ) public view returns (bytes32) {\n return validateAndHashPegOutQuote(quote);\n }\n\n function validateAndHashQuote(\n QuotesV2.PeginQuote memory quote\n ) private view returns (bytes32) {\n require(address(this) == quote.lbcAddress, \"LBC051\");\n require(\n address(bridge) != quote.contractAddress,\n \"LBC052\"\n );\n require(\n quote.btcRefundAddress.length == 21 ||\n quote.btcRefundAddress.length == 33,\n \"LBC053\"\n );\n require(\n quote.liquidityProviderBtcAddress.length == 21,\n \"LBC054\"\n );\n require(\n quote.value + quote.callFee + quote.productFeeAmount + quote.gasFee >= minPegIn,\n \"LBC055\"\n );\n require(\n type(uint32).max >= uint64(quote.agreementTimestamp) + uint64(quote.timeForDeposit),\n \"LBC071\"\n );\n\n return keccak256(QuotesV2.encodeQuote(quote));\n }\n\n function validateAndHashPegOutQuote(\n QuotesV2.PegOutQuote memory quote\n ) private view returns (bytes32) {\n require(address(this) == quote.lbcAddress, \"LBC056\");\n\n return keccak256(QuotesV2.encodePegOutQuote(quote));\n }\n\n function min(uint a, uint b) private pure returns (uint) {\n return a < b ? a : b;\n }\n\n // IMPORTANT: These methods should remain private at all costs\n function increaseBalance(address dest, uint amount) private {\n balances[dest] += amount;\n emit BalanceIncrease(dest, amount);\n }\n\n function decreaseBalance(address dest, uint amount) private {\n balances[dest] -= amount;\n emit BalanceDecrease(dest, amount);\n }\n\n /**\n @dev Checks if a liquidity provider is registered\n @param addr The address of the liquidity provider\n @return Boolean indicating whether the liquidity provider is registered\n */\n function isRegistered(address addr) private view returns (bool) {\n return collateral[addr] > 0 && resignationBlockNum[addr] == 0;\n }\n\n function isRegisteredForPegout(address addr) private view returns (bool) {\n return pegoutCollateral[addr] > 0 && resignationBlockNum[addr] == 0;\n }\n\n /**\n @dev Registers a transaction with the bridge contract\n @param quote The quote of the service\n @param btcRawTransaction The peg-in transaction\n @param partialMerkleTree The merkle tree path that proves transaction inclusion\n @param height The block that contains the transaction\n @return The total peg-in amount received from the bridge contract or an error code\n */\n function registerBridge(\n QuotesV2.PeginQuote memory quote,\n bytes memory btcRawTransaction,\n bytes memory partialMerkleTree,\n uint256 height,\n bytes32 derivationHash\n ) private returns (int256) {\n return\n bridge.registerFastBridgeBtcTransaction(\n btcRawTransaction,\n height,\n partialMerkleTree,\n derivationHash,\n quote.btcRefundAddress,\n payable(this),\n quote.liquidityProviderBtcAddress,\n callRegistry[derivationHash].timestamp > 0 && callRegistry[derivationHash].success\n );\n }\n\n /**\n @dev Checks if a liquidity provider should be penalized\n @param quote The quote of the service\n @param amount The transferred amount or an error code\n @param callTimestamp The time that the liquidity provider called callForUser\n @param height The block height where the peg-in transaction is included\n @return Boolean indicating whether the penalty applies\n */\n function shouldPenalizeLP(\n QuotesV2.PeginQuote memory quote,\n int256 amount,\n uint256 callTimestamp,\n uint256 height\n ) private view returns (bool) {\n // do not penalize if deposit amount is insufficient\n if (amount > 0 && uint256(amount) < quote.value + quote.callFee + quote.productFeeAmount + quote.gasFee) {\n return false;\n }\n\n bytes memory firstConfirmationHeader = bridge\n .getBtcBlockchainBlockHeaderByHeight(height);\n require(firstConfirmationHeader.length > 0, \"Invalid block height\");\n\n uint256 firstConfirmationTimestamp = BtcUtils.getBtcBlockTimestamp(\n firstConfirmationHeader\n );\n\n // do not penalize if deposit was not made on time\n // prevent overflow when collateral is less than penalty fee.\n uint timeLimit = quote.agreementTimestamp + quote.timeForDeposit;\n if (firstConfirmationTimestamp > timeLimit) {\n return false;\n }\n\n // penalize if call was not made\n if (callTimestamp == 0) {\n return true;\n }\n\n bytes memory nConfirmationsHeader = bridge\n .getBtcBlockchainBlockHeaderByHeight(\n height + quote.depositConfirmations - 1\n );\n require(nConfirmationsHeader.length > 0, \"LBC058\");\n\n uint256 nConfirmationsTimestamp = BtcUtils.getBtcBlockTimestamp(\n nConfirmationsHeader\n );\n\n // penalize if the call was not made on time\n if (callTimestamp > nConfirmationsTimestamp + quote.callTime) {\n return true;\n }\n return false;\n }\n\n function shouldPenalizePegOutLP(\n QuotesV2.PegOutQuote memory quote,\n bytes32 quoteHash,\n bytes32 blockHash\n ) private view returns (bool) {\n bytes memory firstConfirmationHeader = bridge.getBtcBlockchainBlockHeaderByHash(blockHash);\n require(firstConfirmationHeader.length > 0, \"LBC059\");\n\n uint256 firstConfirmationTimestamp = BtcUtils.getBtcBlockTimestamp(firstConfirmationHeader);\n\n // penalize if the transfer was not made on time\n if (firstConfirmationTimestamp > pegoutRegistry[quoteHash].depositTimestamp +\n quote.transferTime + btcBlockTime) {\n return true;\n }\n\n // penalize if LP is refunding after expiration\n if (block.timestamp > quote.expireDate || block.number > quote.expireBlock) {\n return true;\n }\n\n return false;\n }\n\n function payToFeeCollector(uint amount, bytes32 quoteHash) private {\n if (amount > 0) {\n (bool daoSuccess,) = payable(daoFeeCollectorAddress).call{value: amount}(\"\");\n require(daoSuccess, \"LBC074\");\n emit DaoFeeSent(quoteHash, amount);\n }\n }\n}\n", + "sourcePath": "/Users/luischavez/iov/liquidity-bridge-contract/contracts/LiquidityBridgeContractV2.sol", + "ast": { + "absolutePath": "project:/contracts/LiquidityBridgeContractV2.sol", + "exportedSymbols": { + "AddressUpgradeable": [ + 657 + ], + "Bridge": [ + 3208 + ], + "BtcUtils": [ + 2805 + ], + "ContextUpgradeable": [ + 699 + ], + "Initializable": [ + 300 + ], + "LiquidityBridgeContractV2": [ + 9752 + ], + "OwnableUpgradeable": [ + 131 + ], + "QuotesV2": [ + 10405 + ], + "ReentrancyGuardUpgradeable": [ + 373 + ], + "SignatureValidator": [ + 10454 + ] + }, + "id": 9753, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6962, + "literals": [ + "solidity", + "^", + "0.8", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "32:24:22" + }, + { + "id": 6963, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "57:33:22" + }, + { + "absolutePath": "project:/contracts/Bridge.sol", + "file": "./Bridge.sol", + "id": 6964, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 9753, + "sourceUnit": 3209, + "src": "92:22:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "project:/contracts/QuotesV2.sol", + "file": "./QuotesV2.sol", + "id": 6965, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 9753, + "sourceUnit": 10406, + "src": "115:24:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "project:/contracts/SignatureValidator.sol", + "file": "./SignatureValidator.sol", + "id": 6966, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 9753, + "sourceUnit": 10455, + "src": "140:34:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@rsksmart/btc-transaction-solidity-helper/contracts/BtcUtils.sol", + "file": "@rsksmart/btc-transaction-solidity-helper/contracts/BtcUtils.sol", + "id": 6967, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 9753, + "sourceUnit": 2806, + "src": "175:74:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol", + "file": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol", + "id": 6968, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 9753, + "sourceUnit": 132, + "src": "250:75:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol", + "file": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol", + "id": 6969, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 9753, + "sourceUnit": 374, + "src": "326:85:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 6971, + "name": "Initializable", + "nameLocations": [ + "519:13:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 300, + "src": "519:13:22" + }, + "id": 6972, + "nodeType": "InheritanceSpecifier", + "src": "519:13:22" + }, + { + "baseName": { + "id": 6973, + "name": "OwnableUpgradeable", + "nameLocations": [ + "534:18:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 131, + "src": "534:18:22" + }, + "id": 6974, + "nodeType": "InheritanceSpecifier", + "src": "534:18:22" + }, + { + "baseName": { + "id": 6975, + "name": "ReentrancyGuardUpgradeable", + "nameLocations": [ + "554:26:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 373, + "src": "554:26:22" + }, + "id": 6976, + "nodeType": "InheritanceSpecifier", + "src": "554:26:22" + } + ], + "canonicalName": "LiquidityBridgeContractV2", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 6970, + "nodeType": "StructuredDocumentation", + "src": "413:66:22", + "text": "@title Contract that assists with the Flyover protocol" + }, + "fullyImplemented": true, + "id": 9752, + "linearizedBaseContracts": [ + 9752, + 373, + 131, + 699, + 300 + ], + "name": "LiquidityBridgeContractV2", + "nameLocation": "490:25:22", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "functionSelector": "9d79b59b", + "id": 6979, + "mutability": "constant", + "name": "MAX_CALL_GAS_COST", + "nameLocation": "610:17:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "587:48:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 6977, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "587:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": { + "hexValue": "3335303030", + "id": 6978, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "630:5:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_35000_by_1", + "typeString": "int_const 35000" + }, + "value": "35000" + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "e1de16c6", + "id": 6982, + "mutability": "constant", + "name": "MAX_REFUND_GAS_LIMIT", + "nameLocation": "664:20:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "641:50:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 6980, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "641:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "value": { + "hexValue": "32333030", + "id": 6981, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "687:4:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_2300_by_1", + "typeString": "int_const 2300" + }, + "value": "2300" + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "9cd6557f", + "id": 6985, + "mutability": "constant", + "name": "UNPROCESSED_QUOTE_CODE", + "nameLocation": "720:22:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "698:48:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 6983, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "698:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "30", + "id": 6984, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "745:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "04ade855", + "id": 6988, + "mutability": "constant", + "name": "CALL_DONE_CODE", + "nameLocation": "774:14:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "752:40:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 6986, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "752:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "31", + "id": 6987, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "791:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "0a7bf57a", + "id": 6991, + "mutability": "constant", + "name": "PROCESSED_QUOTE_CODE", + "nameLocation": "820:20:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "798:46:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 6989, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "798:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "hexValue": "32", + "id": 6990, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "843:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "e8fcce71", + "id": 6995, + "mutability": "constant", + "name": "BRIDGE_REFUNDED_USER_ERROR_CODE", + "nameLocation": "873:31:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "851:61:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + }, + "typeName": { + "id": 6992, + "name": "int16", + "nodeType": "ElementaryTypeName", + "src": "851:5:22", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "value": { + "id": 6994, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "907:5:22", + "subExpression": { + "hexValue": "313030", + "id": 6993, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "909:3:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_100_by_1", + "typeString": "int_const -100" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "e30e6ea3", + "id": 6999, + "mutability": "constant", + "name": "BRIDGE_REFUNDED_LP_ERROR_CODE", + "nameLocation": "940:29:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "918:59:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + }, + "typeName": { + "id": 6996, + "name": "int16", + "nodeType": "ElementaryTypeName", + "src": "918:5:22", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "value": { + "id": 6998, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "972:5:22", + "subExpression": { + "hexValue": "323030", + "id": 6997, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "974:3:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_200_by_1", + "typeString": "int_const 200" + }, + "value": "200" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_200_by_1", + "typeString": "int_const -200" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "ae76ce86", + "id": 7003, + "mutability": "constant", + "name": "BRIDGE_UNPROCESSABLE_TX_NOT_CONTRACT_ERROR_CODE", + "nameLocation": "1005:47:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "983:77:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + }, + "typeName": { + "id": 7000, + "name": "int16", + "nodeType": "ElementaryTypeName", + "src": "983:5:22", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "value": { + "id": 7002, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "1055:5:22", + "subExpression": { + "hexValue": "333030", + "id": 7001, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1057:3:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_300_by_1", + "typeString": "int_const 300" + }, + "value": "300" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_300_by_1", + "typeString": "int_const -300" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "8d597939", + "id": 7007, + "mutability": "constant", + "name": "BRIDGE_UNPROCESSABLE_TX_INVALID_SENDER_ERROR_CODE", + "nameLocation": "1088:49:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "1066:79:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + }, + "typeName": { + "id": 7004, + "name": "int16", + "nodeType": "ElementaryTypeName", + "src": "1066:5:22", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "value": { + "id": 7006, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "1140:5:22", + "subExpression": { + "hexValue": "333031", + "id": 7005, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1142:3:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_301_by_1", + "typeString": "int_const 301" + }, + "value": "301" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_301_by_1", + "typeString": "int_const -301" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "a93bb247", + "id": 7011, + "mutability": "constant", + "name": "BRIDGE_UNPROCESSABLE_TX_ALREADY_PROCESSED_ERROR_CODE", + "nameLocation": "1173:52:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "1151:82:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + }, + "typeName": { + "id": 7008, + "name": "int16", + "nodeType": "ElementaryTypeName", + "src": "1151:5:22", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "value": { + "id": 7010, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "1228:5:22", + "subExpression": { + "hexValue": "333032", + "id": 7009, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1230:3:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_302_by_1", + "typeString": "int_const 302" + }, + "value": "302" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_302_by_1", + "typeString": "int_const -302" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "c525cdd8", + "id": 7015, + "mutability": "constant", + "name": "BRIDGE_UNPROCESSABLE_TX_VALIDATIONS_ERROR", + "nameLocation": "1261:41:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "1239:71:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + }, + "typeName": { + "id": 7012, + "name": "int16", + "nodeType": "ElementaryTypeName", + "src": "1239:5:22", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "value": { + "id": 7014, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "1305:5:22", + "subExpression": { + "hexValue": "333033", + "id": 7013, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1307:3:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_303_by_1", + "typeString": "int_const 303" + }, + "value": "303" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_303_by_1", + "typeString": "int_const -303" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "cfb92f0a", + "id": 7019, + "mutability": "constant", + "name": "BRIDGE_UNPROCESSABLE_TX_VALUE_ZERO_ERROR", + "nameLocation": "1338:40:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "1316:70:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + }, + "typeName": { + "id": 7016, + "name": "int16", + "nodeType": "ElementaryTypeName", + "src": "1316:5:22", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "value": { + "id": 7018, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "1381:5:22", + "subExpression": { + "hexValue": "333034", + "id": 7017, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1383:3:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_304_by_1", + "typeString": "int_const 304" + }, + "value": "304" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_304_by_1", + "typeString": "int_const -304" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "418663a2", + "id": 7023, + "mutability": "constant", + "name": "BRIDGE_UNPROCESSABLE_TX_UTXO_AMOUNT_SENT_BELOW_MINIMUM_ERROR", + "nameLocation": "1414:60:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "1392:94:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + }, + "typeName": { + "id": 7020, + "name": "int16", + "nodeType": "ElementaryTypeName", + "src": "1392:5:22", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "value": { + "id": 7022, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "1481:5:22", + "subExpression": { + "hexValue": "333035", + "id": 7021, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1483:3:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_305_by_1", + "typeString": "int_const 305" + }, + "value": "305" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_305_by_1", + "typeString": "int_const -305" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "ae93b67b", + "id": 7027, + "mutability": "constant", + "name": "BRIDGE_GENERIC_ERROR", + "nameLocation": "1514:20:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "1492:50:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + }, + "typeName": { + "id": 7024, + "name": "int16", + "nodeType": "ElementaryTypeName", + "src": "1492:5:22", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "value": { + "id": 7026, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, + "src": "1537:5:22", + "subExpression": { + "hexValue": "393030", + "id": 7025, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1539:3:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_900_by_1", + "typeString": "int_const 900" + }, + "value": "900" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_900_by_1", + "typeString": "int_const -900" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "be6de4eb", + "id": 7030, + "mutability": "constant", + "name": "PAY_TO_ADDRESS_OUTPUT", + "nameLocation": "1569:21:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "1548:46:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7028, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1548:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 7029, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1593:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "a4a5ba50", + "id": 7033, + "mutability": "constant", + "name": "QUOTE_HASH_OUTPUT", + "nameLocation": "1621:17:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "1600:42:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7031, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1600:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 7032, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1641:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "public" + }, + { + "canonicalName": "LiquidityBridgeContractV2.Registry", + "id": 7038, + "members": [ + { + "constant": false, + "id": 7035, + "mutability": "mutable", + "name": "timestamp", + "nameLocation": "1682:9:22", + "nodeType": "VariableDeclaration", + "scope": 7038, + "src": "1675:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 7034, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1675:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7037, + "mutability": "mutable", + "name": "success", + "nameLocation": "1706:7:22", + "nodeType": "VariableDeclaration", + "scope": 7038, + "src": "1701:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7036, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1701:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "name": "Registry", + "nameLocation": "1656:8:22", + "nodeType": "StructDefinition", + "scope": 9752, + "src": "1649:71:22", + "visibility": "public" + }, + { + "canonicalName": "LiquidityBridgeContractV2.PegoutRecord", + "id": 7043, + "members": [ + { + "constant": false, + "id": 7040, + "mutability": "mutable", + "name": "depositTimestamp", + "nameLocation": "1764:16:22", + "nodeType": "VariableDeclaration", + "scope": 7043, + "src": "1756:24:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7039, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1756:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7042, + "mutability": "mutable", + "name": "completed", + "nameLocation": "1795:9:22", + "nodeType": "VariableDeclaration", + "scope": 7043, + "src": "1790:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7041, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1790:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "name": "PegoutRecord", + "nameLocation": "1733:12:22", + "nodeType": "StructDefinition", + "scope": 9752, + "src": "1726:85:22", + "visibility": "public" + }, + { + "canonicalName": "LiquidityBridgeContractV2.LiquidityProvider", + "id": 7056, + "members": [ + { + "constant": false, + "id": 7045, + "mutability": "mutable", + "name": "id", + "nameLocation": "1857:2:22", + "nodeType": "VariableDeclaration", + "scope": 7056, + "src": "1852:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7044, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1852:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7047, + "mutability": "mutable", + "name": "provider", + "nameLocation": "1877:8:22", + "nodeType": "VariableDeclaration", + "scope": 7056, + "src": "1869:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7046, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1869:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7049, + "mutability": "mutable", + "name": "name", + "nameLocation": "1902:4:22", + "nodeType": "VariableDeclaration", + "scope": 7056, + "src": "1895:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7048, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1895:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7051, + "mutability": "mutable", + "name": "apiBaseUrl", + "nameLocation": "1923:10:22", + "nodeType": "VariableDeclaration", + "scope": 7056, + "src": "1916:17:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7050, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1916:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7053, + "mutability": "mutable", + "name": "status", + "nameLocation": "1948:6:22", + "nodeType": "VariableDeclaration", + "scope": 7056, + "src": "1943:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7052, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1943:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7055, + "mutability": "mutable", + "name": "providerType", + "nameLocation": "1971:12:22", + "nodeType": "VariableDeclaration", + "scope": 7056, + "src": "1964:19:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7054, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1964:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "LiquidityProvider", + "nameLocation": "1824:17:22", + "nodeType": "StructDefinition", + "scope": 9752, + "src": "1817:173:22", + "visibility": "public" + }, + { + "anonymous": false, + "eventSelector": "a9d44d6e13bb3fee938c3f66d1103e91f8dc6b12d4405a55eea558e8f275aa6e", + "id": 7064, + "name": "Register", + "nameLocation": "2002:8:22", + "nodeType": "EventDefinition", + "parameters": { + "id": 7063, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7058, + "indexed": false, + "mutability": "mutable", + "name": "id", + "nameLocation": "2016:2:22", + "nodeType": "VariableDeclaration", + "scope": 7064, + "src": "2011:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7057, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2011:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7060, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "2036:4:22", + "nodeType": "VariableDeclaration", + "scope": 7064, + "src": "2020:20:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7059, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2020:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7062, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2050:6:22", + "nodeType": "VariableDeclaration", + "scope": 7064, + "src": "2042:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7061, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2042:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2010:47:22" + }, + "src": "1996:62:22" + }, + { + "anonymous": false, + "eventSelector": "456e0f4ea86ac283092c750200e8c877f6ad8901ae575f90e02081acd455af84", + "id": 7070, + "name": "CollateralIncrease", + "nameLocation": "2069:18:22", + "nodeType": "EventDefinition", + "parameters": { + "id": 7069, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7066, + "indexed": false, + "mutability": "mutable", + "name": "from", + "nameLocation": "2096:4:22", + "nodeType": "VariableDeclaration", + "scope": 7070, + "src": "2088:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7065, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2088:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7068, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2110:6:22", + "nodeType": "VariableDeclaration", + "scope": 7070, + "src": "2102:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7067, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2102:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2087:30:22" + }, + "src": "2063:55:22" + }, + { + "anonymous": false, + "eventSelector": "873d5a2949567203ad4f0cceef41c2813c87b9a397ee777d87a8acdaec2c6fa9", + "id": 7076, + "name": "PegoutCollateralIncrease", + "nameLocation": "2129:24:22", + "nodeType": "EventDefinition", + "parameters": { + "id": 7075, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7072, + "indexed": false, + "mutability": "mutable", + "name": "from", + "nameLocation": "2162:4:22", + "nodeType": "VariableDeclaration", + "scope": 7076, + "src": "2154:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7071, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2154:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7074, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2176:6:22", + "nodeType": "VariableDeclaration", + "scope": 7076, + "src": "2168:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7073, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2168:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2153:30:22" + }, + "src": "2123:61:22" + }, + { + "anonymous": false, + "eventSelector": "7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "id": 7082, + "name": "Withdrawal", + "nameLocation": "2195:10:22", + "nodeType": "EventDefinition", + "parameters": { + "id": 7081, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7078, + "indexed": false, + "mutability": "mutable", + "name": "from", + "nameLocation": "2214:4:22", + "nodeType": "VariableDeclaration", + "scope": 7082, + "src": "2206:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7077, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2206:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7080, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2228:6:22", + "nodeType": "VariableDeclaration", + "scope": 7082, + "src": "2220:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7079, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2220:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2205:30:22" + }, + "src": "2189:47:22" + }, + { + "anonymous": false, + "eventSelector": "a8e76b822fc682be77f3b1c822ea81f6bda5aed92ba82e6873bfd889f328d1d2", + "id": 7088, + "name": "WithdrawCollateral", + "nameLocation": "2247:18:22", + "nodeType": "EventDefinition", + "parameters": { + "id": 7087, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7084, + "indexed": false, + "mutability": "mutable", + "name": "from", + "nameLocation": "2274:4:22", + "nodeType": "VariableDeclaration", + "scope": 7088, + "src": "2266:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7083, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2266:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7086, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2288:6:22", + "nodeType": "VariableDeclaration", + "scope": 7088, + "src": "2280:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7085, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2280:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2265:30:22" + }, + "src": "2241:55:22" + }, + { + "anonymous": false, + "eventSelector": "fc72299650b405e7b0480ca8fb0fb3948fb10a77ac02f797cc9de1f4aaa55db7", + "id": 7094, + "name": "PegoutWithdrawCollateral", + "nameLocation": "2307:24:22", + "nodeType": "EventDefinition", + "parameters": { + "id": 7093, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7090, + "indexed": false, + "mutability": "mutable", + "name": "from", + "nameLocation": "2340:4:22", + "nodeType": "VariableDeclaration", + "scope": 7094, + "src": "2332:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7089, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2332:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7092, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2354:6:22", + "nodeType": "VariableDeclaration", + "scope": 7094, + "src": "2346:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7091, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2346:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2331:30:22" + }, + "src": "2301:61:22" + }, + { + "anonymous": false, + "eventSelector": "a6674aa33cd1b7435474751667707bf05fde99e537d67043ec5f907782577d86", + "id": 7098, + "name": "Resigned", + "nameLocation": "2373:8:22", + "nodeType": "EventDefinition", + "parameters": { + "id": 7097, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7096, + "indexed": false, + "mutability": "mutable", + "name": "from", + "nameLocation": "2390:4:22", + "nodeType": "VariableDeclaration", + "scope": 7098, + "src": "2382:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7095, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2382:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2381:14:22" + }, + "src": "2367:29:22" + }, + { + "anonymous": false, + "eventSelector": "bfc7404e6fe464f0646fe2c6ab942b92d56be722bb39f8c6bc4830d2d32fb80d", + "id": 7114, + "name": "CallForUser", + "nameLocation": "2407:11:22", + "nodeType": "EventDefinition", + "parameters": { + "id": 7113, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7100, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "2444:4:22", + "nodeType": "VariableDeclaration", + "scope": 7114, + "src": "2428:20:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7099, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2428:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7102, + "indexed": true, + "mutability": "mutable", + "name": "dest", + "nameLocation": "2474:4:22", + "nodeType": "VariableDeclaration", + "scope": 7114, + "src": "2458:20:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7101, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2458:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7104, + "indexed": false, + "mutability": "mutable", + "name": "gasLimit", + "nameLocation": "2493:8:22", + "nodeType": "VariableDeclaration", + "scope": 7114, + "src": "2488:13:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7103, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2488:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7106, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "2516:5:22", + "nodeType": "VariableDeclaration", + "scope": 7114, + "src": "2511:10:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7105, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2511:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7108, + "indexed": false, + "mutability": "mutable", + "name": "data", + "nameLocation": "2537:4:22", + "nodeType": "VariableDeclaration", + "scope": 7114, + "src": "2531:10:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 7107, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2531:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7110, + "indexed": false, + "mutability": "mutable", + "name": "success", + "nameLocation": "2556:7:22", + "nodeType": "VariableDeclaration", + "scope": 7114, + "src": "2551:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7109, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2551:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7112, + "indexed": false, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "2581:9:22", + "nodeType": "VariableDeclaration", + "scope": 7114, + "src": "2573:17:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7111, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2573:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2418:178:22" + }, + "src": "2401:196:22" + }, + { + "anonymous": false, + "eventSelector": "0629ae9d1dc61501b0ca90670a9a9b88daaf7504b54537b53e1219de794c63d2", + "id": 7120, + "name": "PegInRegistered", + "nameLocation": "2608:15:22", + "nodeType": "EventDefinition", + "parameters": { + "id": 7119, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7116, + "indexed": true, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "2640:9:22", + "nodeType": "VariableDeclaration", + "scope": 7120, + "src": "2624:25:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7115, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2624:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7118, + "indexed": false, + "mutability": "mutable", + "name": "transferredAmount", + "nameLocation": "2658:17:22", + "nodeType": "VariableDeclaration", + "scope": 7120, + "src": "2651:24:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 7117, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2651:6:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "2623:53:22" + }, + "src": "2602:75:22" + }, + { + "anonymous": false, + "eventSelector": "9685484093cc596fdaeab51abf645b1753dbb7d869bfd2eb21e2c646e47a36f4", + "id": 7128, + "name": "Penalized", + "nameLocation": "2688:9:22", + "nodeType": "EventDefinition", + "parameters": { + "id": 7127, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7122, + "indexed": false, + "mutability": "mutable", + "name": "liquidityProvider", + "nameLocation": "2706:17:22", + "nodeType": "VariableDeclaration", + "scope": 7128, + "src": "2698:25:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7121, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2698:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7124, + "indexed": false, + "mutability": "mutable", + "name": "penalty", + "nameLocation": "2730:7:22", + "nodeType": "VariableDeclaration", + "scope": 7128, + "src": "2725:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7123, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2725:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7126, + "indexed": false, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "2747:9:22", + "nodeType": "VariableDeclaration", + "scope": 7128, + "src": "2739:17:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7125, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2739:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2697:60:22" + }, + "src": "2682:76:22" + }, + { + "anonymous": false, + "eventSelector": "fb209329d5ab5b7bcb2e92f45f4534814b6e68fa5ad1f171dabc1d17d26f0ebe", + "id": 7134, + "name": "BridgeCapExceeded", + "nameLocation": "2769:17:22", + "nodeType": "EventDefinition", + "parameters": { + "id": 7133, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7130, + "indexed": false, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "2795:9:22", + "nodeType": "VariableDeclaration", + "scope": 7134, + "src": "2787:17:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7129, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2787:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7132, + "indexed": false, + "mutability": "mutable", + "name": "errorCode", + "nameLocation": "2813:9:22", + "nodeType": "VariableDeclaration", + "scope": 7134, + "src": "2806:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 7131, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "2806:6:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "2786:37:22" + }, + "src": "2763:61:22" + }, + { + "anonymous": false, + "eventSelector": "42cfb81a915ac5a674852db250bf722637bee705a267633b68cab3a2dde06f53", + "id": 7140, + "name": "BalanceIncrease", + "nameLocation": "2835:15:22", + "nodeType": "EventDefinition", + "parameters": { + "id": 7139, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7136, + "indexed": false, + "mutability": "mutable", + "name": "dest", + "nameLocation": "2859:4:22", + "nodeType": "VariableDeclaration", + "scope": 7140, + "src": "2851:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7135, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2851:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7138, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2870:6:22", + "nodeType": "VariableDeclaration", + "scope": 7140, + "src": "2865:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7137, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2865:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2850:27:22" + }, + "src": "2829:49:22" + }, + { + "anonymous": false, + "eventSelector": "8e51a4493a6f66c76e13fd9e3b754eafbfe21343c04508deb61be8ccc0064587", + "id": 7146, + "name": "BalanceDecrease", + "nameLocation": "2889:15:22", + "nodeType": "EventDefinition", + "parameters": { + "id": 7145, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7142, + "indexed": false, + "mutability": "mutable", + "name": "dest", + "nameLocation": "2913:4:22", + "nodeType": "VariableDeclaration", + "scope": 7146, + "src": "2905:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7141, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2905:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7144, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2924:6:22", + "nodeType": "VariableDeclaration", + "scope": 7146, + "src": "2919:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7143, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2919:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2904:27:22" + }, + "src": "2883:49:22" + }, + { + "anonymous": false, + "eventSelector": "3052ea2f7e0d74fdc1c1e1f858ff1ae3d91ab1609717c3efedb95db603b255f6", + "id": 7156, + "name": "Refund", + "nameLocation": "2943:6:22", + "nodeType": "EventDefinition", + "parameters": { + "id": 7155, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7148, + "indexed": false, + "mutability": "mutable", + "name": "dest", + "nameLocation": "2958:4:22", + "nodeType": "VariableDeclaration", + "scope": 7156, + "src": "2950:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7147, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2950:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7150, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2969:6:22", + "nodeType": "VariableDeclaration", + "scope": 7156, + "src": "2964:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7149, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2964:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7152, + "indexed": false, + "mutability": "mutable", + "name": "success", + "nameLocation": "2982:7:22", + "nodeType": "VariableDeclaration", + "scope": 7156, + "src": "2977:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7151, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2977:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7154, + "indexed": false, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "2999:9:22", + "nodeType": "VariableDeclaration", + "scope": 7156, + "src": "2991:17:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7153, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2991:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2949:60:22" + }, + "src": "2937:73:22" + }, + { + "anonymous": false, + "eventSelector": "b781856ec73fd0dc39351043d1634ea22cd3277b0866ab93e7ec1801766bb384", + "id": 7160, + "name": "PegOutRefunded", + "nameLocation": "3021:14:22", + "nodeType": "EventDefinition", + "parameters": { + "id": 7159, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7158, + "indexed": true, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "3052:9:22", + "nodeType": "VariableDeclaration", + "scope": 7160, + "src": "3036:25:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7157, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3036:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3035:27:22" + }, + "src": "3015:48:22" + }, + { + "anonymous": false, + "eventSelector": "b1bc7bfc0dab19777eb03aa0a5643378fc9f186c8fc5a36620d21136fbea570f", + "id": 7170, + "name": "PegOutDeposit", + "nameLocation": "3074:13:22", + "nodeType": "EventDefinition", + "parameters": { + "id": 7169, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7162, + "indexed": true, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "3113:9:22", + "nodeType": "VariableDeclaration", + "scope": 7170, + "src": "3097:25:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7161, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3097:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7164, + "indexed": true, + "mutability": "mutable", + "name": "sender", + "nameLocation": "3148:6:22", + "nodeType": "VariableDeclaration", + "scope": 7170, + "src": "3132:22:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7163, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3132:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7166, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3172:6:22", + "nodeType": "VariableDeclaration", + "scope": 7170, + "src": "3164:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7165, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3164:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7168, + "indexed": false, + "mutability": "mutable", + "name": "timestamp", + "nameLocation": "3196:9:22", + "nodeType": "VariableDeclaration", + "scope": 7170, + "src": "3188:17:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3188:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3087:124:22" + }, + "src": "3068:144:22" + }, + { + "anonymous": false, + "eventSelector": "9ccbeffc442024e2a6ade18ff0978af9a4c4d6562ae38adb51ccf8256cf42b41", + "id": 7178, + "name": "PegOutUserRefunded", + "nameLocation": "3223:18:22", + "nodeType": "EventDefinition", + "parameters": { + "id": 7177, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7172, + "indexed": true, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "3267:9:22", + "nodeType": "VariableDeclaration", + "scope": 7178, + "src": "3251:25:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7171, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3251:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7174, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "3294:5:22", + "nodeType": "VariableDeclaration", + "scope": 7178, + "src": "3286:13:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7173, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3286:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7176, + "indexed": false, + "mutability": "mutable", + "name": "userAddress", + "nameLocation": "3317:11:22", + "nodeType": "VariableDeclaration", + "scope": 7178, + "src": "3309:19:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7175, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3309:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3241:93:22" + }, + "src": "3217:118:22" + }, + { + "anonymous": false, + "eventSelector": "58e13ac0d5c8d27d14009841e72ac8b1858e2709c2c99af2075d9bb5f340ecfc", + "id": 7184, + "name": "DaoFeeSent", + "nameLocation": "3346:10:22", + "nodeType": "EventDefinition", + "parameters": { + "id": 7183, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7180, + "indexed": true, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "3373:9:22", + "nodeType": "VariableDeclaration", + "scope": 7184, + "src": "3357:25:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7179, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3357:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7182, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3392:6:22", + "nodeType": "VariableDeclaration", + "scope": 7184, + "src": "3384:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7181, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3384:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3356:43:22" + }, + "src": "3340:60:22" + }, + { + "constant": false, + "functionSelector": "e78cea92", + "id": 7187, + "mutability": "mutable", + "name": "bridge", + "nameLocation": "3420:6:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "3406:20:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + }, + "typeName": { + "id": 7186, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7185, + "name": "Bridge", + "nameLocations": [ + "3406:6:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3208, + "src": "3406:6:22" + }, + "referencedDeclaration": 3208, + "src": "3406:6:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 7191, + "mutability": "mutable", + "name": "balances", + "nameLocation": "3468:8:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "3432:44:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 7190, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 7188, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3440:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "3432:27:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 7189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3451:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 7195, + "mutability": "mutable", + "name": "collateral", + "nameLocation": "3518:10:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "3482:46:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 7194, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 7192, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3490:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "3482:27:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 7193, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3501:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 7199, + "mutability": "mutable", + "name": "pegoutCollateral", + "nameLocation": "3570:16:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "3534:52:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 7198, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 7196, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3542:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "3534:27:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 7197, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3553:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 7204, + "mutability": "mutable", + "name": "liquidityProviders", + "nameLocation": "3635:18:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "3592:61:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_LiquidityProvider_$7056_storage_$", + "typeString": "mapping(uint256 => struct LiquidityBridgeContractV2.LiquidityProvider)" + }, + "typeName": { + "id": 7203, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 7200, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3600:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "3592:34:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_LiquidityProvider_$7056_storage_$", + "typeString": "mapping(uint256 => struct LiquidityBridgeContractV2.LiquidityProvider)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 7202, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7201, + "name": "LiquidityProvider", + "nameLocations": [ + "3608:17:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 7056, + "src": "3608:17:22" + }, + "referencedDeclaration": 7056, + "src": "3608:17:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$7056_storage_ptr", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 7209, + "mutability": "mutable", + "name": "callRegistry", + "nameLocation": "3696:12:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "3659:49:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$7038_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContractV2.Registry)" + }, + "typeName": { + "id": 7208, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 7205, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3667:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "3659:28:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$7038_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContractV2.Registry)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 7207, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7206, + "name": "Registry", + "nameLocations": [ + "3678:8:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 7038, + "src": "3678:8:22" + }, + "referencedDeclaration": 7038, + "src": "3678:8:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Registry_$7038_storage_ptr", + "typeString": "struct LiquidityBridgeContractV2.Registry" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 7213, + "mutability": "mutable", + "name": "resignationBlockNum", + "nameLocation": "3750:19:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "3714:55:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 7212, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 7210, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3722:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "3714:27:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 7211, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3733:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 7215, + "mutability": "mutable", + "name": "minCollateral", + "nameLocation": "3792:13:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "3776:29:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7214, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3776:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 7217, + "mutability": "mutable", + "name": "minPegIn", + "nameLocation": "3827:8:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "3811:24:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7216, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3811:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 7219, + "mutability": "mutable", + "name": "rewardP", + "nameLocation": "3857:7:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "3842:22:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 7218, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "3842:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 7221, + "mutability": "mutable", + "name": "resignDelayInBlocks", + "nameLocation": "3885:19:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "3870:34:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 7220, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "3870:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 7223, + "mutability": "mutable", + "name": "dust", + "nameLocation": "3923:4:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "3910:17:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7222, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3910:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "functionSelector": "8490a8df", + "id": 7225, + "mutability": "mutable", + "name": "providerId", + "nameLocation": "3945:10:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "3933:22:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7224, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3933:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 7227, + "mutability": "mutable", + "name": "btcBlockTime", + "nameLocation": "3975:12:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "3962:25:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7226, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3962:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 7229, + "mutability": "mutable", + "name": "mainnet", + "nameLocation": "4006:7:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "3993:20:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7228, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3993:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 7233, + "mutability": "mutable", + "name": "processedQuotes", + "nameLocation": "4054:15:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "4020:49:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + }, + "typeName": { + "id": 7232, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 7230, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4028:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "4020:25:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 7231, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "4039:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 7238, + "mutability": "mutable", + "name": "registeredPegoutQuotes", + "nameLocation": "4124:22:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "4075:71:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegOutQuote_$10194_storage_$", + "typeString": "mapping(bytes32 => struct QuotesV2.PegOutQuote)" + }, + "typeName": { + "id": 7237, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 7234, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4083:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "4075:40:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegOutQuote_$10194_storage_$", + "typeString": "mapping(bytes32 => struct QuotesV2.PegOutQuote)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 7236, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7235, + "name": "QuotesV2.PegOutQuote", + "nameLocations": [ + "4094:8:22", + "4103:11:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10194, + "src": "4094:20:22" + }, + "referencedDeclaration": 10194, + "src": "4094:20:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 7243, + "mutability": "mutable", + "name": "pegoutRegistry", + "nameLocation": "4193:14:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "4152:55:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegoutRecord_$7043_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContractV2.PegoutRecord)" + }, + "typeName": { + "id": 7242, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 7239, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4160:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "4152:32:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegoutRecord_$7043_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContractV2.PegoutRecord)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 7241, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7240, + "name": "PegoutRecord", + "nameLocations": [ + "4171:12:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 7043, + "src": "4171:12:22" + }, + "referencedDeclaration": 7043, + "src": "4171:12:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegoutRecord_$7043_storage_ptr", + "typeString": "struct LiquidityBridgeContractV2.PegoutRecord" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "functionSelector": "63c67135", + "id": 7245, + "mutability": "mutable", + "name": "productFeePercentage", + "nameLocation": "4229:20:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "4214:35:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7244, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4214:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "710738b1", + "id": 7247, + "mutability": "mutable", + "name": "daoFeeCollectorAddress", + "nameLocation": "4270:22:22", + "nodeType": "VariableDeclaration", + "scope": 9752, + "src": "4255:37:22", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7246, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4255:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 7258, + "nodeType": "Block", + "src": "4325:71:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 7251, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4356:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4360:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4356:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 7250, + "name": "isRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9461, + "src": "4343:12:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 7253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4343:24:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303031", + "id": 7254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4369:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a509ede2323476f3f5be48987391c5516e4ea8116b376287322ed2188be0e53c", + "typeString": "literal_string \"LBC001\"" + }, + "value": "LBC001" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a509ede2323476f3f5be48987391c5516e4ea8116b376287322ed2188be0e53c", + "typeString": "literal_string \"LBC001\"" + } + ], + "id": 7249, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4335:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4335:43:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7256, + "nodeType": "ExpressionStatement", + "src": "4335:43:22" + }, + { + "id": 7257, + "nodeType": "PlaceholderStatement", + "src": "4388:1:22" + } + ] + }, + "id": 7259, + "name": "onlyRegistered", + "nameLocation": "4308:14:22", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 7248, + "nodeType": "ParameterList", + "parameters": [], + "src": "4322:2:22" + }, + "src": "4299:97:22", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7270, + "nodeType": "Block", + "src": "4437:80:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 7263, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4477:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4481:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4477:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 7262, + "name": "isRegisteredForPegout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9481, + "src": "4455:21:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 7265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4455:33:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303031", + "id": 7266, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4490:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a509ede2323476f3f5be48987391c5516e4ea8116b376287322ed2188be0e53c", + "typeString": "literal_string \"LBC001\"" + }, + "value": "LBC001" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a509ede2323476f3f5be48987391c5516e4ea8116b376287322ed2188be0e53c", + "typeString": "literal_string \"LBC001\"" + } + ], + "id": 7261, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4447:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4447:52:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7268, + "nodeType": "ExpressionStatement", + "src": "4447:52:22" + }, + { + "id": 7269, + "nodeType": "PlaceholderStatement", + "src": "4509:1:22" + } + ] + }, + "id": 7271, + "name": "onlyRegisteredForPegout", + "nameLocation": "4411:23:22", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 7260, + "nodeType": "ParameterList", + "parameters": [], + "src": "4434:2:22" + }, + "src": "4402:115:22", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7286, + "nodeType": "Block", + "src": "4638:119:22", + "statements": [ + { + "expression": { + "id": 7280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7278, + "name": "productFeePercentage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7245, + "src": "4648:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 7279, + "name": "_productFeePercentage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7273, + "src": "4671:21:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4648:44:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7281, + "nodeType": "ExpressionStatement", + "src": "4648:44:22" + }, + { + "expression": { + "id": 7284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7282, + "name": "daoFeeCollectorAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7247, + "src": "4702:22:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 7283, + "name": "_daoFeeCollectorAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7275, + "src": "4727:23:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4702:48:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 7285, + "nodeType": "ExpressionStatement", + "src": "4702:48:22" + } + ] + }, + "functionSelector": "2490fe36", + "id": 7287, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "initializeV2", + "nameLocation": "4532:12:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7276, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7273, + "mutability": "mutable", + "name": "_productFeePercentage", + "nameLocation": "4562:21:22", + "nodeType": "VariableDeclaration", + "scope": 7287, + "src": "4554:29:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7272, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4554:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7275, + "mutability": "mutable", + "name": "_daoFeeCollectorAddress", + "nameLocation": "4601:23:22", + "nodeType": "VariableDeclaration", + "scope": 7287, + "src": "4593:31:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7274, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4593:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4544:86:22" + }, + "returnParameters": { + "id": 7277, + "nodeType": "ParameterList", + "parameters": [], + "src": "4638:0:22" + }, + "scope": 9752, + "src": "4523:234:22", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7309, + "nodeType": "Block", + "src": "4811:172:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 7304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 7296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7292, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4842:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4846:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4842:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7294, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "4856:5:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 7295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4856:7:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4842:21:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 7303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7297, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4879:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4883:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4879:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "baseExpression": { + "id": 7299, + "name": "liquidityProviders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7204, + "src": "4893:18:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_LiquidityProvider_$7056_storage_$", + "typeString": "mapping(uint256 => struct LiquidityBridgeContractV2.LiquidityProvider storage ref)" + } + }, + "id": 7301, + "indexExpression": { + "id": 7300, + "name": "_providerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7289, + "src": "4912:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4893:31:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$7056_storage", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider storage ref" + } + }, + "id": 7302, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4925:8:22", + "memberName": "provider", + "nodeType": "MemberAccess", + "referencedDeclaration": 7047, + "src": "4893:40:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4879:54:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4842:91:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303035", + "id": 7305, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4947:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0a36b25bf1b768acf545d4a7d22e9fceeba3414a7a19dc34973fc2e1be01a831", + "typeString": "literal_string \"LBC005\"" + }, + "value": "LBC005" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0a36b25bf1b768acf545d4a7d22e9fceeba3414a7a19dc34973fc2e1be01a831", + "typeString": "literal_string \"LBC005\"" + } + ], + "id": 7291, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4821:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4821:144:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7307, + "nodeType": "ExpressionStatement", + "src": "4821:144:22" + }, + { + "id": 7308, + "nodeType": "PlaceholderStatement", + "src": "4975:1:22" + } + ] + }, + "id": 7310, + "name": "onlyOwnerAndProvider", + "nameLocation": "4772:20:22", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 7290, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7289, + "mutability": "mutable", + "name": "_providerId", + "nameLocation": "4798:11:22", + "nodeType": "VariableDeclaration", + "scope": 7310, + "src": "4793:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7288, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4793:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4792:18:22" + }, + "src": "4763:220:22", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7327, + "nodeType": "Block", + "src": "5112:64:22", + "statements": [ + { + "expression": { + "id": 7325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 7320, + "name": "liquidityProviders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7204, + "src": "5122:18:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_LiquidityProvider_$7056_storage_$", + "typeString": "mapping(uint256 => struct LiquidityBridgeContractV2.LiquidityProvider storage ref)" + } + }, + "id": 7322, + "indexExpression": { + "id": 7321, + "name": "_providerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7312, + "src": "5141:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5122:31:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$7056_storage", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider storage ref" + } + }, + "id": 7323, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "5154:6:22", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 7053, + "src": "5122:38:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 7324, + "name": "status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7314, + "src": "5163:6:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5122:47:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7326, + "nodeType": "ExpressionStatement", + "src": "5122:47:22" + } + ] + }, + "functionSelector": "72cbf4e8", + "id": 7328, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 7317, + "name": "_providerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7312, + "src": "5099:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7318, + "kind": "modifierInvocation", + "modifierName": { + "id": 7316, + "name": "onlyOwnerAndProvider", + "nameLocations": [ + "5078:20:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 7310, + "src": "5078:20:22" + }, + "nodeType": "ModifierInvocation", + "src": "5078:33:22" + } + ], + "name": "setProviderStatus", + "nameLocation": "4998:17:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7315, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7312, + "mutability": "mutable", + "name": "_providerId", + "nameLocation": "5030:11:22", + "nodeType": "VariableDeclaration", + "scope": 7328, + "src": "5025:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7311, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5025:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7314, + "mutability": "mutable", + "name": "status", + "nameLocation": "5056:6:22", + "nodeType": "VariableDeclaration", + "scope": 7328, + "src": "5051:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7313, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5051:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5015:53:22" + }, + "returnParameters": { + "id": 7319, + "nodeType": "ParameterList", + "parameters": [], + "src": "5112:0:22" + }, + "scope": 9752, + "src": "4989:187:22", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 7342, + "nodeType": "Block", + "src": "5209:65:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 7338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7332, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "5227:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5231:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5227:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 7336, + "name": "bridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7187, + "src": "5249:6:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + ], + "id": 7335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5241:7:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 7334, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5241:7:22", + "typeDescriptions": {} + } + }, + "id": 7337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5241:15:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5227:29:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303037", + "id": 7339, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5258:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a23daf30bd1e42cc69e3bea751166702f08d640860ab6f4c84d6bacb970360da", + "typeString": "literal_string \"LBC007\"" + }, + "value": "LBC007" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a23daf30bd1e42cc69e3bea751166702f08d640860ab6f4c84d6bacb970360da", + "typeString": "literal_string \"LBC007\"" + } + ], + "id": 7331, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "5219:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5219:48:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7341, + "nodeType": "ExpressionStatement", + "src": "5219:48:22" + } + ] + }, + "id": 7343, + "implemented": true, + "kind": "receive", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7329, + "nodeType": "ParameterList", + "parameters": [], + "src": "5189:2:22" + }, + "returnParameters": { + "id": 7330, + "nodeType": "ParameterList", + "parameters": [], + "src": "5209:0:22" + }, + "scope": 9752, + "src": "5182:92:22", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 7350, + "nodeType": "Block", + "src": "5335:34:22", + "statements": [ + { + "expression": { + "id": 7348, + "name": "providerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7225, + "src": "5352:10:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7347, + "id": 7349, + "nodeType": "Return", + "src": "5345:17:22" + } + ] + }, + "functionSelector": "0a9cb4a7", + "id": 7351, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getProviderIds", + "nameLocation": "5289:14:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7344, + "nodeType": "ParameterList", + "parameters": [], + "src": "5303:2:22" + }, + "returnParameters": { + "id": 7347, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7346, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7351, + "src": "5329:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7345, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5329:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5328:6:22" + }, + "scope": 9752, + "src": "5280:89:22", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 7361, + "nodeType": "Block", + "src": "5435:39:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 7358, + "name": "bridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7187, + "src": "5460:6:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + ], + "id": 7357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5452:7:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 7356, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5452:7:22", + "typeDescriptions": {} + } + }, + "id": 7359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5452:15:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 7355, + "id": 7360, + "nodeType": "Return", + "src": "5445:22:22" + } + ] + }, + "functionSelector": "fb32c508", + "id": 7362, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBridgeAddress", + "nameLocation": "5384:16:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7352, + "nodeType": "ParameterList", + "parameters": [], + "src": "5400:2:22" + }, + "returnParameters": { + "id": 7355, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7354, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7362, + "src": "5426:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7353, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5426:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5425:9:22" + }, + "scope": 9752, + "src": "5375:99:22", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 7369, + "nodeType": "Block", + "src": "5535:37:22", + "statements": [ + { + "expression": { + "id": 7367, + "name": "minCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7215, + "src": "5552:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7366, + "id": 7368, + "nodeType": "Return", + "src": "5545:20:22" + } + ] + }, + "functionSelector": "e830b690", + "id": 7370, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getMinCollateral", + "nameLocation": "5489:16:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7363, + "nodeType": "ParameterList", + "parameters": [], + "src": "5505:2:22" + }, + "returnParameters": { + "id": 7366, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7365, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7370, + "src": "5529:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7364, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5529:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5528:6:22" + }, + "scope": 9752, + "src": "5480:92:22", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7377, + "nodeType": "Block", + "src": "5630:32:22", + "statements": [ + { + "expression": { + "id": 7375, + "name": "minPegIn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7217, + "src": "5647:8:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7374, + "id": 7376, + "nodeType": "Return", + "src": "5640:15:22" + } + ] + }, + "functionSelector": "fa88dcde", + "id": 7378, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getMinPegIn", + "nameLocation": "5587:11:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7371, + "nodeType": "ParameterList", + "parameters": [], + "src": "5598:2:22" + }, + "returnParameters": { + "id": 7374, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7373, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7378, + "src": "5624:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7372, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5624:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5623:6:22" + }, + "scope": 9752, + "src": "5578:84:22", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 7385, + "nodeType": "Block", + "src": "5728:31:22", + "statements": [ + { + "expression": { + "id": 7383, + "name": "rewardP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7219, + "src": "5745:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "functionReturnParameters": 7382, + "id": 7384, + "nodeType": "Return", + "src": "5738:14:22" + } + ] + }, + "functionSelector": "c7213163", + "id": 7386, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getRewardPercentage", + "nameLocation": "5677:19:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7379, + "nodeType": "ParameterList", + "parameters": [], + "src": "5696:2:22" + }, + "returnParameters": { + "id": 7382, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7381, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7386, + "src": "5722:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7380, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5722:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5721:6:22" + }, + "scope": 9752, + "src": "5668:91:22", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 7393, + "nodeType": "Block", + "src": "5826:43:22", + "statements": [ + { + "expression": { + "id": 7391, + "name": "resignDelayInBlocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7221, + "src": "5843:19:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "functionReturnParameters": 7390, + "id": 7392, + "nodeType": "Return", + "src": "5836:26:22" + } + ] + }, + "functionSelector": "bd5798c3", + "id": 7394, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getResignDelayBlocks", + "nameLocation": "5774:20:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7387, + "nodeType": "ParameterList", + "parameters": [], + "src": "5794:2:22" + }, + "returnParameters": { + "id": 7390, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7389, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7394, + "src": "5820:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7388, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5820:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5819:6:22" + }, + "scope": 9752, + "src": "5765:104:22", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 7401, + "nodeType": "Block", + "src": "5932:28:22", + "statements": [ + { + "expression": { + "id": 7399, + "name": "dust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7223, + "src": "5949:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7398, + "id": 7400, + "nodeType": "Return", + "src": "5942:11:22" + } + ] + }, + "functionSelector": "33f07ad3", + "id": 7402, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getDustThreshold", + "nameLocation": "5884:16:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7395, + "nodeType": "ParameterList", + "parameters": [], + "src": "5900:2:22" + }, + "returnParameters": { + "id": 7398, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7397, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7402, + "src": "5926:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7396, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5926:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5925:6:22" + }, + "scope": 9752, + "src": "5875:85:22", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 7414, + "nodeType": "Block", + "src": "6085:57:22", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 7410, + "name": "registeredPegoutQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7238, + "src": "6102:22:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegOutQuote_$10194_storage_$", + "typeString": "mapping(bytes32 => struct QuotesV2.PegOutQuote storage ref)" + } + }, + "id": 7412, + "indexExpression": { + "id": 7411, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7404, + "src": "6125:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6102:33:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage", + "typeString": "struct QuotesV2.PegOutQuote storage ref" + } + }, + "functionReturnParameters": 7409, + "id": 7413, + "nodeType": "Return", + "src": "6095:40:22" + } + ] + }, + "functionSelector": "e90d2ddb", + "id": 7415, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getRegisteredPegOutQuote", + "nameLocation": "5975:24:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7404, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "6017:9:22", + "nodeType": "VariableDeclaration", + "scope": 7415, + "src": "6009:17:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7403, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6009:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5999:33:22" + }, + "returnParameters": { + "id": 7409, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7408, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7415, + "src": "6056:27:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + }, + "typeName": { + "id": 7407, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7406, + "name": "QuotesV2.PegOutQuote", + "nameLocations": [ + "6056:8:22", + "6065:11:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10194, + "src": "6056:20:22" + }, + "referencedDeclaration": 10194, + "src": "6056:20:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + } + }, + "visibility": "internal" + } + ], + "src": "6055:29:22" + }, + "scope": 9752, + "src": "5966:176:22", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 7427, + "nodeType": "Block", + "src": "6228:59:22", + "statements": [ + { + "expression": { + "expression": { + "baseExpression": { + "id": 7422, + "name": "pegoutRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7243, + "src": "6245:14:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegoutRecord_$7043_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContractV2.PegoutRecord storage ref)" + } + }, + "id": 7424, + "indexExpression": { + "id": 7423, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7417, + "src": "6260:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6245:25:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegoutRecord_$7043_storage", + "typeString": "struct LiquidityBridgeContractV2.PegoutRecord storage ref" + } + }, + "id": 7425, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6271:9:22", + "memberName": "completed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7042, + "src": "6245:35:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 7421, + "id": 7426, + "nodeType": "Return", + "src": "6238:42:22" + } + ] + }, + "functionSelector": "54015ee0", + "id": 7428, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isPegOutQuoteCompleted", + "nameLocation": "6157:22:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7418, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7417, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "6188:9:22", + "nodeType": "VariableDeclaration", + "scope": 7428, + "src": "6180:17:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7416, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6180:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6179:19:22" + }, + "returnParameters": { + "id": 7421, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7420, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7428, + "src": "6222:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7419, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6222:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6221:6:22" + }, + "scope": 9752, + "src": "6148:139:22", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 7446, + "nodeType": "Block", + "src": "6546:79:22", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 7444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 7437, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7431, + "src": "6576:4:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 7436, + "name": "isRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9461, + "src": "6563:12:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 7438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6563:18:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 7439, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7195, + "src": "6585:10:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7441, + "indexExpression": { + "id": 7440, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7431, + "src": "6596:4:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6585:16:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 7442, + "name": "minCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7215, + "src": "6605:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6585:33:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6563:55:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 7435, + "id": 7445, + "nodeType": "Return", + "src": "6556:62:22" + } + ] + }, + "documentation": { + "id": 7429, + "nodeType": "StructuredDocumentation", + "src": "6293:182:22", + "text": "@dev Checks whether a liquidity provider can deliver a pegin service\n@return Whether the liquidity provider is registered and has enough locked collateral" + }, + "functionSelector": "457385f2", + "id": 7447, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isOperational", + "nameLocation": "6489:13:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7432, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7431, + "mutability": "mutable", + "name": "addr", + "nameLocation": "6511:4:22", + "nodeType": "VariableDeclaration", + "scope": 7447, + "src": "6503:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7430, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6503:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6502:14:22" + }, + "returnParameters": { + "id": 7435, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7434, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7447, + "src": "6540:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7433, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6540:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6539:6:22" + }, + "scope": 9752, + "src": "6480:145:22", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 7465, + "nodeType": "Block", + "src": "6894:118:22", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 7463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 7456, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7450, + "src": "6945:4:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 7455, + "name": "isRegisteredForPegout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9481, + "src": "6923:21:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 7457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6923:27:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 7458, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7199, + "src": "6966:16:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7460, + "indexExpression": { + "id": 7459, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7450, + "src": "6983:4:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6966:22:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 7461, + "name": "minCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7215, + "src": "6992:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6966:39:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6923:82:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 7454, + "id": 7464, + "nodeType": "Return", + "src": "6904:101:22" + } + ] + }, + "documentation": { + "id": 7448, + "nodeType": "StructuredDocumentation", + "src": "6631:183:22", + "text": "@dev Checks whether a liquidity provider can deliver a pegout service\n@return Whether the liquidity provider is registered and has enough locked collateral" + }, + "functionSelector": "4d0ec971", + "id": 7466, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isOperationalForPegout", + "nameLocation": "6828:22:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7451, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7450, + "mutability": "mutable", + "name": "addr", + "nameLocation": "6859:4:22", + "nodeType": "VariableDeclaration", + "scope": 7466, + "src": "6851:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7449, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6851:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6850:14:22" + }, + "returnParameters": { + "id": 7454, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7453, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7466, + "src": "6888:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7452, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6888:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6887:6:22" + }, + "scope": 9752, + "src": "6819:193:22", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 7715, + "nodeType": "Block", + "src": "7300:1992:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 7485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7481, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967270, + "src": "7318:2:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 7482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7321:6:22", + "memberName": "origin", + "nodeType": "MemberAccess", + "src": "7318:9:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 7483, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "7331:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7335:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7331:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7318:23:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303033", + "id": 7486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7343:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7e21a7b13292bf184f2fc166cca229506aa89a730258f15cdce6a2f8dc225415", + "typeString": "literal_string \"LBC003\"" + }, + "value": "LBC003" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_7e21a7b13292bf184f2fc166cca229506aa89a730258f15cdce6a2f8dc225415", + "typeString": "literal_string \"LBC003\"" + } + ], + "id": 7480, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "7310:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7310:42:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7488, + "nodeType": "ExpressionStatement", + "src": "7310:42:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 7492, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7469, + "src": "7446:5:22", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 7491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7440:5:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 7490, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7440:5:22", + "typeDescriptions": {} + } + }, + "id": 7493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7440:12:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 7494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7453:6:22", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7440:19:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 7495, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7462:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7440:23:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303130", + "id": 7497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7465:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b91014d5c812b217b1f7abf06d04044851a14f3d4efa9b6795d3964c23897cc9", + "typeString": "literal_string \"LBC010\"" + }, + "value": "LBC010" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b91014d5c812b217b1f7abf06d04044851a14f3d4efa9b6795d3964c23897cc9", + "typeString": "literal_string \"LBC010\"" + } + ], + "id": 7489, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "7432:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7432:42:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7499, + "nodeType": "ExpressionStatement", + "src": "7432:42:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 7503, + "name": "_apiBaseUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7471, + "src": "7511:11:22", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 7502, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7505:5:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 7501, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7505:5:22", + "typeDescriptions": {} + } + }, + "id": 7504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7505:18:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 7505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7524:6:22", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7505:25:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 7506, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7533:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7505:29:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303137", + "id": 7508, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7548:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_849663c0a27b21987cfc03f3233af0a7a46b23f0af09d39a18720d9610bcba81", + "typeString": "literal_string \"LBC017\"" + }, + "value": "LBC017" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_849663c0a27b21987cfc03f3233af0a7a46b23f0af09d39a18720d9610bcba81", + "typeString": "literal_string \"LBC017\"" + } + ], + "id": 7500, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "7484:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7484:82:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7510, + "nodeType": "ExpressionStatement", + "src": "7484:82:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 7552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 7538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 7524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 7515, + "name": "_providerType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7475, + "src": "7687:13:22", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 7513, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "7670:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7514, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7674:12:22", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "7670:16:22", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7670:31:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7512, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "7660:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7660:42:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "706567696e", + "id": 7521, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7745:7:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4dc7b383aaca8b1076677685b160d1864e4801cbbaf42c8044d4665ea1c41120", + "typeString": "literal_string \"pegin\"" + }, + "value": "pegin" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4dc7b383aaca8b1076677685b160d1864e4801cbbaf42c8044d4665ea1c41120", + "typeString": "literal_string \"pegin\"" + } + ], + "expression": { + "id": 7519, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "7728:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7732:12:22", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "7728:16:22", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7522, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7728:25:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7518, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "7718:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7523, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7718:36:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7660:94:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 7537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 7528, + "name": "_providerType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7475, + "src": "7797:13:22", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 7526, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "7780:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7784:12:22", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "7780:16:22", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7780:31:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7525, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "7770:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7770:42:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "7065676f7574", + "id": 7534, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7855:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ac320a165668abf6cbe2f0b8e46bf2426fe38861df98fc1861161bf05a853587", + "typeString": "literal_string \"pegout\"" + }, + "value": "pegout" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ac320a165668abf6cbe2f0b8e46bf2426fe38861df98fc1861161bf05a853587", + "typeString": "literal_string \"pegout\"" + } + ], + "expression": { + "id": 7532, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "7838:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7533, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7842:12:22", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "7838:16:22", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7838:26:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7531, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "7828:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7828:37:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7770:95:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7660:205:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 7551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 7542, + "name": "_providerType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7475, + "src": "7908:13:22", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 7540, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "7891:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7541, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7895:12:22", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "7891:16:22", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7891:31:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7539, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "7881:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7881:42:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "626f7468", + "id": 7548, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7966:6:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_36ad643d447cde9387780ae6f5b371120b595aaff5d56b8440952d5f7116fa16", + "typeString": "literal_string \"both\"" + }, + "value": "both" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_36ad643d447cde9387780ae6f5b371120b595aaff5d56b8440952d5f7116fa16", + "typeString": "literal_string \"both\"" + } + ], + "expression": { + "id": 7546, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "7949:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7547, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "7953:12:22", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "7949:16:22", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7949:24:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7545, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "7939:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7550, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7939:35:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7881:93:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7660:314:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303138", + "id": 7553, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7988:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c8a2f96b1c149a2cda2dda6db9bbdafbecddac69bce104e31ad4dd14842e4820", + "typeString": "literal_string \"LBC018\"" + }, + "value": "LBC018" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c8a2f96b1c149a2cda2dda6db9bbdafbecddac69bce104e31ad4dd14842e4820", + "typeString": "literal_string \"LBC018\"" + } + ], + "id": 7511, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "7639:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7639:367:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7555, + "nodeType": "ExpressionStatement", + "src": "7639:367:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 7569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 7557, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7195, + "src": "8025:10:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7560, + "indexExpression": { + "expression": { + "id": 7558, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8036:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8040:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8036:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8025:22:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 7561, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8051:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8025:27:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 7563, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7199, + "src": "8056:16:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7566, + "indexExpression": { + "expression": { + "id": 7564, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8073:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8077:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8073:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8056:28:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 7567, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8088:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8056:33:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8025:64:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303730", + "id": 7570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8091:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a80fe4c2764b7c4b52829ebb2b1bb3117b2b8ffa6a6401dbe00248ec851a73a8", + "typeString": "literal_string \"LBC070\"" + }, + "value": "LBC070" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a80fe4c2764b7c4b52829ebb2b1bb3117b2b8ffa6a6401dbe00248ec851a73a8", + "typeString": "literal_string \"LBC070\"" + } + ], + "id": 7556, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "8017:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8017:83:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7572, + "nodeType": "ExpressionStatement", + "src": "8017:83:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 7574, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7213, + "src": "8131:19:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7577, + "indexExpression": { + "expression": { + "id": 7575, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8151:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8155:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8151:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8131:31:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 7578, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8166:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8131:36:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303039", + "id": 7580, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8181:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f838e22b544c153329abcc9856d1b1f7e7f6c83118dc13d7a0606e65edb3cdd8", + "typeString": "literal_string \"LBC009\"" + }, + "value": "LBC009" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f838e22b544c153329abcc9856d1b1f7e7f6c83118dc13d7a0606e65edb3cdd8", + "typeString": "literal_string \"LBC009\"" + } + ], + "id": 7573, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "8110:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8110:89:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7582, + "nodeType": "ExpressionStatement", + "src": "8110:89:22" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 7595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 7586, + "name": "_providerType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7475, + "src": "8241:13:22", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 7584, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "8224:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7585, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8228:12:22", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "8224:16:22", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8224:31:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7583, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "8214:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8214:42:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "706567696e", + "id": 7592, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8287:7:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4dc7b383aaca8b1076677685b160d1864e4801cbbaf42c8044d4665ea1c41120", + "typeString": "literal_string \"pegin\"" + }, + "value": "pegin" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4dc7b383aaca8b1076677685b160d1864e4801cbbaf42c8044d4665ea1c41120", + "typeString": "literal_string \"pegin\"" + } + ], + "expression": { + "id": 7590, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "8270:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7591, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8274:12:22", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "8270:16:22", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7593, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8270:25:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7589, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "8260:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7594, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8260:36:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "8214:82:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 7625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 7616, + "name": "_providerType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7475, + "src": "8453:13:22", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 7614, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "8436:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7615, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8440:12:22", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "8436:16:22", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8436:31:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7613, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "8426:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8426:42:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "7065676f7574", + "id": 7622, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8499:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ac320a165668abf6cbe2f0b8e46bf2426fe38861df98fc1861161bf05a853587", + "typeString": "literal_string \"pegout\"" + }, + "value": "pegout" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ac320a165668abf6cbe2f0b8e46bf2426fe38861df98fc1861161bf05a853587", + "typeString": "literal_string \"pegout\"" + } + ], + "expression": { + "id": 7620, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "8482:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7621, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8486:12:22", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "8482:16:22", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7623, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8482:26:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7619, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "8472:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8472:37:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "8426:83:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 7684, + "nodeType": "Block", + "src": "8641:269:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7644, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8663:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8667:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "8663:9:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7646, + "name": "minCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7215, + "src": "8676:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "32", + "id": 7647, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8692:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "8676:17:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8663:30:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303038", + "id": 7650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8695:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_26efcc4d852e81be6f75389e4f50496331355ea059764b90ab1412936d29ab69", + "typeString": "literal_string \"LBC008\"" + }, + "value": "LBC008" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_26efcc4d852e81be6f75389e4f50496331355ea059764b90ab1412936d29ab69", + "typeString": "literal_string \"LBC008\"" + } + ], + "id": 7643, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "8655:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8655:49:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7652, + "nodeType": "ExpressionStatement", + "src": "8655:49:22" + }, + { + "assignments": [ + 7654 + ], + "declarations": [ + { + "constant": false, + "id": 7654, + "mutability": "mutable", + "name": "halfMsgValue", + "nameLocation": "8723:12:22", + "nodeType": "VariableDeclaration", + "scope": 7684, + "src": "8718:17:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7653, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8718:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7659, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7655, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8738:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8742:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "8738:9:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "hexValue": "32", + "id": 7657, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8750:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "8738:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8718:33:22" + }, + { + "expression": { + "id": 7675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 7660, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7195, + "src": "8765:10:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7663, + "indexExpression": { + "expression": { + "id": 7661, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8776:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8780:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8776:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8765:22:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7664, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8790:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8794:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "8790:9:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "32", + "id": 7666, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8802:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "8790:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 7668, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8807:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8790:18:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7671, + "name": "halfMsgValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7654, + "src": "8826:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 7672, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8841:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "8826:16:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "8790:52:22", + "trueExpression": { + "id": 7670, + "name": "halfMsgValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7654, + "src": "8811:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8765:77:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7676, + "nodeType": "ExpressionStatement", + "src": "8765:77:22" + }, + { + "expression": { + "id": 7682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 7677, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7199, + "src": "8856:16:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7680, + "indexExpression": { + "expression": { + "id": 7678, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8873:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8877:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8873:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8856:28:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 7681, + "name": "halfMsgValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7654, + "src": "8887:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8856:43:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7683, + "nodeType": "ExpressionStatement", + "src": "8856:43:22" + } + ] + }, + "id": 7685, + "nodeType": "IfStatement", + "src": "8422:488:22", + "trueBody": { + "id": 7642, + "nodeType": "Block", + "src": "8511:124:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7627, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8533:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8537:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "8533:9:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 7629, + "name": "minCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7215, + "src": "8546:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8533:26:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303038", + "id": 7631, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8561:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_26efcc4d852e81be6f75389e4f50496331355ea059764b90ab1412936d29ab69", + "typeString": "literal_string \"LBC008\"" + }, + "value": "LBC008" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_26efcc4d852e81be6f75389e4f50496331355ea059764b90ab1412936d29ab69", + "typeString": "literal_string \"LBC008\"" + } + ], + "id": 7626, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "8525:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8525:45:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7633, + "nodeType": "ExpressionStatement", + "src": "8525:45:22" + }, + { + "expression": { + "id": 7640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 7634, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7199, + "src": "8584:16:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7637, + "indexExpression": { + "expression": { + "id": 7635, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8601:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8605:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8601:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8584:28:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 7638, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8615:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8619:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "8615:9:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8584:40:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7641, + "nodeType": "ExpressionStatement", + "src": "8584:40:22" + } + ] + } + }, + "id": 7686, + "nodeType": "IfStatement", + "src": "8210:700:22", + "trueBody": { + "id": 7612, + "nodeType": "Block", + "src": "8298:118:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7597, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8320:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8324:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "8320:9:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 7599, + "name": "minCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7215, + "src": "8333:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8320:26:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303038", + "id": 7601, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8348:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_26efcc4d852e81be6f75389e4f50496331355ea059764b90ab1412936d29ab69", + "typeString": "literal_string \"LBC008\"" + }, + "value": "LBC008" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_26efcc4d852e81be6f75389e4f50496331355ea059764b90ab1412936d29ab69", + "typeString": "literal_string \"LBC008\"" + } + ], + "id": 7596, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "8312:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8312:45:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7603, + "nodeType": "ExpressionStatement", + "src": "8312:45:22" + }, + { + "expression": { + "id": 7610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 7604, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7195, + "src": "8371:10:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7607, + "indexExpression": { + "expression": { + "id": 7605, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8382:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8386:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8382:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8371:22:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 7608, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8396:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8400:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "8396:9:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8371:34:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7611, + "nodeType": "ExpressionStatement", + "src": "8371:34:22" + } + ] + } + }, + { + "expression": { + "id": 7688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "8920:12:22", + "subExpression": { + "id": 7687, + "name": "providerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7225, + "src": "8920:10:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7689, + "nodeType": "ExpressionStatement", + "src": "8920:12:22" + }, + { + "expression": { + "id": 7702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 7690, + "name": "liquidityProviders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7204, + "src": "8942:18:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_LiquidityProvider_$7056_storage_$", + "typeString": "mapping(uint256 => struct LiquidityBridgeContractV2.LiquidityProvider storage ref)" + } + }, + "id": 7692, + "indexExpression": { + "id": 7691, + "name": "providerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7225, + "src": "8961:10:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8942:30:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$7056_storage", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 7694, + "name": "providerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7225, + "src": "9011:10:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 7695, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "9045:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9049:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "9045:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7697, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7469, + "src": "9075:5:22", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7698, + "name": "_apiBaseUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7471, + "src": "9106:11:22", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7699, + "name": "_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7473, + "src": "9139:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7700, + "name": "_providerType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7475, + "src": "9174:13:22", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 7693, + "name": "LiquidityProvider", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7056, + "src": "8975:17:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_LiquidityProvider_$7056_storage_ptr_$", + "typeString": "type(struct LiquidityBridgeContractV2.LiquidityProvider storage pointer)" + } + }, + "id": 7701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "9007:2:22", + "9035:8:22", + "9069:4:22", + "9094:10:22", + "9131:6:22", + "9160:12:22" + ], + "names": [ + "id", + "provider", + "name", + "apiBaseUrl", + "status", + "providerType" + ], + "nodeType": "FunctionCall", + "src": "8975:223:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$7056_memory_ptr", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider memory" + } + }, + "src": "8942:256:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$7056_storage", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider storage ref" + } + }, + "id": 7703, + "nodeType": "ExpressionStatement", + "src": "8942:256:22" + }, + { + "eventCall": { + "arguments": [ + { + "id": 7705, + "name": "providerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7225, + "src": "9222:10:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 7706, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "9234:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9238:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "9234:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 7708, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "9246:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9250:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "9246:9:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7704, + "name": "Register", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7064, + "src": "9213:8:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (uint256,address,uint256)" + } + }, + "id": 7710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9213:43:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7711, + "nodeType": "EmitStatement", + "src": "9208:48:22" + }, + { + "expression": { + "components": [ + { + "id": 7712, + "name": "providerId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7225, + "src": "9274:10:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7713, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9273:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7479, + "id": 7714, + "nodeType": "Return", + "src": "9266:19:22" + } + ] + }, + "documentation": { + "id": 7467, + "nodeType": "StructuredDocumentation", + "src": "7018:98:22", + "text": "@dev Registers msg.sender as a liquidity provider with msg.value as collateral" + }, + "functionSelector": "41705518", + "id": 7716, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "register", + "nameLocation": "7130:8:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7476, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7469, + "mutability": "mutable", + "name": "_name", + "nameLocation": "7162:5:22", + "nodeType": "VariableDeclaration", + "scope": 7716, + "src": "7148:19:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7468, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7148:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7471, + "mutability": "mutable", + "name": "_apiBaseUrl", + "nameLocation": "7191:11:22", + "nodeType": "VariableDeclaration", + "scope": 7716, + "src": "7177:25:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7470, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7177:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7473, + "mutability": "mutable", + "name": "_status", + "nameLocation": "7217:7:22", + "nodeType": "VariableDeclaration", + "scope": 7716, + "src": "7212:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7472, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7212:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7475, + "mutability": "mutable", + "name": "_providerType", + "nameLocation": "7248:13:22", + "nodeType": "VariableDeclaration", + "scope": 7716, + "src": "7234:27:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7474, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7234:6:22", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7138:129:22" + }, + "returnParameters": { + "id": 7479, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7478, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7716, + "src": "7294:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7477, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7294:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7293:6:22" + }, + "scope": 9752, + "src": "7121:2171:22", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 7796, + "nodeType": "Block", + "src": "9412:622:22", + "statements": [ + { + "assignments": [ + 7730 + ], + "declarations": [ + { + "constant": false, + "id": 7730, + "mutability": "mutable", + "name": "providersToReturn", + "nameLocation": "9449:17:22", + "nodeType": "VariableDeclaration", + "scope": 7796, + "src": "9422:44:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_LiquidityProvider_$7056_memory_ptr_$dyn_memory_ptr", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider[]" + }, + "typeName": { + "baseType": { + "id": 7728, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7727, + "name": "LiquidityProvider", + "nameLocations": [ + "9422:17:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 7056, + "src": "9422:17:22" + }, + "referencedDeclaration": 7056, + "src": "9422:17:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$7056_storage_ptr", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider" + } + }, + "id": 7729, + "nodeType": "ArrayTypeName", + "src": "9422:19:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_LiquidityProvider_$7056_storage_$dyn_storage_ptr", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider[]" + } + }, + "visibility": "internal" + } + ], + "id": 7738, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 7735, + "name": "providerIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7719, + "src": "9506:11:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 7736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9518:6:22", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9506:18:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7734, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "9469:23:22", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_LiquidityProvider_$7056_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (struct LiquidityBridgeContractV2.LiquidityProvider memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 7732, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7731, + "name": "LiquidityProvider", + "nameLocations": [ + "9473:17:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 7056, + "src": "9473:17:22" + }, + "referencedDeclaration": 7056, + "src": "9473:17:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$7056_storage_ptr", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider" + } + }, + "id": 7733, + "nodeType": "ArrayTypeName", + "src": "9473:19:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_LiquidityProvider_$7056_storage_$dyn_storage_ptr", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider[]" + } + } + }, + "id": 7737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9469:65:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_LiquidityProvider_$7056_memory_ptr_$dyn_memory_ptr", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9422:112:22" + }, + { + "assignments": [ + 7740 + ], + "declarations": [ + { + "constant": false, + "id": 7740, + "mutability": "mutable", + "name": "count", + "nameLocation": "9549:5:22", + "nodeType": "VariableDeclaration", + "scope": 7796, + "src": "9544:10:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7739, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9544:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7742, + "initialValue": { + "hexValue": "30", + "id": 7741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9557:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "9544:14:22" + }, + { + "body": { + "id": 7792, + "nodeType": "Block", + "src": "9615:379:22", + "statements": [ + { + "assignments": [ + 7755 + ], + "declarations": [ + { + "constant": false, + "id": 7755, + "mutability": "mutable", + "name": "id", + "nameLocation": "9634:2:22", + "nodeType": "VariableDeclaration", + "scope": 7792, + "src": "9629:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7754, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9629:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7759, + "initialValue": { + "baseExpression": { + "id": 7756, + "name": "providerIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7719, + "src": "9639:11:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 7758, + "indexExpression": { + "id": 7757, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7744, + "src": "9651:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9639:14:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9629:24:22" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 7778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 7772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 7761, + "name": "liquidityProviders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7204, + "src": "9702:18:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_LiquidityProvider_$7056_storage_$", + "typeString": "mapping(uint256 => struct LiquidityBridgeContractV2.LiquidityProvider storage ref)" + } + }, + "id": 7763, + "indexExpression": { + "id": 7762, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7755, + "src": "9721:2:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9702:22:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$7056_storage", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider storage ref" + } + }, + "id": 7764, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9725:8:22", + "memberName": "provider", + "nodeType": "MemberAccess", + "referencedDeclaration": 7047, + "src": "9702:31:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 7760, + "name": "isRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9461, + "src": "9689:12:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 7765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9689:45:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 7767, + "name": "liquidityProviders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7204, + "src": "9780:18:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_LiquidityProvider_$7056_storage_$", + "typeString": "mapping(uint256 => struct LiquidityBridgeContractV2.LiquidityProvider storage ref)" + } + }, + "id": 7769, + "indexExpression": { + "id": 7768, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7755, + "src": "9799:2:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9780:22:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$7056_storage", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider storage ref" + } + }, + "id": 7770, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9803:8:22", + "memberName": "provider", + "nodeType": "MemberAccess", + "referencedDeclaration": 7047, + "src": "9780:31:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 7766, + "name": "isRegisteredForPegout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9481, + "src": "9758:21:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 7771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9758:54:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "9689:123:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 7773, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9688:125:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "expression": { + "baseExpression": { + "id": 7774, + "name": "liquidityProviders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7204, + "src": "9833:18:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_LiquidityProvider_$7056_storage_$", + "typeString": "mapping(uint256 => struct LiquidityBridgeContractV2.LiquidityProvider storage ref)" + } + }, + "id": 7776, + "indexExpression": { + "id": 7775, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7755, + "src": "9852:2:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9833:22:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$7056_storage", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider storage ref" + } + }, + "id": 7777, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9856:6:22", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 7053, + "src": "9833:29:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "9688:174:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7791, + "nodeType": "IfStatement", + "src": "9667:317:22", + "trueBody": { + "id": 7790, + "nodeType": "Block", + "src": "9877:107:22", + "statements": [ + { + "expression": { + "id": 7785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 7779, + "name": "providersToReturn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7730, + "src": "9895:17:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_LiquidityProvider_$7056_memory_ptr_$dyn_memory_ptr", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider memory[] memory" + } + }, + "id": 7781, + "indexExpression": { + "id": 7780, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7740, + "src": "9913:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9895:24:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$7056_memory_ptr", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 7782, + "name": "liquidityProviders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7204, + "src": "9922:18:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_LiquidityProvider_$7056_storage_$", + "typeString": "mapping(uint256 => struct LiquidityBridgeContractV2.LiquidityProvider storage ref)" + } + }, + "id": 7784, + "indexExpression": { + "id": 7783, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7755, + "src": "9941:2:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9922:22:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$7056_storage", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider storage ref" + } + }, + "src": "9895:49:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$7056_memory_ptr", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider memory" + } + }, + "id": 7786, + "nodeType": "ExpressionStatement", + "src": "9895:49:22" + }, + { + "expression": { + "id": 7788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "9962:7:22", + "subExpression": { + "id": 7787, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7740, + "src": "9962:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7789, + "nodeType": "ExpressionStatement", + "src": "9962:7:22" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7747, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7744, + "src": "9586:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 7748, + "name": "providerIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7719, + "src": "9590:11:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 7749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9602:6:22", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9590:18:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9586:22:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7793, + "initializationExpression": { + "assignments": [ + 7744 + ], + "declarations": [ + { + "constant": false, + "id": 7744, + "mutability": "mutable", + "name": "i", + "nameLocation": "9579:1:22", + "nodeType": "VariableDeclaration", + "scope": 7793, + "src": "9574:6:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7743, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9574:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7746, + "initialValue": { + "hexValue": "30", + "id": 7745, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9583:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "9574:10:22" + }, + "loopExpression": { + "expression": { + "id": 7752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "9610:3:22", + "subExpression": { + "id": 7751, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7744, + "src": "9610:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7753, + "nodeType": "ExpressionStatement", + "src": "9610:3:22" + }, + "nodeType": "ForStatement", + "src": "9569:425:22" + }, + { + "expression": { + "id": 7794, + "name": "providersToReturn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7730, + "src": "10010:17:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_LiquidityProvider_$7056_memory_ptr_$dyn_memory_ptr", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider memory[] memory" + } + }, + "functionReturnParameters": 7725, + "id": 7795, + "nodeType": "Return", + "src": "10003:24:22" + } + ] + }, + "functionSelector": "668dbd83", + "id": 7797, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getProviders", + "nameLocation": "9307:12:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7720, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7719, + "mutability": "mutable", + "name": "providerIds", + "nameLocation": "9343:11:22", + "nodeType": "VariableDeclaration", + "scope": 7797, + "src": "9329:25:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 7717, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9329:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7718, + "nodeType": "ArrayTypeName", + "src": "9329:6:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "9319:41:22" + }, + "returnParameters": { + "id": 7725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7724, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7797, + "src": "9384:26:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_LiquidityProvider_$7056_memory_ptr_$dyn_memory_ptr", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider[]" + }, + "typeName": { + "baseType": { + "id": 7722, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7721, + "name": "LiquidityProvider", + "nameLocations": [ + "9384:17:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 7056, + "src": "9384:17:22" + }, + "referencedDeclaration": 7056, + "src": "9384:17:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_LiquidityProvider_$7056_storage_ptr", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider" + } + }, + "id": 7723, + "nodeType": "ArrayTypeName", + "src": "9384:19:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_LiquidityProvider_$7056_storage_$dyn_storage_ptr", + "typeString": "struct LiquidityBridgeContractV2.LiquidityProvider[]" + } + }, + "visibility": "internal" + } + ], + "src": "9383:28:22" + }, + "scope": 9752, + "src": "9298:736:22", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 7818, + "nodeType": "Block", + "src": "10175:108:22", + "statements": [ + { + "expression": { + "id": 7809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 7803, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7195, + "src": "10185:10:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7806, + "indexExpression": { + "expression": { + "id": 7804, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "10196:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10200:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "10196:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10185:22:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "expression": { + "id": 7807, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "10211:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10215:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "10211:9:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10185:35:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7810, + "nodeType": "ExpressionStatement", + "src": "10185:35:22" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 7812, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "10254:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10258:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "10254:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 7814, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "10266:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10270:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "10266:9:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7811, + "name": "CollateralIncrease", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7070, + "src": "10235:18:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 7816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10235:41:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7817, + "nodeType": "EmitStatement", + "src": "10230:46:22" + } + ] + }, + "documentation": { + "id": 7798, + "nodeType": "StructuredDocumentation", + "src": "10040:73:22", + "text": "@dev Increases the amount of collateral of the sender" + }, + "functionSelector": "9e816999", + "id": 7819, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 7801, + "kind": "modifierInvocation", + "modifierName": { + "id": 7800, + "name": "onlyRegistered", + "nameLocations": [ + "10160:14:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 7259, + "src": "10160:14:22" + }, + "nodeType": "ModifierInvocation", + "src": "10160:14:22" + } + ], + "name": "addCollateral", + "nameLocation": "10127:13:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7799, + "nodeType": "ParameterList", + "parameters": [], + "src": "10140:2:22" + }, + "returnParameters": { + "id": 7802, + "nodeType": "ParameterList", + "parameters": [], + "src": "10175:0:22" + }, + "scope": 9752, + "src": "10118:165:22", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 7839, + "nodeType": "Block", + "src": "10361:120:22", + "statements": [ + { + "expression": { + "id": 7830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 7824, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7199, + "src": "10371:16:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7827, + "indexExpression": { + "expression": { + "id": 7825, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "10388:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10392:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "10388:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10371:28:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "expression": { + "id": 7828, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "10403:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10407:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "10403:9:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10371:41:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7831, + "nodeType": "ExpressionStatement", + "src": "10371:41:22" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 7833, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "10452:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10456:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "10452:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 7835, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "10464:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10468:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "10464:9:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7832, + "name": "PegoutCollateralIncrease", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7076, + "src": "10427:24:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 7837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10427:47:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7838, + "nodeType": "EmitStatement", + "src": "10422:52:22" + } + ] + }, + "functionSelector": "4198687e", + "id": 7840, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 7822, + "kind": "modifierInvocation", + "modifierName": { + "id": 7821, + "name": "onlyRegisteredForPegout", + "nameLocations": [ + "10337:23:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 7271, + "src": "10337:23:22" + }, + "nodeType": "ModifierInvocation", + "src": "10337:23:22" + } + ], + "name": "addPegoutCollateral", + "nameLocation": "10298:19:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7820, + "nodeType": "ParameterList", + "parameters": [], + "src": "10317:2:22" + }, + "returnParameters": { + "id": 7823, + "nodeType": "ParameterList", + "parameters": [], + "src": "10361:0:22" + }, + "scope": 9752, + "src": "10289:192:22", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 7853, + "nodeType": "Block", + "src": "10603:55:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 7847, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "10629:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10633:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "10629:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 7849, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "10641:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10645:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "10641:9:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7846, + "name": "increaseBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9421, + "src": "10613:15:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 7851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10613:38:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7852, + "nodeType": "ExpressionStatement", + "src": "10613:38:22" + } + ] + }, + "documentation": { + "id": 7841, + "nodeType": "StructuredDocumentation", + "src": "10487:60:22", + "text": "@dev Increases the balance of the sender" + }, + "functionSelector": "d0e30db0", + "id": 7854, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 7844, + "kind": "modifierInvocation", + "modifierName": { + "id": 7843, + "name": "onlyRegistered", + "nameLocations": [ + "10588:14:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 7259, + "src": "10588:14:22" + }, + "nodeType": "ModifierInvocation", + "src": "10588:14:22" + } + ], + "name": "deposit", + "nameLocation": "10561:7:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7842, + "nodeType": "ParameterList", + "parameters": [], + "src": "10568:2:22" + }, + "returnParameters": { + "id": 7845, + "nodeType": "ParameterList", + "parameters": [], + "src": "10603:0:22" + }, + "scope": 9752, + "src": "10552:106:22", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 7898, + "nodeType": "Block", + "src": "10804:249:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 7861, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7191, + "src": "10822:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7864, + "indexExpression": { + "expression": { + "id": 7862, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "10831:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10835:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "10831:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10822:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 7865, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7857, + "src": "10846:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10822:30:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303139", + "id": 7867, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10854:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_41f42e8d0f67be0e87abf05a33ed728b4868df2f2b92840d9519a852352eb909", + "typeString": "literal_string \"LBC019\"" + }, + "value": "LBC019" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_41f42e8d0f67be0e87abf05a33ed728b4868df2f2b92840d9519a852352eb909", + "typeString": "literal_string \"LBC019\"" + } + ], + "id": 7860, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "10814:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10814:49:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7869, + "nodeType": "ExpressionStatement", + "src": "10814:49:22" + }, + { + "expression": { + "id": 7875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 7870, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7191, + "src": "10873:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7873, + "indexExpression": { + "expression": { + "id": 7871, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "10882:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10886:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "10882:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10873:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 7874, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7857, + "src": "10897:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10873:30:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7876, + "nodeType": "ExpressionStatement", + "src": "10873:30:22" + }, + { + "assignments": [ + 7878, + null + ], + "declarations": [ + { + "constant": false, + "id": 7878, + "mutability": "mutable", + "name": "success", + "nameLocation": "10919:7:22", + "nodeType": "VariableDeclaration", + "scope": 7898, + "src": "10914:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7877, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10914:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 7886, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 7884, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10962:2:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "expression": { + "id": 7879, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "10931:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10935:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "10931:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 7881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10942:4:22", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "10931:15:22", + "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": 7883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 7882, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7857, + "src": "10954:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "10931:30:22", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 7885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10931:34:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10913:52:22" + }, + { + "expression": { + "arguments": [ + { + "id": 7888, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7878, + "src": "10983:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303230", + "id": 7889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10992:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5c242c0534fa00b11577be4ea886875d641e4a1ad40749685bb740e7c1a67fc9", + "typeString": "literal_string \"LBC020\"" + }, + "value": "LBC020" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5c242c0534fa00b11577be4ea886875d641e4a1ad40749685bb740e7c1a67fc9", + "typeString": "literal_string \"LBC020\"" + } + ], + "id": 7887, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "10975:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10975:26:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7891, + "nodeType": "ExpressionStatement", + "src": "10975:26:22" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 7893, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "11027:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11031:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11027:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7895, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7857, + "src": "11039:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7892, + "name": "Withdrawal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7082, + "src": "11016:10:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 7896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11016:30:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7897, + "nodeType": "EmitStatement", + "src": "11011:35:22" + } + ] + }, + "documentation": { + "id": 7855, + "nodeType": "StructuredDocumentation", + "src": "10664:92:22", + "text": "@dev Used to withdraw funds\n@param amount The amount to withdraw" + }, + "functionSelector": "2e1a7d4d", + "id": 7899, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "withdraw", + "nameLocation": "10770:8:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7858, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7857, + "mutability": "mutable", + "name": "amount", + "nameLocation": "10787:6:22", + "nodeType": "VariableDeclaration", + "scope": 7899, + "src": "10779:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7856, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10779:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10778:16:22" + }, + "returnParameters": { + "id": 7859, + "nodeType": "ParameterList", + "parameters": [], + "src": "10804:0:22" + }, + "scope": 9752, + "src": "10761:292:22", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 7968, + "nodeType": "Block", + "src": "11166:493:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 7904, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7213, + "src": "11184:19:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7907, + "indexExpression": { + "expression": { + "id": 7905, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "11204:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11208:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11204:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11184:31:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 7908, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11218:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11184:35:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303231", + "id": 7910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11221:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ccfdeeda37cff52b8b53c7f459ead001a00858d8cd279133dc1e599c6257c485", + "typeString": "literal_string \"LBC021\"" + }, + "value": "LBC021" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ccfdeeda37cff52b8b53c7f459ead001a00858d8cd279133dc1e599c6257c485", + "typeString": "literal_string \"LBC021\"" + } + ], + "id": 7903, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "11176:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11176:54:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7912, + "nodeType": "ExpressionStatement", + "src": "11176:54:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7914, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "11261:5:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 7915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11267:6:22", + "memberName": "number", + "nodeType": "MemberAccess", + "src": "11261:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "baseExpression": { + "id": 7916, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7213, + "src": "11276:19:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7919, + "indexExpression": { + "expression": { + "id": 7917, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "11296:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11300:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11296:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11276:31:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11261:46:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 7921, + "name": "resignDelayInBlocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7221, + "src": "11323:19:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "11261:81:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303232", + "id": 7923, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11356:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ae5a5bd2536c79a56736074670f517df1b8a17deb822b59dfa1648888074b4cc", + "typeString": "literal_string \"LBC022\"" + }, + "value": "LBC022" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ae5a5bd2536c79a56736074670f517df1b8a17deb822b59dfa1648888074b4cc", + "typeString": "literal_string \"LBC022\"" + } + ], + "id": 7913, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "11240:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11240:134:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7925, + "nodeType": "ExpressionStatement", + "src": "11240:134:22" + }, + { + "assignments": [ + 7927 + ], + "declarations": [ + { + "constant": false, + "id": 7927, + "mutability": "mutable", + "name": "amount", + "nameLocation": "11389:6:22", + "nodeType": "VariableDeclaration", + "scope": 7968, + "src": "11384:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7926, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11384:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7932, + "initialValue": { + "baseExpression": { + "id": 7928, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7195, + "src": "11398:10:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7931, + "indexExpression": { + "expression": { + "id": 7929, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "11409:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11413:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11409:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11398:22:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11384:36:22" + }, + { + "expression": { + "id": 7938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 7933, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7195, + "src": "11430:10:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7936, + "indexExpression": { + "expression": { + "id": 7934, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "11441:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11445:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11441:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11430:22:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 7937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11455:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11430:26:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7939, + "nodeType": "ExpressionStatement", + "src": "11430:26:22" + }, + { + "expression": { + "id": 7945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 7940, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7213, + "src": "11466:19:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7943, + "indexExpression": { + "expression": { + "id": 7941, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "11486:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11490:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11486:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11466:31:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 7944, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11500:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11466:35:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7946, + "nodeType": "ExpressionStatement", + "src": "11466:35:22" + }, + { + "assignments": [ + 7948, + null + ], + "declarations": [ + { + "constant": false, + "id": 7948, + "mutability": "mutable", + "name": "success", + "nameLocation": "11517:7:22", + "nodeType": "VariableDeclaration", + "scope": 7968, + "src": "11512:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7947, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11512:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 7956, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 7954, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11560:2:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "expression": { + "id": 7949, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "11529:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11533:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11529:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 7951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11540:4:22", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "11529:15:22", + "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": 7953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 7952, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7927, + "src": "11552:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "11529:30:22", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 7955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11529:34:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11511:52:22" + }, + { + "expression": { + "arguments": [ + { + "id": 7958, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7948, + "src": "11581:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303230", + "id": 7959, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11590:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5c242c0534fa00b11577be4ea886875d641e4a1ad40749685bb740e7c1a67fc9", + "typeString": "literal_string \"LBC020\"" + }, + "value": "LBC020" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5c242c0534fa00b11577be4ea886875d641e4a1ad40749685bb740e7c1a67fc9", + "typeString": "literal_string \"LBC020\"" + } + ], + "id": 7957, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "11573:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11573:26:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7961, + "nodeType": "ExpressionStatement", + "src": "11573:26:22" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 7963, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "11633:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11637:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11633:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7965, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7927, + "src": "11645:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7962, + "name": "WithdrawCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7088, + "src": "11614:18:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 7966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11614:38:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7967, + "nodeType": "EmitStatement", + "src": "11609:43:22" + } + ] + }, + "documentation": { + "id": 7900, + "nodeType": "StructuredDocumentation", + "src": "11059:63:22", + "text": "@dev Used to withdraw the locked collateral" + }, + "functionSelector": "59c153be", + "id": 7969, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "withdrawCollateral", + "nameLocation": "11136:18:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7901, + "nodeType": "ParameterList", + "parameters": [], + "src": "11154:2:22" + }, + "returnParameters": { + "id": 7902, + "nodeType": "ParameterList", + "parameters": [], + "src": "11166:0:22" + }, + "scope": 9752, + "src": "11127:532:22", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 8037, + "nodeType": "Block", + "src": "11710:511:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 7973, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7213, + "src": "11728:19:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7976, + "indexExpression": { + "expression": { + "id": 7974, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "11748:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11752:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11748:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11728:31:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 7977, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11762:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11728:35:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303231", + "id": 7979, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11765:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ccfdeeda37cff52b8b53c7f459ead001a00858d8cd279133dc1e599c6257c485", + "typeString": "literal_string \"LBC021\"" + }, + "value": "LBC021" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ccfdeeda37cff52b8b53c7f459ead001a00858d8cd279133dc1e599c6257c485", + "typeString": "literal_string \"LBC021\"" + } + ], + "id": 7972, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "11720:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11720:54:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7981, + "nodeType": "ExpressionStatement", + "src": "11720:54:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7983, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "11805:5:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 7984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11811:6:22", + "memberName": "number", + "nodeType": "MemberAccess", + "src": "11805:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "baseExpression": { + "id": 7985, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7213, + "src": "11820:19:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7988, + "indexExpression": { + "expression": { + "id": 7986, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "11840:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11844:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11840:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11820:31:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11805:46:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 7990, + "name": "resignDelayInBlocks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7221, + "src": "11867:19:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "11805:81:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303232", + "id": 7992, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11900:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ae5a5bd2536c79a56736074670f517df1b8a17deb822b59dfa1648888074b4cc", + "typeString": "literal_string \"LBC022\"" + }, + "value": "LBC022" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ae5a5bd2536c79a56736074670f517df1b8a17deb822b59dfa1648888074b4cc", + "typeString": "literal_string \"LBC022\"" + } + ], + "id": 7982, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "11784:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11784:134:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7994, + "nodeType": "ExpressionStatement", + "src": "11784:134:22" + }, + { + "assignments": [ + 7996 + ], + "declarations": [ + { + "constant": false, + "id": 7996, + "mutability": "mutable", + "name": "amount", + "nameLocation": "11933:6:22", + "nodeType": "VariableDeclaration", + "scope": 8037, + "src": "11928:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7995, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11928:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8001, + "initialValue": { + "baseExpression": { + "id": 7997, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7199, + "src": "11942:16:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8000, + "indexExpression": { + "expression": { + "id": 7998, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "11959:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11963:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11959:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11942:28:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11928:42:22" + }, + { + "expression": { + "id": 8007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 8002, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7199, + "src": "11980:16:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8005, + "indexExpression": { + "expression": { + "id": 8003, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "11997:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12001:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "11997:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11980:28:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 8006, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12011:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11980:32:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8008, + "nodeType": "ExpressionStatement", + "src": "11980:32:22" + }, + { + "expression": { + "id": 8014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 8009, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7213, + "src": "12022:19:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8012, + "indexExpression": { + "expression": { + "id": 8010, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12042:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12046:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12042:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12022:31:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 8013, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12056:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12022:35:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8015, + "nodeType": "ExpressionStatement", + "src": "12022:35:22" + }, + { + "assignments": [ + 8017, + null + ], + "declarations": [ + { + "constant": false, + "id": 8017, + "mutability": "mutable", + "name": "success", + "nameLocation": "12073:7:22", + "nodeType": "VariableDeclaration", + "scope": 8037, + "src": "12068:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8016, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12068:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 8025, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 8023, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12116:2:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "expression": { + "id": 8018, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12085:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12089:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12085:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12096:4:22", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "12085:15:22", + "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": 8022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 8021, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7996, + "src": "12108:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "12085:30:22", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 8024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12085:34:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12067:52:22" + }, + { + "expression": { + "arguments": [ + { + "id": 8027, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8017, + "src": "12137:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303230", + "id": 8028, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12146:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5c242c0534fa00b11577be4ea886875d641e4a1ad40749685bb740e7c1a67fc9", + "typeString": "literal_string \"LBC020\"" + }, + "value": "LBC020" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5c242c0534fa00b11577be4ea886875d641e4a1ad40749685bb740e7c1a67fc9", + "typeString": "literal_string \"LBC020\"" + } + ], + "id": 8026, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "12129:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12129:26:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8030, + "nodeType": "ExpressionStatement", + "src": "12129:26:22" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 8032, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12195:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12199:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12195:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 8034, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7996, + "src": "12207:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8031, + "name": "PegoutWithdrawCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7094, + "src": "12170:24:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 8035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12170:44:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8036, + "nodeType": "EmitStatement", + "src": "12165:49:22" + } + ] + }, + "functionSelector": "35510a7d", + "id": 8038, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "withdrawPegoutCollateral", + "nameLocation": "11674:24:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7970, + "nodeType": "ParameterList", + "parameters": [], + "src": "11698:2:22" + }, + "returnParameters": { + "id": 7971, + "nodeType": "ParameterList", + "parameters": [], + "src": "11710:0:22" + }, + "scope": 9752, + "src": "11665:556:22", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 8067, + "nodeType": "Block", + "src": "12337:163:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 8045, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7213, + "src": "12355:19:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8048, + "indexExpression": { + "expression": { + "id": 8046, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12375:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12379:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12375:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12355:31:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 8049, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12390:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12355:36:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303233", + "id": 8051, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12393:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1e153c8413fa71b1dc88c42214ae3211e20bbd7d323adc3a7cb82fb90c05d672", + "typeString": "literal_string \"LBC023\"" + }, + "value": "LBC023" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1e153c8413fa71b1dc88c42214ae3211e20bbd7d323adc3a7cb82fb90c05d672", + "typeString": "literal_string \"LBC023\"" + } + ], + "id": 8044, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "12347:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12347:55:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8053, + "nodeType": "ExpressionStatement", + "src": "12347:55:22" + }, + { + "expression": { + "id": 8060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 8054, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7213, + "src": "12412:19:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8057, + "indexExpression": { + "expression": { + "id": 8055, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12432:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12436:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12432:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12412:31:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 8058, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "12446:5:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 8059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12452:6:22", + "memberName": "number", + "nodeType": "MemberAccess", + "src": "12446:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12412:46:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8061, + "nodeType": "ExpressionStatement", + "src": "12412:46:22" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 8063, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12482:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12486:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12482:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 8062, + "name": "Resigned", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7098, + "src": "12473:8:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 8065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12473:20:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8066, + "nodeType": "EmitStatement", + "src": "12468:25:22" + } + ] + }, + "documentation": { + "id": 8039, + "nodeType": "StructuredDocumentation", + "src": "12227:63:22", + "text": "@dev Used to resign as a liquidity provider" + }, + "functionSelector": "69652fcf", + "id": 8068, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 8042, + "kind": "modifierInvocation", + "modifierName": { + "id": 8041, + "name": "onlyRegistered", + "nameLocations": [ + "12322:14:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 7259, + "src": "12322:14:22" + }, + "nodeType": "ModifierInvocation", + "src": "12322:14:22" + } + ], + "name": "resign", + "nameLocation": "12304:6:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8040, + "nodeType": "ParameterList", + "parameters": [], + "src": "12310:2:22" + }, + "returnParameters": { + "id": 8043, + "nodeType": "ParameterList", + "parameters": [], + "src": "12337:0:22" + }, + "scope": 9752, + "src": "12295:205:22", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 8080, + "nodeType": "Block", + "src": "12767:40:22", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 8076, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7195, + "src": "12784:10:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8078, + "indexExpression": { + "id": 8077, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8071, + "src": "12795:4:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12784:16:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 8075, + "id": 8079, + "nodeType": "Return", + "src": "12777:23:22" + } + ] + }, + "documentation": { + "id": 8069, + "nodeType": "StructuredDocumentation", + "src": "12506:187:22", + "text": "@dev Returns the amount of collateral of a liquidity provider\n@param addr The address of the liquidity provider\n@return The amount of locked collateral" + }, + "functionSelector": "9b56d6c9", + "id": 8081, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getCollateral", + "nameLocation": "12707:13:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8072, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8071, + "mutability": "mutable", + "name": "addr", + "nameLocation": "12729:4:22", + "nodeType": "VariableDeclaration", + "scope": 8081, + "src": "12721:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8070, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12721:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "12720:14:22" + }, + "returnParameters": { + "id": 8075, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8074, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8081, + "src": "12758:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8073, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12758:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12757:9:22" + }, + "scope": 9752, + "src": "12698:109:22", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 8092, + "nodeType": "Block", + "src": "12888:46:22", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 8088, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7199, + "src": "12905:16:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8090, + "indexExpression": { + "id": 8089, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8083, + "src": "12922:4:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12905:22:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 8087, + "id": 8091, + "nodeType": "Return", + "src": "12898:29:22" + } + ] + }, + "functionSelector": "bd519eff", + "id": 8093, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getPegoutCollateral", + "nameLocation": "12822:19:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8084, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8083, + "mutability": "mutable", + "name": "addr", + "nameLocation": "12850:4:22", + "nodeType": "VariableDeclaration", + "scope": 8093, + "src": "12842:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8082, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12842:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "12841:14:22" + }, + "returnParameters": { + "id": 8087, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8086, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8093, + "src": "12879:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8085, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12879:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12878:9:22" + }, + "scope": 9752, + "src": "12813:121:22", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 8105, + "nodeType": "Block", + "src": "13199:38:22", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 8101, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7191, + "src": "13216:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8103, + "indexExpression": { + "id": 8102, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8096, + "src": "13225:4:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13216:14:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 8100, + "id": 8104, + "nodeType": "Return", + "src": "13209:21:22" + } + ] + }, + "documentation": { + "id": 8094, + "nodeType": "StructuredDocumentation", + "src": "12940:188:22", + "text": "@dev Returns the amount of funds of a liquidity provider\n@param addr The address of the liquidity provider\n@return The balance of the liquidity provider" + }, + "functionSelector": "f8b2cb4f", + "id": 8106, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBalance", + "nameLocation": "13142:10:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8097, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8096, + "mutability": "mutable", + "name": "addr", + "nameLocation": "13161:4:22", + "nodeType": "VariableDeclaration", + "scope": 8106, + "src": "13153:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8095, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13153:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "13152:14:22" + }, + "returnParameters": { + "id": 8100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8099, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8106, + "src": "13190:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8098, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13190:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13189:9:22" + }, + "scope": 9752, + "src": "13133:104:22", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 8252, + "nodeType": "Block", + "src": "13563:1462:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 8124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8120, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13594:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13598:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13594:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 8122, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8110, + "src": "13608:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8123, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13614:27:22", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10120, + "src": "13608:33:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "13594:47:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303234", + "id": 8125, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13655:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9c6c58d5603e5b2aab0d13c183f0136466f0ce13826630d90e079bf910078715", + "typeString": "literal_string \"LBC024\"" + }, + "value": "LBC024" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_9c6c58d5603e5b2aab0d13c183f0136466f0ce13826630d90e079bf910078715", + "typeString": "literal_string \"LBC024\"" + } + ], + "id": 8119, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "13573:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13573:100:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8127, + "nodeType": "ExpressionStatement", + "src": "13573:100:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 8129, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7191, + "src": "13704:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8132, + "indexExpression": { + "expression": { + "id": 8130, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8110, + "src": "13713:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13719:27:22", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10120, + "src": "13713:33:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13704:43:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 8133, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13750:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13754:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "13750:9:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13704:55:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "expression": { + "id": 8136, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8110, + "src": "13775:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8137, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13781:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 10140, + "src": "13775:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13704:82:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303139", + "id": 8139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13800:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_41f42e8d0f67be0e87abf05a33ed728b4868df2f2b92840d9519a852352eb909", + "typeString": "literal_string \"LBC019\"" + }, + "value": "LBC019" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_41f42e8d0f67be0e87abf05a33ed728b4868df2f2b92840d9519a852352eb909", + "typeString": "literal_string \"LBC019\"" + } + ], + "id": 8128, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "13683:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13683:135:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8141, + "nodeType": "ExpressionStatement", + "src": "13683:135:22" + }, + { + "assignments": [ + 8143 + ], + "declarations": [ + { + "constant": false, + "id": 8143, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "13837:9:22", + "nodeType": "VariableDeclaration", + "scope": 8252, + "src": "13829:17:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8142, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13829:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 8147, + "initialValue": { + "arguments": [ + { + "id": 8145, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8110, + "src": "13870:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + ], + "id": 8144, + "name": "validateAndHashQuote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9358, + "src": "13849:20:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_PeginQuote_$10155_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct QuotesV2.PeginQuote memory) view returns (bytes32)" + } + }, + "id": 8146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13849:27:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13829:47:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 8153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 8149, + "name": "processedQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7233, + "src": "13907:15:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + } + }, + "id": 8151, + "indexExpression": { + "id": 8150, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8143, + "src": "13923:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13907:26:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 8152, + "name": "UNPROCESSED_QUOTE_CODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6985, + "src": "13937:22:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "13907:52:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303235", + "id": 8154, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13973:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ceda09d74f8a59745bfad5393e75482469dc6db77c24fde6f52df4409a3f744c", + "typeString": "literal_string \"LBC025\"" + }, + "value": "LBC025" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ceda09d74f8a59745bfad5393e75482469dc6db77c24fde6f52df4409a3f744c", + "typeString": "literal_string \"LBC025\"" + } + ], + "id": 8148, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "13886:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13886:105:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8156, + "nodeType": "ExpressionStatement", + "src": "13886:105:22" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 8158, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8110, + "src": "14018:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8159, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14024:27:22", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10120, + "src": "14018:33:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 8160, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "14053:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14057:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "14053:9:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8157, + "name": "increaseBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9421, + "src": "14002:15:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 8162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14002:61:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8163, + "nodeType": "ExpressionStatement", + "src": "14002:61:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 8165, + "name": "gasleft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967289, + "src": "14196:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 8166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14196:9:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 8170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8167, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8110, + "src": "14209:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8168, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14215:8:22", + "memberName": "gasLimit", + "nodeType": "MemberAccess", + "referencedDeclaration": 10136, + "src": "14209:14:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 8169, + "name": "MAX_CALL_GAS_COST", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6979, + "src": "14226:17:22", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "src": "14209:34:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "14196:47:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303236", + "id": 8172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14257:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2d63cc93f65e3c34ca5cba24271c3d6869155fb2ffc83f083d82378f26d56cb0", + "typeString": "literal_string \"LBC026\"" + }, + "value": "LBC026" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_2d63cc93f65e3c34ca5cba24271c3d6869155fb2ffc83f083d82378f26d56cb0", + "typeString": "literal_string \"LBC026\"" + } + ], + "id": 8164, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "14175:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14175:100:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8174, + "nodeType": "ExpressionStatement", + "src": "14175:100:22" + }, + { + "assignments": [ + 8176, + null + ], + "declarations": [ + { + "constant": false, + "id": 8176, + "mutability": "mutable", + "name": "success", + "nameLocation": "14291:7:22", + "nodeType": "VariableDeclaration", + "scope": 8252, + "src": "14286:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8175, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14286:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 8188, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 8185, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8110, + "src": "14417:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8186, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14423:4:22", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 10134, + "src": "14417:10:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "expression": { + "id": 8177, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8110, + "src": "14303:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8178, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14309:15:22", + "memberName": "contractAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10132, + "src": "14303:21:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14325:4:22", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "14303:26:22", + "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": 8184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "gas", + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "expression": { + "id": 8180, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8110, + "src": "14352:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8181, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14358:8:22", + "memberName": "gasLimit", + "nodeType": "MemberAccess", + "referencedDeclaration": 10136, + "src": "14352:14:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 8182, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8110, + "src": "14391:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8183, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14397:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 10140, + "src": "14391:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "14303:113:22", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 8187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14303:125:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14285:143:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8190, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "14447:5:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 8191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14453:9:22", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "14447:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 8194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14471:6:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": { + "id": 8193, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "14471:6:22", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + } + ], + "id": 8192, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967269, + "src": "14466:4:22", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14466:12:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint32", + "typeString": "type(uint32)" + } + }, + "id": 8196, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14479:3:22", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "14466:16:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "14447:35:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303237", + "id": 8198, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14484:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5a937cad92792f08abdaf15eed65a070909c29d924f856ec65923c138fd39a48", + "typeString": "literal_string \"LBC027\"" + }, + "value": "LBC027" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5a937cad92792f08abdaf15eed65a070909c29d924f856ec65923c138fd39a48", + "typeString": "literal_string \"LBC027\"" + } + ], + "id": 8189, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "14439:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14439:54:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8200, + "nodeType": "ExpressionStatement", + "src": "14439:54:22" + }, + { + "expression": { + "id": 8210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 8201, + "name": "callRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7209, + "src": "14503:12:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$7038_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContractV2.Registry storage ref)" + } + }, + "id": 8203, + "indexExpression": { + "id": 8202, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8143, + "src": "14516:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14503:23:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Registry_$7038_storage", + "typeString": "struct LiquidityBridgeContractV2.Registry storage ref" + } + }, + "id": 8204, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "14527:9:22", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 7035, + "src": "14503:33:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 8207, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "14546:5:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 8208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14552:9:22", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "14546:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8206, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14539:6:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": { + "id": 8205, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "14539:6:22", + "typeDescriptions": {} + } + }, + "id": 8209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14539:23:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "14503:59:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 8211, + "nodeType": "ExpressionStatement", + "src": "14503:59:22" + }, + { + "condition": { + "id": 8212, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8176, + "src": "14577:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8228, + "nodeType": "IfStatement", + "src": "14573:153:22", + "trueBody": { + "id": 8227, + "nodeType": "Block", + "src": "14586:140:22", + "statements": [ + { + "expression": { + "id": 8218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 8213, + "name": "callRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7209, + "src": "14600:12:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$7038_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContractV2.Registry storage ref)" + } + }, + "id": 8215, + "indexExpression": { + "id": 8214, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8143, + "src": "14613:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14600:23:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Registry_$7038_storage", + "typeString": "struct LiquidityBridgeContractV2.Registry storage ref" + } + }, + "id": 8216, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "14624:7:22", + "memberName": "success", + "nodeType": "MemberAccess", + "referencedDeclaration": 7037, + "src": "14600:31:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 8217, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14634:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "14600:38:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8219, + "nodeType": "ExpressionStatement", + "src": "14600:38:22" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 8221, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8110, + "src": "14668:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8222, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14674:27:22", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10120, + "src": "14668:33:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 8223, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8110, + "src": "14703:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8224, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14709:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 10140, + "src": "14703:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8220, + "name": "decreaseBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9440, + "src": "14652:15:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 8225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14652:63:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8226, + "nodeType": "ExpressionStatement", + "src": "14652:63:22" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 8230, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "14765:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14769:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14765:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 8232, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8110, + "src": "14789:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14795:15:22", + "memberName": "contractAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10132, + "src": "14789:21:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 8234, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8110, + "src": "14824:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8235, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14830:8:22", + "memberName": "gasLimit", + "nodeType": "MemberAccess", + "referencedDeclaration": 10136, + "src": "14824:14:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 8236, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8110, + "src": "14852:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14858:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 10140, + "src": "14852:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 8238, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8110, + "src": "14877:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8239, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14883:4:22", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 10134, + "src": "14877:10:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 8240, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8176, + "src": "14901:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8241, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8143, + "src": "14922:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 8229, + "name": "CallForUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7114, + "src": "14740:11:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$_t_bool_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,uint256,uint256,bytes memory,bool,bytes32)" + } + }, + "id": 8242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14740:201:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8243, + "nodeType": "EmitStatement", + "src": "14735:206:22" + }, + { + "expression": { + "id": 8248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 8244, + "name": "processedQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7233, + "src": "14951:15:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + } + }, + "id": 8246, + "indexExpression": { + "id": 8245, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8143, + "src": "14967:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14951:26:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 8247, + "name": "CALL_DONE_CODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6988, + "src": "14980:14:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "14951:43:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 8249, + "nodeType": "ExpressionStatement", + "src": "14951:43:22" + }, + { + "expression": { + "id": 8250, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8176, + "src": "15011:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 8118, + "id": 8251, + "nodeType": "Return", + "src": "15004:14:22" + } + ] + }, + "documentation": { + "id": 8107, + "nodeType": "StructuredDocumentation", + "src": "13243:186:22", + "text": "@dev Performs a call on behalf of a user\n@param quote The quote that identifies the service\n@return Boolean indicating whether the call was successful" + }, + "functionSelector": "7aefa8c2", + "id": 8253, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 8113, + "kind": "modifierInvocation", + "modifierName": { + "id": 8112, + "name": "onlyRegistered", + "nameLocations": [ + "13520:14:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 7259, + "src": "13520:14:22" + }, + "nodeType": "ModifierInvocation", + "src": "13520:14:22" + }, + { + "id": 8115, + "kind": "modifierInvocation", + "modifierName": { + "id": 8114, + "name": "nonReentrant", + "nameLocations": [ + "13535:12:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 344, + "src": "13535:12:22" + }, + "nodeType": "ModifierInvocation", + "src": "13535:12:22" + } + ], + "name": "callForUser", + "nameLocation": "13443:11:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8111, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8110, + "mutability": "mutable", + "name": "quote", + "nameLocation": "13491:5:22", + "nodeType": "VariableDeclaration", + "scope": 8253, + "src": "13464:32:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote" + }, + "typeName": { + "id": 8109, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 8108, + "name": "QuotesV2.PeginQuote", + "nameLocations": [ + "13464:8:22", + "13473:10:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10155, + "src": "13464:19:22" + }, + "referencedDeclaration": 10155, + "src": "13464:19:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_storage_ptr", + "typeString": "struct QuotesV2.PeginQuote" + } + }, + "visibility": "internal" + } + ], + "src": "13454:48:22" + }, + "returnParameters": { + "id": 8118, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8117, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8253, + "src": "13557:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8116, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13557:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "13556:6:22" + }, + "scope": 9752, + "src": "13434:1591:22", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 8655, + "nodeType": "Block", + "src": "15788:6256:22", + "statements": [ + { + "assignments": [ + 8273 + ], + "declarations": [ + { + "constant": false, + "id": 8273, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "15806:9:22", + "nodeType": "VariableDeclaration", + "scope": 8655, + "src": "15798:17:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8272, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15798:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 8277, + "initialValue": { + "arguments": [ + { + "id": 8275, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "15839:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + ], + "id": 8274, + "name": "validateAndHashQuote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9358, + "src": "15818:20:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_PeginQuote_$10155_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct QuotesV2.PeginQuote memory) view returns (bytes32)" + } + }, + "id": 8276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15818:27:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15798:47:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 8283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 8279, + "name": "processedQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7233, + "src": "15971:15:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + } + }, + "id": 8281, + "indexExpression": { + "id": 8280, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8273, + "src": "15987:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15971:26:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 8282, + "name": "CALL_DONE_CODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6988, + "src": "16001:14:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "15971:44:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303238", + "id": 8284, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16029:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4c4b8fd0ae53a3caa85e74f53bba210cefdcb0e1d1c519eb8385d2cd3741f7fb", + "typeString": "literal_string \"LBC028\"" + }, + "value": "LBC028" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4c4b8fd0ae53a3caa85e74f53bba210cefdcb0e1d1c519eb8385d2cd3741f7fb", + "typeString": "literal_string \"LBC028\"" + } + ], + "id": 8278, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "15950:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15950:97:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8286, + "nodeType": "ExpressionStatement", + "src": "15950:97:22" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 8290, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "16121:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8291, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16127:27:22", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10120, + "src": "16121:33:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 8292, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8273, + "src": "16172:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 8293, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8259, + "src": "16199:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 8288, + "name": "SignatureValidator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10454, + "src": "16078:18:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SignatureValidator_$10454_$", + "typeString": "type(library SignatureValidator)" + } + }, + "id": 8289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "16097:6:22", + "memberName": "verify", + "nodeType": "MemberAccess", + "referencedDeclaration": 10453, + "src": "16078:25:22", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,bytes32,bytes memory) pure returns (bool)" + } + }, + "id": 8294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16078:144:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303239", + "id": 8295, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16236:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ebb41fd1c3d95b8eaff1e56d491f7a983f7f3039fac57e6fad7993de139e2216", + "typeString": "literal_string \"LBC029\"" + }, + "value": "LBC029" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ebb41fd1c3d95b8eaff1e56d491f7a983f7f3039fac57e6fad7993de139e2216", + "typeString": "literal_string \"LBC029\"" + } + ], + "id": 8287, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "16057:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16057:197:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8297, + "nodeType": "ExpressionStatement", + "src": "16057:197:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8299, + "name": "height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8265, + "src": "16272:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "arguments": [ + { + "id": 8306, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16301:5:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int32_$", + "typeString": "type(int32)" + }, + "typeName": { + "id": 8305, + "name": "int32", + "nodeType": "ElementaryTypeName", + "src": "16301:5:22", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_int32_$", + "typeString": "type(int32)" + } + ], + "id": 8304, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967269, + "src": "16296:4:22", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 8307, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16296:11:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_int32", + "typeString": "type(int32)" + } + }, + "id": 8308, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "16308:3:22", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "16296:15:22", + "typeDescriptions": { + "typeIdentifier": "t_int32", + "typeString": "int32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int32", + "typeString": "int32" + } + ], + "id": 8303, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16289:6:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 8302, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "16289:6:22", + "typeDescriptions": {} + } + }, + "id": 8309, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16289:23:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8301, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16281:7:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 8300, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16281:7:22", + "typeDescriptions": {} + } + }, + "id": 8310, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16281:32:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16272:41:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303330", + "id": 8312, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16315:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6b987c2142a6ed89e76021f4d9a60f3cbfc2f7110bd81bc33ff58ad7cf27befa", + "typeString": "literal_string \"LBC030\"" + }, + "value": "LBC030" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6b987c2142a6ed89e76021f4d9a60f3cbfc2f7110bd81bc33ff58ad7cf27befa", + "typeString": "literal_string \"LBC030\"" + } + ], + "id": 8298, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "16264:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16264:60:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8314, + "nodeType": "ExpressionStatement", + "src": "16264:60:22" + }, + { + "assignments": [ + 8316 + ], + "declarations": [ + { + "constant": false, + "id": 8316, + "mutability": "mutable", + "name": "transferredAmountOrErrorCode", + "nameLocation": "16342:28:22", + "nodeType": "VariableDeclaration", + "scope": 8655, + "src": "16335:35:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8315, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "16335:6:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "id": 8324, + "initialValue": { + "arguments": [ + { + "id": 8318, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "16401:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + { + "id": 8319, + "name": "btcRawTransaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8261, + "src": "16420:17:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 8320, + "name": "partialMerkleTree", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8263, + "src": "16451:17:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 8321, + "name": "height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8265, + "src": "16482:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8322, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8273, + "src": "16502:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 8317, + "name": "registerBridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9526, + "src": "16373:14:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PeginQuote_$10155_memory_ptr_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes32_$returns$_t_int256_$", + "typeString": "function (struct QuotesV2.PeginQuote memory,bytes memory,bytes memory,uint256,bytes32) returns (int256)" + } + }, + "id": 8323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16373:148:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16335:186:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8326, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8316, + "src": "16553:28:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8327, + "name": "BRIDGE_UNPROCESSABLE_TX_VALIDATIONS_ERROR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7015, + "src": "16597:41:22", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "src": "16553:85:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303331", + "id": 8329, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16652:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b9f5a33cea5e5738277827f2f81faa92d1d3c73cf030e2542a7b80c6f7bdc8a7", + "typeString": "literal_string \"LBC031\"" + }, + "value": "LBC031" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b9f5a33cea5e5738277827f2f81faa92d1d3c73cf030e2542a7b80c6f7bdc8a7", + "typeString": "literal_string \"LBC031\"" + } + ], + "id": 8325, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "16532:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16532:138:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8331, + "nodeType": "ExpressionStatement", + "src": "16532:138:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8333, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8316, + "src": "16701:28:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8334, + "name": "BRIDGE_UNPROCESSABLE_TX_ALREADY_PROCESSED_ERROR_CODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7011, + "src": "16745:52:22", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "src": "16701:96:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303332", + "id": 8336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16811:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5d8d108d93a53583cf1949d2287cc7f0af5603bd102faf9db90e7e6bbc90ade8", + "typeString": "literal_string \"LBC032\"" + }, + "value": "LBC032" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5d8d108d93a53583cf1949d2287cc7f0af5603bd102faf9db90e7e6bbc90ade8", + "typeString": "literal_string \"LBC032\"" + } + ], + "id": 8332, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "16680:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16680:149:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8338, + "nodeType": "ExpressionStatement", + "src": "16680:149:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8340, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8316, + "src": "16860:28:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8341, + "name": "BRIDGE_UNPROCESSABLE_TX_VALUE_ZERO_ERROR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7019, + "src": "16904:40:22", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "src": "16860:84:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303333", + "id": 8343, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16958:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e976d8a3febca36c67dcd5b38ae845ffd2f248a24eaf2d7a97f208ffd80ff125", + "typeString": "literal_string \"LBC033\"" + }, + "value": "LBC033" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_e976d8a3febca36c67dcd5b38ae845ffd2f248a24eaf2d7a97f208ffd80ff125", + "typeString": "literal_string \"LBC033\"" + } + ], + "id": 8339, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "16839:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16839:137:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8345, + "nodeType": "ExpressionStatement", + "src": "16839:137:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8347, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8316, + "src": "17007:28:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8348, + "name": "BRIDGE_UNPROCESSABLE_TX_UTXO_AMOUNT_SENT_BELOW_MINIMUM_ERROR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7023, + "src": "17051:60:22", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "src": "17007:104:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303334", + "id": 8350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17125:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_745436b16371784f7b451bf4bed6f0978e2f007f74e71dfa0c49414b3a522759", + "typeString": "literal_string \"LBC034\"" + }, + "value": "LBC034" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_745436b16371784f7b451bf4bed6f0978e2f007f74e71dfa0c49414b3a522759", + "typeString": "literal_string \"LBC034\"" + } + ], + "id": 8346, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "16986:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "16986:157:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8352, + "nodeType": "ExpressionStatement", + "src": "16986:157:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8354, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8316, + "src": "17174:28:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 8355, + "name": "BRIDGE_GENERIC_ERROR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7027, + "src": "17206:20:22", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "src": "17174:52:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303335", + "id": 8357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17240:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_37570ea73114ff69cb8aab9e09d6f5beb11b36ce1a2ae19ee6f5de28dc42d754", + "typeString": "literal_string \"LBC035\"" + }, + "value": "LBC035" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_37570ea73114ff69cb8aab9e09d6f5beb11b36ce1a2ae19ee6f5de28dc42d754", + "typeString": "literal_string \"LBC035\"" + } + ], + "id": 8353, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "17153:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17153:105:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8359, + "nodeType": "ExpressionStatement", + "src": "17153:105:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 8371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 8367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8361, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8316, + "src": "17289:28:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 8362, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17320:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "17289:32:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8364, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8316, + "src": "17337:28:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 8365, + "name": "BRIDGE_REFUNDED_LP_ERROR_CODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6999, + "src": "17369:29:22", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "src": "17337:61:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "17289:109:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8368, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8316, + "src": "17414:28:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 8369, + "name": "BRIDGE_REFUNDED_USER_ERROR_CODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6995, + "src": "17446:31:22", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "src": "17414:63:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "17289:188:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303336", + "id": 8372, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17491:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5ccb4449252c316623411606962515c0966208bcce5fe352c2e850b058d1077c", + "typeString": "literal_string \"LBC036\"" + }, + "value": "LBC036" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5ccb4449252c316623411606962515c0966208bcce5fe352c2e850b058d1077c", + "typeString": "literal_string \"LBC036\"" + } + ], + "id": 8360, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "17268:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17268:241:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8374, + "nodeType": "ExpressionStatement", + "src": "17268:241:22" + }, + { + "condition": { + "arguments": [ + { + "id": 8376, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "17567:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + { + "id": 8377, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8316, + "src": "17586:28:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + { + "expression": { + "baseExpression": { + "id": 8378, + "name": "callRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7209, + "src": "17628:12:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$7038_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContractV2.Registry storage ref)" + } + }, + "id": 8380, + "indexExpression": { + "id": 8379, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8273, + "src": "17641:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17628:23:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Registry_$7038_storage", + "typeString": "struct LiquidityBridgeContractV2.Registry storage ref" + } + }, + "id": 8381, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17652:9:22", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 7035, + "src": "17628:33:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "id": 8382, + "name": "height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8265, + "src": "17675:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8375, + "name": "shouldPenalizeLP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9649, + "src": "17537:16:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_PeginQuote_$10155_memory_ptr_$_t_int256_$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct QuotesV2.PeginQuote memory,int256,uint256,uint256) view returns (bool)" + } + }, + "id": 8383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17537:154:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8425, + "nodeType": "IfStatement", + "src": "17520:816:22", + "trueBody": { + "id": 8424, + "nodeType": "Block", + "src": "17702:634:22", + "statements": [ + { + "assignments": [ + 8385 + ], + "declarations": [ + { + "constant": false, + "id": 8385, + "mutability": "mutable", + "name": "penalizationAmount", + "nameLocation": "17721:18:22", + "nodeType": "VariableDeclaration", + "scope": 8424, + "src": "17716:23:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8384, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17716:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8394, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 8387, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "17763:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8388, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17769:10:22", + "memberName": "penaltyFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10130, + "src": "17763:16:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 8389, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7195, + "src": "17797:10:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8392, + "indexExpression": { + "expression": { + "id": 8390, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "17808:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8391, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17814:27:22", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10120, + "src": "17808:33:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17797:45:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8386, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9402, + "src": "17742:3:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 8393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "17742:114:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17716:140:22" + }, + { + "expression": { + "id": 8400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 8395, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7195, + "src": "17933:10:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8398, + "indexExpression": { + "expression": { + "id": 8396, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "17944:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8397, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "17950:27:22", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10120, + "src": "17944:33:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "17933:45:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 8399, + "name": "penalizationAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8385, + "src": "17982:18:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17933:67:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8401, + "nodeType": "ExpressionStatement", + "src": "17933:67:22" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 8403, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "18046:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8404, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18052:27:22", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10120, + "src": "18046:33:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 8405, + "name": "penalizationAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8385, + "src": "18097:18:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8406, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8273, + "src": "18133:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 8402, + "name": "Penalized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7128, + "src": "18019:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$__$", + "typeString": "function (address,uint256,bytes32)" + } + }, + "id": 8407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18019:137:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8408, + "nodeType": "EmitStatement", + "src": "18014:142:22" + }, + { + "assignments": [ + 8410 + ], + "declarations": [ + { + "constant": false, + "id": 8410, + "mutability": "mutable", + "name": "punisherReward", + "nameLocation": "18215:14:22", + "nodeType": "VariableDeclaration", + "scope": 8424, + "src": "18207:22:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8409, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18207:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8417, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8411, + "name": "penalizationAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8385, + "src": "18233:18:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 8412, + "name": "rewardP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7219, + "src": "18254:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "18233:28:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 8414, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "18232:30:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "hexValue": "313030", + "id": 8415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18265:3:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "18232:36:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18207:61:22" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 8419, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "18298:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "18302:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "18298:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 8421, + "name": "punisherReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8410, + "src": "18310:14:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8418, + "name": "increaseBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9421, + "src": "18282:15:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 8422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18282:43:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8423, + "nodeType": "ExpressionStatement", + "src": "18282:43:22" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 8432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8426, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8316, + "src": "18363:28:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 8427, + "name": "BRIDGE_REFUNDED_LP_ERROR_CODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6999, + "src": "18395:29:22", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "src": "18363:61:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 8431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8429, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8316, + "src": "18440:28:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 8430, + "name": "BRIDGE_REFUNDED_USER_ERROR_CODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6995, + "src": "18472:31:22", + "typeDescriptions": { + "typeIdentifier": "t_int16", + "typeString": "int16" + } + }, + "src": "18440:63:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "18363:140:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8452, + "nodeType": "IfStatement", + "src": "18346:447:22", + "trueBody": { + "id": 8451, + "nodeType": "Block", + "src": "18514:279:22", + "statements": [ + { + "expression": { + "id": 8437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 8433, + "name": "processedQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7233, + "src": "18563:15:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + } + }, + "id": 8435, + "indexExpression": { + "id": 8434, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8273, + "src": "18579:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "18563:26:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 8436, + "name": "PROCESSED_QUOTE_CODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6991, + "src": "18592:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "18563:49:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 8438, + "nodeType": "ExpressionStatement", + "src": "18563:49:22" + }, + { + "expression": { + "id": 8442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "18626:30:22", + "subExpression": { + "baseExpression": { + "id": 8439, + "name": "callRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7209, + "src": "18633:12:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$7038_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContractV2.Registry storage ref)" + } + }, + "id": 8441, + "indexExpression": { + "id": 8440, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8273, + "src": "18646:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "18633:23:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Registry_$7038_storage", + "typeString": "struct LiquidityBridgeContractV2.Registry storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8443, + "nodeType": "ExpressionStatement", + "src": "18626:30:22" + }, + { + "eventCall": { + "arguments": [ + { + "id": 8445, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8273, + "src": "18693:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 8446, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8316, + "src": "18704:28:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8444, + "name": "BridgeCapExceeded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7134, + "src": "18675:17:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_int256_$returns$__$", + "typeString": "function (bytes32,int256)" + } + }, + "id": 8447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "18675:58:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8448, + "nodeType": "EmitStatement", + "src": "18670:63:22" + }, + { + "expression": { + "id": 8449, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8316, + "src": "18754:28:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 8271, + "id": 8450, + "nodeType": "Return", + "src": "18747:35:22" + } + ] + } + }, + { + "assignments": [ + 8454 + ], + "declarations": [ + { + "constant": false, + "id": 8454, + "mutability": "mutable", + "name": "transferredAmount", + "nameLocation": "18984:17:22", + "nodeType": "VariableDeclaration", + "scope": 8655, + "src": "18979:22:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8453, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18979:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8459, + "initialValue": { + "arguments": [ + { + "id": 8457, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8316, + "src": "19009:28:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8456, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "19004:4:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 8455, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19004:4:22", + "typeDescriptions": {} + } + }, + "id": 8458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19004:34:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18979:59:22" + }, + { + "expression": { + "arguments": [ + { + "id": 8463, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "19076:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + { + "id": 8464, + "name": "transferredAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8454, + "src": "19083:17:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 8460, + "name": "QuotesV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10405, + "src": "19049:8:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_QuotesV2_$10405_$", + "typeString": "type(library QuotesV2)" + } + }, + "id": 8462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19058:17:22", + "memberName": "checkAgreedAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 10404, + "src": "19049:26:22", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_PeginQuote_$10155_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (struct QuotesV2.PeginQuote memory,uint256) pure" + } + }, + "id": 8465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19049:52:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8466, + "nodeType": "ExpressionStatement", + "src": "19049:52:22" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 8472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 8467, + "name": "callRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7209, + "src": "19116:12:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$7038_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContractV2.Registry storage ref)" + } + }, + "id": 8469, + "indexExpression": { + "id": 8468, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8273, + "src": "19129:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19116:23:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Registry_$7038_storage", + "typeString": "struct LiquidityBridgeContractV2.Registry storage ref" + } + }, + "id": 8470, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19140:9:22", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 7035, + "src": "19116:33:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 8471, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19152:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "19116:37:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 8635, + "nodeType": "Block", + "src": "20589:1234:22", + "statements": [ + { + "assignments": [ + 8562 + ], + "declarations": [ + { + "constant": false, + "id": 8562, + "mutability": "mutable", + "name": "refundAmount", + "nameLocation": "20608:12:22", + "nodeType": "VariableDeclaration", + "scope": 8635, + "src": "20603:17:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8561, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20603:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8564, + "initialValue": { + "id": 8563, + "name": "transferredAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8454, + "src": "20623:17:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20603:37:22" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 8571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8565, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "20659:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8566, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20665:14:22", + "memberName": "callOnRegister", + "nodeType": "MemberAccess", + "referencedDeclaration": 10150, + "src": "20659:20:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8567, + "name": "refundAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8562, + "src": "20683:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "expression": { + "id": 8568, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "20699:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8569, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20705:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 10140, + "src": "20699:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20683:27:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "20659:51:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8610, + "nodeType": "IfStatement", + "src": "20655:656:22", + "trueBody": { + "id": 8609, + "nodeType": "Block", + "src": "20712:599:22", + "statements": [ + { + "assignments": [ + 8573, + null + ], + "declarations": [ + { + "constant": false, + "id": 8573, + "mutability": "mutable", + "name": "callSuccess", + "nameLocation": "20736:11:22", + "nodeType": "VariableDeclaration", + "scope": 8609, + "src": "20731:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8572, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20731:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 8585, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 8582, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "20890:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8583, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20896:4:22", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 10134, + "src": "20890:10:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "expression": { + "id": 8574, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "20752:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8575, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20758:15:22", + "memberName": "contractAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10132, + "src": "20752:21:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20774:4:22", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "20752:26:22", + "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": 8581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "gas", + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "expression": { + "id": 8577, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "20809:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8578, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20815:8:22", + "memberName": "gasLimit", + "nodeType": "MemberAccess", + "referencedDeclaration": 10136, + "src": "20809:14:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 8579, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "20856:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8580, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20862:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 10140, + "src": "20856:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "20752:137:22", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 8584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20752:149:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20730:171:22" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 8587, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "20957:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20961:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "20957:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 8589, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "20989:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8590, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20995:15:22", + "memberName": "contractAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10132, + "src": "20989:21:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 8591, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "21032:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8592, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21038:8:22", + "memberName": "gasLimit", + "nodeType": "MemberAccess", + "referencedDeclaration": 10136, + "src": "21032:14:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 8593, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "21068:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8594, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21074:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 10140, + "src": "21068:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 8595, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "21101:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8596, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21107:4:22", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 10134, + "src": "21101:10:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 8597, + "name": "callSuccess", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8573, + "src": "21133:11:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8598, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8273, + "src": "21166:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 8586, + "name": "CallForUser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7114, + "src": "20924:11:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$_t_bool_$_t_bytes32_$returns$__$", + "typeString": "function (address,address,uint256,uint256,bytes memory,bool,bytes32)" + } + }, + "id": 8599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20924:269:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8600, + "nodeType": "EmitStatement", + "src": "20919:274:22" + }, + { + "condition": { + "id": 8601, + "name": "callSuccess", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8573, + "src": "21216:11:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8608, + "nodeType": "IfStatement", + "src": "21212:85:22", + "trueBody": { + "id": 8607, + "nodeType": "Block", + "src": "21229:68:22", + "statements": [ + { + "expression": { + "id": 8605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8602, + "name": "refundAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8562, + "src": "21251:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "expression": { + "id": 8603, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "21267:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8604, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21273:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 10140, + "src": "21267:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21251:27:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8606, + "nodeType": "ExpressionStatement", + "src": "21251:27:22" + } + ] + } + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8611, + "name": "refundAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8562, + "src": "21328:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 8612, + "name": "dust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7223, + "src": "21343:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21328:19:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8634, + "nodeType": "IfStatement", + "src": "21324:489:22", + "trueBody": { + "id": 8633, + "nodeType": "Block", + "src": "21349:464:22", + "statements": [ + { + "assignments": [ + 8615, + null + ], + "declarations": [ + { + "constant": false, + "id": 8615, + "mutability": "mutable", + "name": "success", + "nameLocation": "21452:7:22", + "nodeType": "VariableDeclaration", + "scope": 8633, + "src": "21447:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8614, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21447:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 8624, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 8622, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21610:2:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "expression": { + "id": 8616, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "21464:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8617, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21470:16:22", + "memberName": "rskRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10124, + "src": "21464:22:22", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 8618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21487:4:22", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "21464:27:22", + "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": 8621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "gas", + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 8619, + "name": "MAX_REFUND_GAS_LIMIT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6982, + "src": "21522:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "id": 8620, + "name": "refundAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8562, + "src": "21575:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "21464:145:22", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 8623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21464:149:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "21446:167:22" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 8626, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "21664:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8627, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "21670:16:22", + "memberName": "rskRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10124, + "src": "21664:22:22", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "id": 8628, + "name": "refundAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8562, + "src": "21708:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8629, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8615, + "src": "21742:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8630, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8273, + "src": "21771:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 8625, + "name": "Refund", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7156, + "src": "21636:6:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bool_$_t_bytes32_$returns$__$", + "typeString": "function (address,uint256,bool,bytes32)" + } + }, + "id": 8631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21636:162:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8632, + "nodeType": "EmitStatement", + "src": "21631:167:22" + } + ] + } + } + ] + }, + "id": 8636, + "nodeType": "IfStatement", + "src": "19112:2711:22", + "trueBody": { + "id": 8560, + "nodeType": "Block", + "src": "19155:1428:22", + "statements": [ + { + "assignments": [ + 8474 + ], + "declarations": [ + { + "constant": false, + "id": 8474, + "mutability": "mutable", + "name": "refundAmount", + "nameLocation": "19174:12:22", + "nodeType": "VariableDeclaration", + "scope": 8560, + "src": "19169:17:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8473, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19169:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8475, + "nodeType": "VariableDeclarationStatement", + "src": "19169:17:22" + }, + { + "condition": { + "expression": { + "baseExpression": { + "id": 8476, + "name": "callRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7209, + "src": "19205:12:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$7038_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContractV2.Registry storage ref)" + } + }, + "id": 8478, + "indexExpression": { + "id": 8477, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8273, + "src": "19218:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19205:23:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Registry_$7038_storage", + "typeString": "struct LiquidityBridgeContractV2.Registry storage ref" + } + }, + "id": 8479, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19229:7:22", + "memberName": "success", + "nodeType": "MemberAccess", + "referencedDeclaration": 7037, + "src": "19205:31:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 8506, + "nodeType": "Block", + "src": "19416:100:22", + "statements": [ + { + "expression": { + "id": 8504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8495, + "name": "refundAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8474, + "src": "19434:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8497, + "name": "transferredAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8454, + "src": "19453:17:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8498, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "19472:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8499, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19478:7:22", + "memberName": "callFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10128, + "src": "19472:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 8500, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "19488:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8501, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19494:6:22", + "memberName": "gasFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10154, + "src": "19488:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19472:28:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8496, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9402, + "src": "19449:3:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 8503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19449:52:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19434:67:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8505, + "nodeType": "ExpressionStatement", + "src": "19434:67:22" + } + ] + }, + "id": 8507, + "nodeType": "IfStatement", + "src": "19201:315:22", + "trueBody": { + "id": 8494, + "nodeType": "Block", + "src": "19238:172:22", + "statements": [ + { + "expression": { + "id": 8492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 8480, + "name": "refundAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8474, + "src": "19256:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 8482, + "name": "transferredAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8454, + "src": "19296:17:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8483, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "19335:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8484, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19341:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 10140, + "src": "19335:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 8485, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "19349:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8486, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19355:7:22", + "memberName": "callFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10128, + "src": "19349:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19335:27:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 8488, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "19365:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8489, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19371:6:22", + "memberName": "gasFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10154, + "src": "19365:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19335:42:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8481, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9402, + "src": "19271:3:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 8491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19271:124:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19256:139:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8493, + "nodeType": "ExpressionStatement", + "src": "19256:139:22" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 8509, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "19545:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8510, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19551:27:22", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10120, + "src": "19545:33:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 8511, + "name": "refundAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8474, + "src": "19580:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8508, + "name": "increaseBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9421, + "src": "19529:15:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 8512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19529:64:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8513, + "nodeType": "ExpressionStatement", + "src": "19529:64:22" + }, + { + "assignments": [ + 8515 + ], + "declarations": [ + { + "constant": false, + "id": 8515, + "mutability": "mutable", + "name": "remainingAmount", + "nameLocation": "19613:15:22", + "nodeType": "VariableDeclaration", + "scope": 8560, + "src": "19608:20:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8514, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19608:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8519, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8516, + "name": "transferredAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8454, + "src": "19631:17:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 8517, + "name": "refundAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8474, + "src": "19651:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19631:32:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19608:55:22" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 8521, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "19695:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8522, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19701:16:22", + "memberName": "productFeeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 10152, + "src": "19695:22:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8523, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8273, + "src": "19719:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 8520, + "name": "payToFeeCollector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9751, + "src": "19677:17:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes32_$returns$__$", + "typeString": "function (uint256,bytes32)" + } + }, + "id": 8524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19677:52:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8525, + "nodeType": "ExpressionStatement", + "src": "19677:52:22" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8526, + "name": "remainingAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8515, + "src": "19748:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 8527, + "name": "dust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7223, + "src": "19766:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19748:22:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8559, + "nodeType": "IfStatement", + "src": "19744:829:22", + "trueBody": { + "id": 8558, + "nodeType": "Block", + "src": "19772:801:22", + "statements": [ + { + "assignments": [ + 8530, + null + ], + "declarations": [ + { + "constant": false, + "id": 8530, + "mutability": "mutable", + "name": "success", + "nameLocation": "19878:7:22", + "nodeType": "VariableDeclaration", + "scope": 8558, + "src": "19873:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8529, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "19873:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 8539, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 8537, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20039:2:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "expression": { + "id": 8531, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "19890:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8532, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19896:16:22", + "memberName": "rskRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10124, + "src": "19890:22:22", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 8533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "19913:4:22", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "19890:27:22", + "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": 8536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "gas", + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 8534, + "name": "MAX_REFUND_GAS_LIMIT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6982, + "src": "19948:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "id": 8535, + "name": "remainingAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8515, + "src": "20001:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "19890:148:22", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$gasvalue", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 8538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "19890:152:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19872:170:22" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 8541, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "20093:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8542, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20099:16:22", + "memberName": "rskRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10124, + "src": "20093:22:22", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "id": 8543, + "name": "remainingAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8515, + "src": "20137:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8544, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8530, + "src": "20174:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8545, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8273, + "src": "20203:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 8540, + "name": "Refund", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7156, + "src": "20065:6:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bool_$_t_bytes32_$returns$__$", + "typeString": "function (address,uint256,bool,bytes32)" + } + }, + "id": 8546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20065:165:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8547, + "nodeType": "EmitStatement", + "src": "20060:170:22" + }, + { + "condition": { + "id": 8549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "20253:8:22", + "subExpression": { + "id": 8548, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8530, + "src": "20254:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8557, + "nodeType": "IfStatement", + "src": "20249:310:22", + "trueBody": { + "id": 8556, + "nodeType": "Block", + "src": "20263:296:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 8551, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8257, + "src": "20444:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 8552, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "20450:27:22", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10120, + "src": "20444:33:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 8553, + "name": "remainingAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8515, + "src": "20503:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8550, + "name": "increaseBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9421, + "src": "20403:15:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 8554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "20403:137:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8555, + "nodeType": "ExpressionStatement", + "src": "20403:137:22" + } + ] + } + } + ] + } + } + ] + } + }, + { + "expression": { + "id": 8641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 8637, + "name": "processedQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7233, + "src": "21832:15:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + } + }, + "id": 8639, + "indexExpression": { + "id": 8638, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8273, + "src": "21848:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "21832:26:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 8640, + "name": "PROCESSED_QUOTE_CODE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6991, + "src": "21861:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "21832:49:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 8642, + "nodeType": "ExpressionStatement", + "src": "21832:49:22" + }, + { + "expression": { + "id": 8646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "21891:30:22", + "subExpression": { + "baseExpression": { + "id": 8643, + "name": "callRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7209, + "src": "21898:12:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$7038_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContractV2.Registry storage ref)" + } + }, + "id": 8645, + "indexExpression": { + "id": 8644, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8273, + "src": "21911:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "21898:23:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Registry_$7038_storage", + "typeString": "struct LiquidityBridgeContractV2.Registry storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8647, + "nodeType": "ExpressionStatement", + "src": "21891:30:22" + }, + { + "eventCall": { + "arguments": [ + { + "id": 8649, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8273, + "src": "21952:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 8650, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8316, + "src": "21963:28:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 8648, + "name": "PegInRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7120, + "src": "21936:15:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_int256_$returns$__$", + "typeString": "function (bytes32,int256)" + } + }, + "id": 8651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "21936:56:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8652, + "nodeType": "EmitStatement", + "src": "21931:61:22" + }, + { + "expression": { + "id": 8653, + "name": "transferredAmountOrErrorCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8316, + "src": "22009:28:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 8271, + "id": 8654, + "nodeType": "Return", + "src": "22002:35:22" + } + ] + }, + "documentation": { + "id": 8254, + "nodeType": "StructuredDocumentation", + "src": "15031:506:22", + "text": "@dev Registers a peg-in transaction with the bridge and pays to the involved parties\n@param quote The quote of the service\n@param signature The signature of the quote\n@param btcRawTransaction The peg-in transaction\n@param partialMerkleTree The merkle tree path that proves transaction inclusion\n@param height The block that contains the peg-in transaction\n@return The total peg-in amount received from the bridge contract or an error code" + }, + "functionSelector": "2d67952c", + "id": 8656, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 8268, + "kind": "modifierInvocation", + "modifierName": { + "id": 8267, + "name": "nonReentrant", + "nameLocations": [ + "15758:12:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 344, + "src": "15758:12:22" + }, + "nodeType": "ModifierInvocation", + "src": "15758:12:22" + } + ], + "name": "registerPegIn", + "nameLocation": "15551:13:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8266, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8257, + "mutability": "mutable", + "name": "quote", + "nameLocation": "15601:5:22", + "nodeType": "VariableDeclaration", + "scope": 8656, + "src": "15574:32:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote" + }, + "typeName": { + "id": 8256, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 8255, + "name": "QuotesV2.PeginQuote", + "nameLocations": [ + "15574:8:22", + "15583:10:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10155, + "src": "15574:19:22" + }, + "referencedDeclaration": 10155, + "src": "15574:19:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_storage_ptr", + "typeString": "struct QuotesV2.PeginQuote" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8259, + "mutability": "mutable", + "name": "signature", + "nameLocation": "15629:9:22", + "nodeType": "VariableDeclaration", + "scope": 8656, + "src": "15616:22:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 8258, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "15616:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8261, + "mutability": "mutable", + "name": "btcRawTransaction", + "nameLocation": "15661:17:22", + "nodeType": "VariableDeclaration", + "scope": 8656, + "src": "15648:30:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 8260, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "15648:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8263, + "mutability": "mutable", + "name": "partialMerkleTree", + "nameLocation": "15701:17:22", + "nodeType": "VariableDeclaration", + "scope": 8656, + "src": "15688:30:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 8262, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "15688:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8265, + "mutability": "mutable", + "name": "height", + "nameLocation": "15736:6:22", + "nodeType": "VariableDeclaration", + "scope": 8656, + "src": "15728:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8264, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15728:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "15564:184:22" + }, + "returnParameters": { + "id": 8271, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8270, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 8656, + "src": "15780:6:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 8269, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "15780:6:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "15779:8:22" + }, + "scope": 9752, + "src": "15542:6502:22", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 8788, + "nodeType": "Block", + "src": "22235:998:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 8666, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8659, + "src": "22275:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 8667, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22281:12:22", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10159, + "src": "22275:18:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 8665, + "name": "isRegisteredForPegout", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9481, + "src": "22253:21:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 8668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22253:41:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303337", + "id": 8669, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22296:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ecc75ee801269ba7670799af84ad7f1d968d59315783a708807424c72ec63d04", + "typeString": "literal_string \"LBC037\"" + }, + "value": "LBC037" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ecc75ee801269ba7670799af84ad7f1d968d59315783a708807424c72ec63d04", + "typeString": "literal_string \"LBC037\"" + } + ], + "id": 8664, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "22245:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22245:60:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8671, + "nodeType": "ExpressionStatement", + "src": "22245:60:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8673, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8659, + "src": "22323:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 8674, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22329:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 10175, + "src": "22323:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 8675, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8659, + "src": "22337:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 8676, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22343:7:22", + "memberName": "callFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10167, + "src": "22337:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22323:27:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 8678, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8659, + "src": "22353:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 8679, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22359:16:22", + "memberName": "productFeeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 10191, + "src": "22353:22:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22323:52:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 8681, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8659, + "src": "22378:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 8682, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22384:6:22", + "memberName": "gasFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10193, + "src": "22378:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22323:67:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 8684, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "22394:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22398:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "22394:9:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22323:80:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303633", + "id": 8687, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22405:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0267b5bcac1113eea8a4dc81e170e6fe59336df7f2c6a4d2ae7ad240f894a2f9", + "typeString": "literal_string \"LBC063\"" + }, + "value": "LBC063" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0267b5bcac1113eea8a4dc81e170e6fe59336df7f2c6a4d2ae7ad240f894a2f9", + "typeString": "literal_string \"LBC063\"" + } + ], + "id": 8672, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "22315:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22315:99:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8689, + "nodeType": "ExpressionStatement", + "src": "22315:99:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8691, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "22432:5:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 8692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22438:9:22", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "22432:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 8693, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8659, + "src": "22451:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 8694, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22457:16:22", + "memberName": "depositDateLimit", + "nodeType": "MemberAccess", + "referencedDeclaration": 10179, + "src": "22451:22:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "22432:41:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303635", + "id": 8696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22475:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_39eacc26aa588693c014f46e6dd86f6cac22eb3287098210ddf746f1a6af8214", + "typeString": "literal_string \"LBC065\"" + }, + "value": "LBC065" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_39eacc26aa588693c014f46e6dd86f6cac22eb3287098210ddf746f1a6af8214", + "typeString": "literal_string \"LBC065\"" + } + ], + "id": 8690, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "22424:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22424:60:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8698, + "nodeType": "ExpressionStatement", + "src": "22424:60:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8700, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "22502:5:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 8701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22508:9:22", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "22502:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 8702, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8659, + "src": "22521:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 8703, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22527:10:22", + "memberName": "expireDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 10187, + "src": "22521:16:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "22502:35:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303436", + "id": 8705, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22539:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c8999eb883ba6531127283b89d3773d87761ac547946da55d1f52c5931d8838f", + "typeString": "literal_string \"LBC046\"" + }, + "value": "LBC046" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c8999eb883ba6531127283b89d3773d87761ac547946da55d1f52c5931d8838f", + "typeString": "literal_string \"LBC046\"" + } + ], + "id": 8699, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "22494:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22494:54:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8707, + "nodeType": "ExpressionStatement", + "src": "22494:54:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8709, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "22566:5:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 8710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22572:6:22", + "memberName": "number", + "nodeType": "MemberAccess", + "src": "22566:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 8711, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8659, + "src": "22582:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 8712, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22588:11:22", + "memberName": "expireBlock", + "nodeType": "MemberAccess", + "referencedDeclaration": 10189, + "src": "22582:17:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "22566:33:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303437", + "id": 8714, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22601:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b400745c4fd650850c2059b2d13f12980ca63b7ccd87c008204992f11af559c2", + "typeString": "literal_string \"LBC047\"" + }, + "value": "LBC047" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b400745c4fd650850c2059b2d13f12980ca63b7ccd87c008204992f11af559c2", + "typeString": "literal_string \"LBC047\"" + } + ], + "id": 8708, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "22558:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22558:52:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8716, + "nodeType": "ExpressionStatement", + "src": "22558:52:22" + }, + { + "assignments": [ + 8718 + ], + "declarations": [ + { + "constant": false, + "id": 8718, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "22628:9:22", + "nodeType": "VariableDeclaration", + "scope": 8788, + "src": "22620:17:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8717, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22620:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 8722, + "initialValue": { + "arguments": [ + { + "id": 8720, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8659, + "src": "22656:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + ], + "id": 8719, + "name": "hashPegoutQuote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9258, + "src": "22640:15:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_PegOutQuote_$10194_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct QuotesV2.PegOutQuote memory) view returns (bytes32)" + } + }, + "id": 8721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22640:22:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22620:42:22" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 8726, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8659, + "src": "22719:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 8727, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22725:12:22", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10159, + "src": "22719:18:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 8728, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8718, + "src": "22739:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 8729, + "name": "signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8661, + "src": "22750:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 8724, + "name": "SignatureValidator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10454, + "src": "22693:18:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_SignatureValidator_$10454_$", + "typeString": "type(library SignatureValidator)" + } + }, + "id": 8725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22712:6:22", + "memberName": "verify", + "nodeType": "MemberAccess", + "referencedDeclaration": 10453, + "src": "22693:25:22", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,bytes32,bytes memory) pure returns (bool)" + } + }, + "id": 8730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22693:67:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303239", + "id": 8731, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22774:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ebb41fd1c3d95b8eaff1e56d491f7a983f7f3039fac57e6fad7993de139e2216", + "typeString": "literal_string \"LBC029\"" + }, + "value": "LBC029" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ebb41fd1c3d95b8eaff1e56d491f7a983f7f3039fac57e6fad7993de139e2216", + "typeString": "literal_string \"LBC029\"" + } + ], + "id": 8723, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "22672:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22672:120:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8733, + "nodeType": "ExpressionStatement", + "src": "22672:120:22" + }, + { + "assignments": [ + 8738 + ], + "declarations": [ + { + "constant": false, + "id": 8738, + "mutability": "mutable", + "name": "registeredQuote", + "nameLocation": "22832:15:22", + "nodeType": "VariableDeclaration", + "scope": 8788, + "src": "22803:44:22", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + }, + "typeName": { + "id": 8737, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 8736, + "name": "QuotesV2.PegOutQuote", + "nameLocations": [ + "22803:8:22", + "22812:11:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10194, + "src": "22803:20:22" + }, + "referencedDeclaration": 10194, + "src": "22803:20:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + } + }, + "visibility": "internal" + } + ], + "id": 8742, + "initialValue": { + "baseExpression": { + "id": 8739, + "name": "registeredPegoutQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7238, + "src": "22850:22:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegOutQuote_$10194_storage_$", + "typeString": "mapping(bytes32 => struct QuotesV2.PegOutQuote storage ref)" + } + }, + "id": 8741, + "indexExpression": { + "id": 8740, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8718, + "src": "22873:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22850:33:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage", + "typeString": "struct QuotesV2.PegOutQuote storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22803:80:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 8749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 8744, + "name": "pegoutRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7243, + "src": "22902:14:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegoutRecord_$7043_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContractV2.PegoutRecord storage ref)" + } + }, + "id": 8746, + "indexExpression": { + "id": 8745, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8718, + "src": "22917:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22902:25:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegoutRecord_$7043_storage", + "typeString": "struct LiquidityBridgeContractV2.PegoutRecord storage ref" + } + }, + "id": 8747, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22928:9:22", + "memberName": "completed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7042, + "src": "22902:35:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "66616c7365", + "id": 8748, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22941:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "22902:44:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303634", + "id": 8750, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22948:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_35937926b0033772f3bb574f0cbcffec40211211a6070977d47733885bf234eb", + "typeString": "literal_string \"LBC064\"" + }, + "value": "LBC064" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_35937926b0033772f3bb574f0cbcffec40211211a6070977d47733885bf234eb", + "typeString": "literal_string \"LBC064\"" + } + ], + "id": 8743, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "22894:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22894:63:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8752, + "nodeType": "ExpressionStatement", + "src": "22894:63:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 8760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8754, + "name": "registeredQuote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8738, + "src": "22975:15:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 8755, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "22991:10:22", + "memberName": "lbcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10157, + "src": "22975:26:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 8758, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23013:1:22", + "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": 8757, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "23005:7:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 8756, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23005:7:22", + "typeDescriptions": {} + } + }, + "id": 8759, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23005:10:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "22975:40:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303238", + "id": 8761, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23017:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4c4b8fd0ae53a3caa85e74f53bba210cefdcb0e1d1c519eb8385d2cd3741f7fb", + "typeString": "literal_string \"LBC028\"" + }, + "value": "LBC028" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4c4b8fd0ae53a3caa85e74f53bba210cefdcb0e1d1c519eb8385d2cd3741f7fb", + "typeString": "literal_string \"LBC028\"" + } + ], + "id": 8753, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "22967:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "22967:59:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8763, + "nodeType": "ExpressionStatement", + "src": "22967:59:22" + }, + { + "expression": { + "id": 8768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 8764, + "name": "registeredPegoutQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7238, + "src": "23036:22:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegOutQuote_$10194_storage_$", + "typeString": "mapping(bytes32 => struct QuotesV2.PegOutQuote storage ref)" + } + }, + "id": 8766, + "indexExpression": { + "id": 8765, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8718, + "src": "23059:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "23036:33:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage", + "typeString": "struct QuotesV2.PegOutQuote storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 8767, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8659, + "src": "23072:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "src": "23036:41:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage", + "typeString": "struct QuotesV2.PegOutQuote storage ref" + } + }, + "id": 8769, + "nodeType": "ExpressionStatement", + "src": "23036:41:22" + }, + { + "expression": { + "id": 8776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 8770, + "name": "pegoutRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7243, + "src": "23087:14:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegoutRecord_$7043_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContractV2.PegoutRecord storage ref)" + } + }, + "id": 8772, + "indexExpression": { + "id": 8771, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8718, + "src": "23102:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23087:25:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegoutRecord_$7043_storage", + "typeString": "struct LiquidityBridgeContractV2.PegoutRecord storage ref" + } + }, + "id": 8773, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "23113:16:22", + "memberName": "depositTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 7040, + "src": "23087:42:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 8774, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "23132:5:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 8775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23138:9:22", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "23132:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23087:60:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8777, + "nodeType": "ExpressionStatement", + "src": "23087:60:22" + }, + { + "eventCall": { + "arguments": [ + { + "id": 8779, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8718, + "src": "23176:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 8780, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "23187:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23191:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "23187:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 8782, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "23199:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23203:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "23199:9:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 8784, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "23210:5:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 8785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23216:9:22", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "23210:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8778, + "name": "PegOutDeposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7170, + "src": "23162:13:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint256)" + } + }, + "id": 8786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23162:64:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8787, + "nodeType": "EmitStatement", + "src": "23157:69:22" + } + ] + }, + "functionSelector": "8beb537a", + "id": 8789, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "depositPegout", + "nameLocation": "22059:13:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8662, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8659, + "mutability": "mutable", + "name": "quote", + "nameLocation": "22174:5:22", + "nodeType": "VariableDeclaration", + "scope": 8789, + "src": "22146:33:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + }, + "typeName": { + "id": 8658, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 8657, + "name": "QuotesV2.PegOutQuote", + "nameLocations": [ + "22146:8:22", + "22155:11:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10194, + "src": "22146:20:22" + }, + "referencedDeclaration": 10194, + "src": "22146:20:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8661, + "mutability": "mutable", + "name": "signature", + "nameLocation": "22202:9:22", + "nodeType": "VariableDeclaration", + "scope": 8789, + "src": "22189:22:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 8660, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "22189:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "22072:145:22" + }, + "returnParameters": { + "id": 8663, + "nodeType": "ParameterList", + "parameters": [], + "src": "22235:0:22" + }, + "scope": 9752, + "src": "22050:1183:22", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 8908, + "nodeType": "Block", + "src": "23320:1003:22", + "statements": [ + { + "assignments": [ + 8800 + ], + "declarations": [ + { + "constant": false, + "id": 8800, + "mutability": "mutable", + "name": "quote", + "nameLocation": "23359:5:22", + "nodeType": "VariableDeclaration", + "scope": 8908, + "src": "23330:34:22", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + }, + "typeName": { + "id": 8799, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 8798, + "name": "QuotesV2.PegOutQuote", + "nameLocations": [ + "23330:8:22", + "23339:11:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10194, + "src": "23330:20:22" + }, + "referencedDeclaration": 10194, + "src": "23330:20:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + } + }, + "visibility": "internal" + } + ], + "id": 8804, + "initialValue": { + "baseExpression": { + "id": 8801, + "name": "registeredPegoutQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7238, + "src": "23367:22:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegOutQuote_$10194_storage_$", + "typeString": "mapping(bytes32 => struct QuotesV2.PegOutQuote storage ref)" + } + }, + "id": 8803, + "indexExpression": { + "id": 8802, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8791, + "src": "23390:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23367:33:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage", + "typeString": "struct QuotesV2.PegOutQuote storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23330:70:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 8812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8806, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8800, + "src": "23419:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 8807, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23425:10:22", + "memberName": "lbcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10157, + "src": "23419:16:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 8810, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23447:1:22", + "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": 8809, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "23439:7:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 8808, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23439:7:22", + "typeDescriptions": {} + } + }, + "id": 8811, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23439:10:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "23419:30:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303432", + "id": 8813, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23451:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_100fb89310beea959f828c5ca2a95ca4d28be5d0ba0e61e54b1345b68d14b6a1", + "typeString": "literal_string \"LBC042\"" + }, + "value": "LBC042" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_100fb89310beea959f828c5ca2a95ca4d28be5d0ba0e61e54b1345b68d14b6a1", + "typeString": "literal_string \"LBC042\"" + } + ], + "id": 8805, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "23411:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23411:49:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8815, + "nodeType": "ExpressionStatement", + "src": "23411:49:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 8827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8817, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "23491:5:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 8818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23497:9:22", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "23491:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 8819, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8800, + "src": "23509:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 8820, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23515:10:22", + "memberName": "expireDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 10187, + "src": "23509:16:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "23491:34:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8822, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "23541:5:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 8823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23547:6:22", + "memberName": "number", + "nodeType": "MemberAccess", + "src": "23541:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 8824, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8800, + "src": "23556:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 8825, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23562:11:22", + "memberName": "expireBlock", + "nodeType": "MemberAccess", + "referencedDeclaration": 10189, + "src": "23556:17:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "23541:32:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "23491:82:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303431", + "id": 8828, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23587:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_476e33256b298fee7fc3dab0c339427caa3a9a4a44654f7f02b328083d44ca74", + "typeString": "literal_string \"LBC041\"" + }, + "value": "LBC041" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_476e33256b298fee7fc3dab0c339427caa3a9a4a44654f7f02b328083d44ca74", + "typeString": "literal_string \"LBC041\"" + } + ], + "id": 8816, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "23470:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23470:135:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8830, + "nodeType": "ExpressionStatement", + "src": "23470:135:22" + }, + { + "assignments": [ + 8832 + ], + "declarations": [ + { + "constant": false, + "id": 8832, + "mutability": "mutable", + "name": "valueToTransfer", + "nameLocation": "23621:15:22", + "nodeType": "VariableDeclaration", + "scope": 8908, + "src": "23616:20:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8831, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23616:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8844, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8833, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8800, + "src": "23639:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 8834, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23645:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 10175, + "src": "23639:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 8835, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8800, + "src": "23653:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 8836, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23659:7:22", + "memberName": "callFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10167, + "src": "23653:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23639:27:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 8838, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8800, + "src": "23669:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 8839, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23675:16:22", + "memberName": "productFeeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 10191, + "src": "23669:22:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23639:52:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 8841, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8800, + "src": "23694:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 8842, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23700:6:22", + "memberName": "gasFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10193, + "src": "23694:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23639:67:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23616:90:22" + }, + { + "assignments": [ + 8846 + ], + "declarations": [ + { + "constant": false, + "id": 8846, + "mutability": "mutable", + "name": "addressToTransfer", + "nameLocation": "23724:17:22", + "nodeType": "VariableDeclaration", + "scope": 8908, + "src": "23716:25:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8845, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23716:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 8849, + "initialValue": { + "expression": { + "id": 8847, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8800, + "src": "23744:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 8848, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23750:16:22", + "memberName": "rskRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10163, + "src": "23744:22:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23716:50:22" + }, + { + "assignments": [ + 8851 + ], + "declarations": [ + { + "constant": false, + "id": 8851, + "mutability": "mutable", + "name": "penalty", + "nameLocation": "23782:7:22", + "nodeType": "VariableDeclaration", + "scope": 8908, + "src": "23777:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8850, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23777:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 8860, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 8853, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8800, + "src": "23796:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 8854, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23802:10:22", + "memberName": "penaltyFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10169, + "src": "23796:16:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 8855, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7199, + "src": "23814:16:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8858, + "indexExpression": { + "expression": { + "id": 8856, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8800, + "src": "23831:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 8857, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23837:12:22", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10159, + "src": "23831:18:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23814:36:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8852, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9402, + "src": "23792:3:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 8859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23792:59:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23777:74:22" + }, + { + "expression": { + "id": 8866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 8861, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7199, + "src": "23861:16:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8864, + "indexExpression": { + "expression": { + "id": 8862, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8800, + "src": "23878:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 8863, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23884:12:22", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10159, + "src": "23878:18:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "23861:36:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 8865, + "name": "penalty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8851, + "src": "23901:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23861:47:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8867, + "nodeType": "ExpressionStatement", + "src": "23861:47:22" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 8869, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8800, + "src": "23934:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 8870, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "23940:12:22", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10159, + "src": "23934:18:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 8871, + "name": "penalty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8851, + "src": "23954:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8872, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8791, + "src": "23963:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 8868, + "name": "Penalized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7128, + "src": "23924:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$__$", + "typeString": "function (address,uint256,bytes32)" + } + }, + "id": 8873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23924:49:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8874, + "nodeType": "EmitStatement", + "src": "23919:54:22" + }, + { + "eventCall": { + "arguments": [ + { + "id": 8876, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8791, + "src": "24020:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 8877, + "name": "valueToTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8832, + "src": "24043:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 8878, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8800, + "src": "24072:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 8879, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24078:16:22", + "memberName": "rskRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10163, + "src": "24072:22:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 8875, + "name": "PegOutUserRefunded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7178, + "src": "23988:18:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (bytes32,uint256,address)" + } + }, + "id": 8880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "23988:116:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8881, + "nodeType": "EmitStatement", + "src": "23983:121:22" + }, + { + "expression": { + "id": 8885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "24115:40:22", + "subExpression": { + "baseExpression": { + "id": 8882, + "name": "registeredPegoutQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7238, + "src": "24122:22:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegOutQuote_$10194_storage_$", + "typeString": "mapping(bytes32 => struct QuotesV2.PegOutQuote storage ref)" + } + }, + "id": 8884, + "indexExpression": { + "id": 8883, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8791, + "src": "24145:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "24122:33:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage", + "typeString": "struct QuotesV2.PegOutQuote storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8886, + "nodeType": "ExpressionStatement", + "src": "24115:40:22" + }, + { + "expression": { + "id": 8892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 8887, + "name": "pegoutRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7243, + "src": "24165:14:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegoutRecord_$7043_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContractV2.PegoutRecord storage ref)" + } + }, + "id": 8889, + "indexExpression": { + "id": 8888, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8791, + "src": "24180:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24165:25:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegoutRecord_$7043_storage", + "typeString": "struct LiquidityBridgeContractV2.PegoutRecord storage ref" + } + }, + "id": 8890, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "24191:9:22", + "memberName": "completed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7042, + "src": "24165:35:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 8891, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24203:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "24165:42:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8893, + "nodeType": "ExpressionStatement", + "src": "24165:42:22" + }, + { + "assignments": [ + 8895, + null + ], + "declarations": [ + { + "constant": false, + "id": 8895, + "mutability": "mutable", + "name": "sent", + "nameLocation": "24224:4:22", + "nodeType": "VariableDeclaration", + "scope": 8908, + "src": "24219:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8894, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24219:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 8902, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 8900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24280:2:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "id": 8896, + "name": "addressToTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8846, + "src": "24233:17:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24251:4:22", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "24233:22:22", + "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": 8899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 8898, + "name": "valueToTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8832, + "src": "24263:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "24233:46:22", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 8901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24233:50:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "24218:65:22" + }, + { + "expression": { + "arguments": [ + { + "id": 8904, + "name": "sent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8895, + "src": "24301:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303434", + "id": 8905, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24307:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0a7ff570d31f7e351d06bf5b8d0ef26a9275a9d32a7dffd7981a6c6ac58227c6", + "typeString": "literal_string \"LBC044\"" + }, + "value": "LBC044" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0a7ff570d31f7e351d06bf5b8d0ef26a9275a9d32a7dffd7981a6c6ac58227c6", + "typeString": "literal_string \"LBC044\"" + } + ], + "id": 8903, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "24293:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24293:23:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8907, + "nodeType": "ExpressionStatement", + "src": "24293:23:22" + } + ] + }, + "functionSelector": "8f91797d", + "id": 8909, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 8794, + "kind": "modifierInvocation", + "modifierName": { + "id": 8793, + "name": "nonReentrant", + "nameLocations": [ + "23307:12:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 344, + "src": "23307:12:22" + }, + "nodeType": "ModifierInvocation", + "src": "23307:12:22" + } + ], + "name": "refundUserPegOut", + "nameLocation": "23248:16:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8791, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "23282:9:22", + "nodeType": "VariableDeclaration", + "scope": 8909, + "src": "23274:17:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8790, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23274:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "23264:33:22" + }, + "returnParameters": { + "id": 8795, + "nodeType": "ParameterList", + "parameters": [], + "src": "23320:0:22" + }, + "scope": 9752, + "src": "23239:1084:22", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 9178, + "nodeType": "Block", + "src": "24574:2271:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 8933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 8928, + "name": "pegoutRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7243, + "src": "24592:14:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegoutRecord_$7043_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContractV2.PegoutRecord storage ref)" + } + }, + "id": 8930, + "indexExpression": { + "id": 8929, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8911, + "src": "24607:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24592:25:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegoutRecord_$7043_storage", + "typeString": "struct LiquidityBridgeContractV2.PegoutRecord storage ref" + } + }, + "id": 8931, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24618:9:22", + "memberName": "completed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7042, + "src": "24592:35:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "66616c7365", + "id": 8932, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24631:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "24592:44:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303634", + "id": 8934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24638:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_35937926b0033772f3bb574f0cbcffec40211211a6070977d47733885bf234eb", + "typeString": "literal_string \"LBC064\"" + }, + "value": "LBC064" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_35937926b0033772f3bb574f0cbcffec40211211a6070977d47733885bf234eb", + "typeString": "literal_string \"LBC064\"" + } + ], + "id": 8927, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "24584:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24584:63:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8936, + "nodeType": "ExpressionStatement", + "src": "24584:63:22" + }, + { + "assignments": [ + 8941 + ], + "declarations": [ + { + "constant": false, + "id": 8941, + "mutability": "mutable", + "name": "quote", + "nameLocation": "24686:5:22", + "nodeType": "VariableDeclaration", + "scope": 9178, + "src": "24657:34:22", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + }, + "typeName": { + "id": 8940, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 8939, + "name": "QuotesV2.PegOutQuote", + "nameLocations": [ + "24657:8:22", + "24666:11:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10194, + "src": "24657:20:22" + }, + "referencedDeclaration": 10194, + "src": "24657:20:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + } + }, + "visibility": "internal" + } + ], + "id": 8945, + "initialValue": { + "baseExpression": { + "id": 8942, + "name": "registeredPegoutQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7238, + "src": "24694:22:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegOutQuote_$10194_storage_$", + "typeString": "mapping(bytes32 => struct QuotesV2.PegOutQuote storage ref)" + } + }, + "id": 8944, + "indexExpression": { + "id": 8943, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8911, + "src": "24717:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24694:33:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage", + "typeString": "struct QuotesV2.PegOutQuote storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "24657:70:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 8953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8947, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8941, + "src": "24745:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 8948, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24751:10:22", + "memberName": "lbcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10157, + "src": "24745:16:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 8951, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24773:1:22", + "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": 8950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "24765:7:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 8949, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "24765:7:22", + "typeDescriptions": {} + } + }, + "id": 8952, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24765:10:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "24745:30:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303432", + "id": 8954, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24777:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_100fb89310beea959f828c5ca2a95ca4d28be5d0ba0e61e54b1345b68d14b6a1", + "typeString": "literal_string \"LBC042\"" + }, + "value": "LBC042" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_100fb89310beea959f828c5ca2a95ca4d28be5d0ba0e61e54b1345b68d14b6a1", + "typeString": "literal_string \"LBC042\"" + } + ], + "id": 8946, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "24737:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24737:49:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8956, + "nodeType": "ExpressionStatement", + "src": "24737:49:22" + }, + { + "assignments": [ + 8962 + ], + "declarations": [ + { + "constant": false, + "id": 8962, + "mutability": "mutable", + "name": "outputs", + "nameLocation": "24826:7:22", + "nodeType": "VariableDeclaration", + "scope": 9178, + "src": "24796:37:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput[]" + }, + "typeName": { + "baseType": { + "id": 8960, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 8959, + "name": "BtcUtils.TxRawOutput", + "nameLocations": [ + "24796:8:22", + "24805:11:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1968, + "src": "24796:20:22" + }, + "referencedDeclaration": 1968, + "src": "24796:20:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_storage_ptr", + "typeString": "struct BtcUtils.TxRawOutput" + } + }, + "id": 8961, + "nodeType": "ArrayTypeName", + "src": "24796:22:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_storage_$dyn_storage_ptr", + "typeString": "struct BtcUtils.TxRawOutput[]" + } + }, + "visibility": "internal" + } + ], + "id": 8967, + "initialValue": { + "arguments": [ + { + "id": 8965, + "name": "btcTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8913, + "src": "24856:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 8963, + "name": "BtcUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "24836:8:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BtcUtils_$2805_$", + "typeString": "type(library BtcUtils)" + } + }, + "id": 8964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24845:10:22", + "memberName": "getOutputs", + "nodeType": "MemberAccess", + "referencedDeclaration": 2107, + "src": "24836:19:22", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (bytes memory) pure returns (struct BtcUtils.TxRawOutput memory[] memory)" + } + }, + "id": 8966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24836:26:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "24796:66:22" + }, + { + "assignments": [ + 8969 + ], + "declarations": [ + { + "constant": false, + "id": 8969, + "mutability": "mutable", + "name": "scriptContent", + "nameLocation": "24885:13:22", + "nodeType": "VariableDeclaration", + "scope": 9178, + "src": "24872:26:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 8968, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "24872:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 8977, + "initialValue": { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 8972, + "name": "outputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8962, + "src": "24930:7:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory[] memory" + } + }, + "id": 8974, + "indexExpression": { + "id": 8973, + "name": "QUOTE_HASH_OUTPUT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7033, + "src": "24938:17:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24930:26:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory" + } + }, + "id": 8975, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24957:8:22", + "memberName": "pkScript", + "nodeType": "MemberAccess", + "referencedDeclaration": 1963, + "src": "24930:35:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 8970, + "name": "BtcUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "24901:8:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BtcUtils_$2805_$", + "typeString": "type(library BtcUtils)" + } + }, + "id": 8971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24910:19:22", + "memberName": "parseNullDataScript", + "nodeType": "MemberAccess", + "referencedDeclaration": 2393, + "src": "24901:28:22", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) pure returns (bytes memory)" + } + }, + "id": 8976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24901:65:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "24872:94:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 8988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8979, + "name": "scriptContent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8969, + "src": "24984:13:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 8980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "24998:6:22", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "24984:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3333", + "id": 8981, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25008:2:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_33_by_1", + "typeString": "int_const 33" + }, + "value": "33" + }, + "src": "24984:26:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "id": 8987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 8983, + "name": "scriptContent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8969, + "src": "25014:13:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 8985, + "indexExpression": { + "hexValue": "30", + "id": 8984, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25028:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25014:16:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30783230", + "id": 8986, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25034:4:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "0x20" + }, + "src": "25014:24:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "24984:54:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303735", + "id": 8989, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25040:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d0a12d6767c9352a89748f00976b0ffc4b9ff4b643d9cc1082f2df3b625d402a", + "typeString": "literal_string \"LBC075\"" + }, + "value": "LBC075" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d0a12d6767c9352a89748f00976b0ffc4b9ff4b643d9cc1082f2df3b625d402a", + "typeString": "literal_string \"LBC075\"" + } + ], + "id": 8978, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "24976:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 8990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "24976:73:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8991, + "nodeType": "ExpressionStatement", + "src": "24976:73:22" + }, + { + "body": { + "id": 9015, + "nodeType": "Block", + "src": "25176:64:22", + "statements": [ + { + "expression": { + "id": 9013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 9005, + "name": "scriptContent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8969, + "src": "25190:13:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 9007, + "indexExpression": { + "id": 9006, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8993, + "src": "25204:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "25190:16:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 9008, + "name": "scriptContent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8969, + "src": "25209:13:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 9012, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 9011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9009, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8993, + "src": "25223:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 9010, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25227:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "25223:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25209:20:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "25190:39:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 9014, + "nodeType": "ExpressionStatement", + "src": "25190:39:22" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 8996, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8993, + "src": "25141:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 8997, + "name": "scriptContent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8969, + "src": "25145:13:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 8998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25159:6:22", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "25145:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 8999, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25168:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "25145:24:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "25141:28:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9016, + "initializationExpression": { + "assignments": [ + 8993 + ], + "declarations": [ + { + "constant": false, + "id": 8993, + "mutability": "mutable", + "name": "i", + "nameLocation": "25133:1:22", + "nodeType": "VariableDeclaration", + "scope": 9016, + "src": "25127:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 8992, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "25127:5:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 8995, + "initialValue": { + "hexValue": "30", + "id": 8994, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25137:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "25127:11:22" + }, + "loopExpression": { + "expression": { + "id": 9003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "25171:3:22", + "subExpression": { + "id": 9002, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8993, + "src": "25171:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 9004, + "nodeType": "ExpressionStatement", + "src": "25171:3:22" + }, + "nodeType": "ForStatement", + "src": "25122:118:22" + }, + { + "assignments": [ + 9018 + ], + "declarations": [ + { + "constant": false, + "id": 9018, + "mutability": "mutable", + "name": "txQuoteHash", + "nameLocation": "25257:11:22", + "nodeType": "VariableDeclaration", + "scope": 9178, + "src": "25249:19:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9017, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "25249:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 9026, + "initialValue": { + "arguments": [ + { + "id": 9021, + "name": "scriptContent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8969, + "src": "25282:13:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 9023, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "25298:7:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 9022, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "25298:7:22", + "typeDescriptions": {} + } + } + ], + "id": 9024, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "25297:9:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + } + ], + "expression": { + "id": 9019, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "25271:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "25275:6:22", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "25271:10:22", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 9025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25271:36:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "25249:58:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 9030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9028, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8911, + "src": "25325:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 9029, + "name": "txQuoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9018, + "src": "25338:11:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "25325:24:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303639", + "id": 9031, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25351:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5cf5f7c75a2357c5697933702fe9f20c432f8f5205def7bf18572d390cea5cc1", + "typeString": "literal_string \"LBC069\"" + }, + "value": "LBC069" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5cf5f7c75a2357c5697933702fe9f20c432f8f5205def7bf18572d390cea5cc1", + "typeString": "literal_string \"LBC069\"" + } + ], + "id": 9027, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "25317:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25317:43:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9033, + "nodeType": "ExpressionStatement", + "src": "25317:43:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 9035, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "25378:3:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25382:6:22", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "25378:10:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 9037, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8941, + "src": "25392:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 9038, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25398:12:22", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10159, + "src": "25392:18:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "25378:32:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303438", + "id": 9040, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25412:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3c14ff4570332247d29826742fdf7f014a86ddbee2c49b0252a79ef49351f196", + "typeString": "literal_string \"LBC048\"" + }, + "value": "LBC048" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3c14ff4570332247d29826742fdf7f014a86ddbee2c49b0252a79ef49351f196", + "typeString": "literal_string \"LBC048\"" + } + ], + "id": 9034, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "25370:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25370:51:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9042, + "nodeType": "ExpressionStatement", + "src": "25370:51:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 9048, + "name": "btcTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8913, + "src": "25526:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 9046, + "name": "BtcUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "25507:8:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BtcUtils_$2805_$", + "typeString": "type(library BtcUtils)" + } + }, + "id": 9047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25516:9:22", + "memberName": "hashBtcTx", + "nodeType": "MemberAccess", + "referencedDeclaration": 2461, + "src": "25507:18:22", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 9049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25507:25:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 9050, + "name": "btcBlockHeaderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8915, + "src": "25550:18:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 9051, + "name": "partialMerkleTree", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8917, + "src": "25586:17:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9052, + "name": "merkleBranchHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8920, + "src": "25621:18:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "expression": { + "id": 9044, + "name": "bridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7187, + "src": "25452:6:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + }, + "id": 9045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25459:30:22", + "memberName": "getBtcTransactionConfirmations", + "nodeType": "MemberAccess", + "referencedDeclaration": 3118, + "src": "25452:37:22", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_int256_$", + "typeString": "function (bytes32,bytes32,uint256,bytes32[] memory) view external returns (int256)" + } + }, + "id": 9053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25452:201:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 9058, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8941, + "src": "25669:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 9059, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25675:21:22", + "memberName": "transferConfirmations", + "nodeType": "MemberAccess", + "referencedDeclaration": 10183, + "src": "25669:27:22", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + ], + "id": 9057, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "25661:7:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 9056, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25661:7:22", + "typeDescriptions": {} + } + }, + "id": 9060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25661:36:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9055, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "25657:3:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int256_$", + "typeString": "type(int256)" + }, + "typeName": { + "id": 9054, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "25657:3:22", + "typeDescriptions": {} + } + }, + "id": 9061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25657:41:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "25452:246:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303439", + "id": 9063, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25712:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_41cc9877d5a72c2a0ef0c602e024ddc86a1f279ef7306bab75dd3c5447ffb6e0", + "typeString": "literal_string \"LBC049\"" + }, + "value": "LBC049" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_41cc9877d5a72c2a0ef0c602e024ddc86a1f279ef7306bab75dd3c5447ffb6e0", + "typeString": "literal_string \"LBC049\"" + } + ], + "id": 9043, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "25431:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25431:299:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9065, + "nodeType": "ExpressionStatement", + "src": "25431:299:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 9067, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8941, + "src": "25748:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 9068, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25754:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 10175, + "src": "25748:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 9077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 9069, + "name": "outputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8962, + "src": "25763:7:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory[] memory" + } + }, + "id": 9071, + "indexExpression": { + "id": 9070, + "name": "PAY_TO_ADDRESS_OUTPUT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7030, + "src": "25771:21:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25763:30:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory" + } + }, + "id": 9072, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25794:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1961, + "src": "25763:36:22", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_10000000000_by_1", + "typeString": "int_const 10000000000" + }, + "id": 9075, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 9073, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25803:2:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3130", + "id": 9074, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25807:2:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "25803:6:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000_by_1", + "typeString": "int_const 10000000000" + } + } + ], + "id": 9076, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "25802:8:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000_by_1", + "typeString": "int_const 10000000000" + } + }, + "src": "25763:47:22", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "25748:62:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303637", + "id": 9079, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25812:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_94643b69f05d64f660a022cd48046be494c1ed271b5d9ae602f6fdadc77976be", + "typeString": "literal_string \"LBC067\"" + }, + "value": "LBC067" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_94643b69f05d64f660a022cd48046be494c1ed271b5d9ae602f6fdadc77976be", + "typeString": "literal_string \"LBC067\"" + } + ], + "id": 9066, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "25740:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25740:81:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9081, + "nodeType": "ExpressionStatement", + "src": "25740:81:22" + }, + { + "assignments": [ + 9083 + ], + "declarations": [ + { + "constant": false, + "id": 9083, + "mutability": "mutable", + "name": "btcTxDestination", + "nameLocation": "25862:16:22", + "nodeType": "VariableDeclaration", + "scope": 9178, + "src": "25849:29:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9082, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "25849:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 9092, + "initialValue": { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 9086, + "name": "outputs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8962, + "src": "25911:7:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TxRawOutput_$1968_memory_ptr_$dyn_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory[] memory" + } + }, + "id": 9088, + "indexExpression": { + "id": 9087, + "name": "PAY_TO_ADDRESS_OUTPUT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7030, + "src": "25919:21:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25911:30:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TxRawOutput_$1968_memory_ptr", + "typeString": "struct BtcUtils.TxRawOutput memory" + } + }, + "id": 9089, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25942:8:22", + "memberName": "pkScript", + "nodeType": "MemberAccess", + "referencedDeclaration": 1963, + "src": "25911:39:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 9090, + "name": "mainnet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7229, + "src": "25952:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 9084, + "name": "BtcUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "25881:8:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BtcUtils_$2805_$", + "typeString": "type(library BtcUtils)" + } + }, + "id": 9085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25890:20:22", + "memberName": "parsePayToPubKeyHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 2309, + "src": "25881:29:22", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$_t_bool_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory,bool) pure returns (bytes memory)" + } + }, + "id": 9091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25881:79:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "25849:111:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 9101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "expression": { + "id": 9095, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8941, + "src": "25988:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 9096, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "25994:15:22", + "memberName": "deposityAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10173, + "src": "25988:21:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + ], + "id": 9094, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "25978:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 9097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25978:32:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 9099, + "name": "btcTxDestination", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9083, + "src": "26024:16:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9098, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "26014:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 9100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26014:27:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "25978:63:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303638", + "id": 9102, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26043:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7cd3d68dd2419ceccbacf2f69bda9c4c2f3bdb0c0535db4bbef90be788c8f7de", + "typeString": "literal_string \"LBC068\"" + }, + "value": "LBC068" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_7cd3d68dd2419ceccbacf2f69bda9c4c2f3bdb0c0535db4bbef90be788c8f7de", + "typeString": "literal_string \"LBC068\"" + } + ], + "id": 9093, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "25970:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "25970:82:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9104, + "nodeType": "ExpressionStatement", + "src": "25970:82:22" + }, + { + "condition": { + "arguments": [ + { + "id": 9106, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8941, + "src": "26116:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + { + "id": 9107, + "name": "txQuoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9018, + "src": "26135:11:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 9108, + "name": "btcBlockHeaderHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8915, + "src": "26160:18:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 9105, + "name": "shouldPenalizePegOutLP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9716, + "src": "26080:22:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_PegOutQuote_$10194_memory_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct QuotesV2.PegOutQuote memory,bytes32,bytes32) view returns (bool)" + } + }, + "id": 9109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26080:108:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9136, + "nodeType": "IfStatement", + "src": "26063:412:22", + "trueBody": { + "id": 9135, + "nodeType": "Block", + "src": "26199:276:22", + "statements": [ + { + "assignments": [ + 9111 + ], + "declarations": [ + { + "constant": false, + "id": 9111, + "mutability": "mutable", + "name": "penalty", + "nameLocation": "26218:7:22", + "nodeType": "VariableDeclaration", + "scope": 9135, + "src": "26213:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9110, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26213:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 9120, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 9113, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8941, + "src": "26249:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 9114, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26255:10:22", + "memberName": "penaltyFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10169, + "src": "26249:16:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 9115, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7199, + "src": "26283:16:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 9118, + "indexExpression": { + "expression": { + "id": 9116, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8941, + "src": "26300:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 9117, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26306:12:22", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10159, + "src": "26300:18:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26283:36:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9112, + "name": "min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9402, + "src": "26228:3:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 9119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26228:105:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "26213:120:22" + }, + { + "expression": { + "id": 9126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 9121, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7199, + "src": "26347:16:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 9124, + "indexExpression": { + "expression": { + "id": 9122, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8941, + "src": "26364:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 9123, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26370:12:22", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10159, + "src": "26364:18:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "26347:36:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 9125, + "name": "penalty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9111, + "src": "26387:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "26347:47:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9127, + "nodeType": "ExpressionStatement", + "src": "26347:47:22" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 9129, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8941, + "src": "26423:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 9130, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26429:12:22", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10159, + "src": "26423:18:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9131, + "name": "penalty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9111, + "src": "26443:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9132, + "name": "txQuoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9018, + "src": "26452:11:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 9128, + "name": "Penalized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7128, + "src": "26413:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$__$", + "typeString": "function (address,uint256,bytes32)" + } + }, + "id": 9133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26413:51:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9134, + "nodeType": "EmitStatement", + "src": "26408:56:22" + } + ] + } + }, + { + "assignments": [ + 9138, + null + ], + "declarations": [ + { + "constant": false, + "id": 9138, + "mutability": "mutable", + "name": "sent", + "nameLocation": "26491:4:22", + "nodeType": "VariableDeclaration", + "scope": 9178, + "src": "26486:9:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9137, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26486:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 9150, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 9148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26590:2:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "expression": { + "id": 9139, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8941, + "src": "26500:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 9140, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26506:12:22", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10159, + "src": "26500:18:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26519:4:22", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "26500:23:22", + "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": 9147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 9142, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8941, + "src": "26548:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 9143, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26554:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 10175, + "src": "26548:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 9144, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8941, + "src": "26562:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 9145, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26568:7:22", + "memberName": "callFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10167, + "src": "26562:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "26548:27:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "26500:89:22", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 9149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26500:93:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "26485:108:22" + }, + { + "expression": { + "arguments": [ + { + "id": 9152, + "name": "sent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9138, + "src": "26611:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303530", + "id": 9153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26617:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3dcf1159943f9eee729b997e5df9acd0f1771321696b1fb47efa6e54bee2f352", + "typeString": "literal_string \"LBC050\"" + }, + "value": "LBC050" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3dcf1159943f9eee729b997e5df9acd0f1771321696b1fb47efa6e54bee2f352", + "typeString": "literal_string \"LBC050\"" + } + ], + "id": 9151, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "26603:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26603:23:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9155, + "nodeType": "ExpressionStatement", + "src": "26603:23:22" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 9157, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8941, + "src": "26655:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote storage pointer" + } + }, + "id": 9158, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "26661:16:22", + "memberName": "productFeeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 10191, + "src": "26655:22:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9159, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8911, + "src": "26679:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 9156, + "name": "payToFeeCollector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9751, + "src": "26637:17:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes32_$returns$__$", + "typeString": "function (uint256,bytes32)" + } + }, + "id": 9160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26637:52:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9161, + "nodeType": "ExpressionStatement", + "src": "26637:52:22" + }, + { + "expression": { + "id": 9165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "26700:42:22", + "subExpression": { + "baseExpression": { + "id": 9162, + "name": "registeredPegoutQuotes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7238, + "src": "26707:22:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegOutQuote_$10194_storage_$", + "typeString": "mapping(bytes32 => struct QuotesV2.PegOutQuote storage ref)" + } + }, + "id": 9164, + "indexExpression": { + "id": 9163, + "name": "txQuoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9018, + "src": "26730:11:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "26707:35:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage", + "typeString": "struct QuotesV2.PegOutQuote storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9166, + "nodeType": "ExpressionStatement", + "src": "26700:42:22" + }, + { + "expression": { + "id": 9172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 9167, + "name": "pegoutRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7243, + "src": "26752:14:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegoutRecord_$7043_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContractV2.PegoutRecord storage ref)" + } + }, + "id": 9169, + "indexExpression": { + "id": 9168, + "name": "txQuoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9018, + "src": "26767:11:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26752:27:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegoutRecord_$7043_storage", + "typeString": "struct LiquidityBridgeContractV2.PegoutRecord storage ref" + } + }, + "id": 9170, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "26780:9:22", + "memberName": "completed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7042, + "src": "26752:37:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 9171, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26792:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "26752:44:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9173, + "nodeType": "ExpressionStatement", + "src": "26752:44:22" + }, + { + "eventCall": { + "arguments": [ + { + "id": 9175, + "name": "txQuoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9018, + "src": "26826:11:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 9174, + "name": "PegOutRefunded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7160, + "src": "26811:14:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 9176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "26811:27:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9177, + "nodeType": "EmitStatement", + "src": "26806:32:22" + } + ] + }, + "functionSelector": "d6c70de8", + "id": 9179, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 8923, + "kind": "modifierInvocation", + "modifierName": { + "id": 8922, + "name": "nonReentrant", + "nameLocations": [ + "24537:12:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 344, + "src": "24537:12:22" + }, + "nodeType": "ModifierInvocation", + "src": "24537:12:22" + }, + { + "id": 8925, + "kind": "modifierInvocation", + "modifierName": { + "id": 8924, + "name": "onlyRegisteredForPegout", + "nameLocations": [ + "24550:23:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 7271, + "src": "24550:23:22" + }, + "nodeType": "ModifierInvocation", + "src": "24550:23:22" + } + ], + "name": "refundPegOut", + "nameLocation": "24338:12:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8921, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8911, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "24368:9:22", + "nodeType": "VariableDeclaration", + "scope": 9179, + "src": "24360:17:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8910, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24360:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8913, + "mutability": "mutable", + "name": "btcTx", + "nameLocation": "24400:5:22", + "nodeType": "VariableDeclaration", + "scope": 9179, + "src": "24387:18:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 8912, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "24387:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8915, + "mutability": "mutable", + "name": "btcBlockHeaderHash", + "nameLocation": "24423:18:22", + "nodeType": "VariableDeclaration", + "scope": 9179, + "src": "24415:26:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8914, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24415:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8917, + "mutability": "mutable", + "name": "partialMerkleTree", + "nameLocation": "24459:17:22", + "nodeType": "VariableDeclaration", + "scope": 9179, + "src": "24451:25:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8916, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24451:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8920, + "mutability": "mutable", + "name": "merkleBranchHashes", + "nameLocation": "24503:18:22", + "nodeType": "VariableDeclaration", + "scope": 9179, + "src": "24486:35:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 8918, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24486:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 8919, + "nodeType": "ArrayTypeName", + "src": "24486:9:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + } + ], + "src": "24350:177:22" + }, + "returnParameters": { + "id": 8926, + "nodeType": "ParameterList", + "parameters": [], + "src": "24574:0:22" + }, + "scope": 9752, + "src": "24329:2516:22", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 9230, + "nodeType": "Block", + "src": "27002:548:22", + "statements": [ + { + "assignments": [ + 9190 + ], + "declarations": [ + { + "constant": false, + "id": 9190, + "mutability": "mutable", + "name": "derivationValue", + "nameLocation": "27020:15:22", + "nodeType": "VariableDeclaration", + "scope": 9230, + "src": "27012:23:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9189, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "27012:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 9209, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 9196, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9182, + "src": "27101:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + ], + "id": 9195, + "name": "hashQuote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9245, + "src": "27091:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_PeginQuote_$10155_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct QuotesV2.PeginQuote memory) view returns (bytes32)" + } + }, + "id": 9197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27091:16:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 9198, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9182, + "src": "27125:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9199, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27131:16:22", + "memberName": "btcRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10122, + "src": "27125:22:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "arguments": [ + { + "expression": { + "id": 9202, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9182, + "src": "27173:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9203, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27179:10:22", + "memberName": "lbcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10118, + "src": "27173:16:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "27165:7:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes20_$", + "typeString": "type(bytes20)" + }, + "typeName": { + "id": 9200, + "name": "bytes20", + "nodeType": "ElementaryTypeName", + "src": "27165:7:22", + "typeDescriptions": {} + } + }, + "id": 9204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27165:25:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + }, + { + "expression": { + "id": 9205, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9182, + "src": "27208:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9206, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27214:27:22", + "memberName": "liquidityProviderBtcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10126, + "src": "27208:33:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 9193, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "27061:5:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 9192, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "27061:5:22", + "typeDescriptions": {} + } + }, + "id": 9194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27067:6:22", + "memberName": "concat", + "nodeType": "MemberAccess", + "src": "27061:12:22", + "typeDescriptions": { + "typeIdentifier": "t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 9207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27061:194:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9191, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "27038:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 9208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27038:227:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "27012:253:22" + }, + { + "assignments": [ + 9211 + ], + "declarations": [ + { + "constant": false, + "id": 9211, + "mutability": "mutable", + "name": "flyoverRedeemScript", + "nameLocation": "27288:19:22", + "nodeType": "VariableDeclaration", + "scope": 9230, + "src": "27275:32:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9210, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "27275:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 9222, + "initialValue": { + "arguments": [ + { + "hexValue": "20", + "id": 9215, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "hexString", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27336:7:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", + "typeString": "literal_string \" \"" + }, + "value": " " + }, + { + "id": 9216, + "name": "derivationValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9190, + "src": "27357:15:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "hexValue": "75", + "id": 9217, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "hexString", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27386:7:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_32cefdcd8e794145c9af8dd1f4b1fbd92d6e547ae855553080fc8bd19c4883a0", + "typeString": "literal_string \"u\"" + }, + "value": "u" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 9218, + "name": "bridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7187, + "src": "27407:6:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + }, + "id": 9219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27414:27:22", + "memberName": "getActivePowpegRedeemScript", + "nodeType": "MemberAccess", + "referencedDeclaration": 3181, + "src": "27407:34:22", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () view external returns (bytes memory)" + } + }, + "id": 9220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27407:36:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", + "typeString": "literal_string \" \"" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_stringliteral_32cefdcd8e794145c9af8dd1f4b1fbd92d6e547ae855553080fc8bd19c4883a0", + "typeString": "literal_string \"u\"" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 9213, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "27310:5:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 9212, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "27310:5:22", + "typeDescriptions": {} + } + }, + "id": 9214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27316:6:22", + "memberName": "concat", + "nodeType": "MemberAccess", + "src": "27310:12:22", + "typeDescriptions": { + "typeIdentifier": "t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 9221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27310:143:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "27275:178:22" + }, + { + "expression": { + "arguments": [ + { + "id": 9225, + "name": "depositAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9184, + "src": "27498:14:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 9226, + "name": "flyoverRedeemScript", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9211, + "src": "27514:19:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 9227, + "name": "mainnet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7229, + "src": "27535:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 9223, + "name": "BtcUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "27470:8:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BtcUtils_$2805_$", + "typeString": "type(library BtcUtils)" + } + }, + "id": 9224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "27479:18:22", + "memberName": "validateP2SHAdress", + "nodeType": "MemberAccess", + "referencedDeclaration": 2587, + "src": "27470:27:22", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_bool_$", + "typeString": "function (bytes memory,bytes memory,bool) pure returns (bool)" + } + }, + "id": 9228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27470:73:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 9188, + "id": 9229, + "nodeType": "Return", + "src": "27463:80:22" + } + ] + }, + "functionSelector": "79b9550b", + "id": 9231, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "validatePeginDepositAddress", + "nameLocation": "26860:27:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9185, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9182, + "mutability": "mutable", + "name": "quote", + "nameLocation": "26924:5:22", + "nodeType": "VariableDeclaration", + "scope": 9231, + "src": "26897:32:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote" + }, + "typeName": { + "id": 9181, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9180, + "name": "QuotesV2.PeginQuote", + "nameLocations": [ + "26897:8:22", + "26906:10:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10155, + "src": "26897:19:22" + }, + "referencedDeclaration": 10155, + "src": "26897:19:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_storage_ptr", + "typeString": "struct QuotesV2.PeginQuote" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9184, + "mutability": "mutable", + "name": "depositAddress", + "nameLocation": "26952:14:22", + "nodeType": "VariableDeclaration", + "scope": 9231, + "src": "26939:27:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9183, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "26939:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "26887:85:22" + }, + "returnParameters": { + "id": 9188, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9187, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9231, + "src": "26996:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9186, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26996:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "26995:6:22" + }, + "scope": 9752, + "src": "26851:699:22", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 9244, + "nodeType": "Block", + "src": "27844:51:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 9241, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9235, + "src": "27882:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + ], + "id": 9240, + "name": "validateAndHashQuote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9358, + "src": "27861:20:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_PeginQuote_$10155_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct QuotesV2.PeginQuote memory) view returns (bytes32)" + } + }, + "id": 9242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "27861:27:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 9239, + "id": 9243, + "nodeType": "Return", + "src": "27854:34:22" + } + ] + }, + "documentation": { + "id": 9232, + "nodeType": "StructuredDocumentation", + "src": "27556:200:22", + "text": "@dev Calculates hash of a quote. Note: besides calculation this function also validates the quote.\n@param quote The quote of the service\n@return The hash of a quote" + }, + "functionSelector": "b3a849aa", + "id": 9245, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hashQuote", + "nameLocation": "27770:9:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9236, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9235, + "mutability": "mutable", + "name": "quote", + "nameLocation": "27807:5:22", + "nodeType": "VariableDeclaration", + "scope": 9245, + "src": "27780:32:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote" + }, + "typeName": { + "id": 9234, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9233, + "name": "QuotesV2.PeginQuote", + "nameLocations": [ + "27780:8:22", + "27789:10:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10155, + "src": "27780:19:22" + }, + "referencedDeclaration": 10155, + "src": "27780:19:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_storage_ptr", + "typeString": "struct QuotesV2.PeginQuote" + } + }, + "visibility": "internal" + } + ], + "src": "27779:34:22" + }, + "returnParameters": { + "id": 9239, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9238, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9245, + "src": "27835:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9237, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "27835:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "27834:9:22" + }, + "scope": 9752, + "src": "27761:134:22", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 9257, + "nodeType": "Block", + "src": "28005:57:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 9254, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9248, + "src": "28049:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + ], + "id": 9253, + "name": "validateAndHashPegOutQuote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9385, + "src": "28022:26:22", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_PegOutQuote_$10194_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct QuotesV2.PegOutQuote memory) view returns (bytes32)" + } + }, + "id": 9255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28022:33:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 9252, + "id": 9256, + "nodeType": "Return", + "src": "28015:40:22" + } + ] + }, + "functionSelector": "22140009", + "id": 9258, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hashPegoutQuote", + "nameLocation": "27910:15:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9249, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9248, + "mutability": "mutable", + "name": "quote", + "nameLocation": "27963:5:22", + "nodeType": "VariableDeclaration", + "scope": 9258, + "src": "27935:33:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + }, + "typeName": { + "id": 9247, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9246, + "name": "QuotesV2.PegOutQuote", + "nameLocations": [ + "27935:8:22", + "27944:11:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10194, + "src": "27935:20:22" + }, + "referencedDeclaration": 10194, + "src": "27935:20:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + } + }, + "visibility": "internal" + } + ], + "src": "27925:49:22" + }, + "returnParameters": { + "id": 9252, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9251, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9258, + "src": "27996:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9250, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "27996:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "27995:9:22" + }, + "scope": 9752, + "src": "27901:161:22", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 9357, + "nodeType": "Block", + "src": "28177:774:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 9269, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "28203:4:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LiquidityBridgeContractV2_$9752", + "typeString": "contract LiquidityBridgeContractV2" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_LiquidityBridgeContractV2_$9752", + "typeString": "contract LiquidityBridgeContractV2" + } + ], + "id": 9268, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "28195:7:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 9267, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "28195:7:22", + "typeDescriptions": {} + } + }, + "id": 9270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28195:13:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 9271, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9261, + "src": "28212:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9272, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28218:10:22", + "memberName": "lbcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10118, + "src": "28212:16:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "28195:33:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303531", + "id": 9274, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28230:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ed7029e52dbf10ed9f0aafb2c33265c713a3f4dfd10cc113f22ba3c1270e1ddb", + "typeString": "literal_string \"LBC051\"" + }, + "value": "LBC051" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ed7029e52dbf10ed9f0aafb2c33265c713a3f4dfd10cc113f22ba3c1270e1ddb", + "typeString": "literal_string \"LBC051\"" + } + ], + "id": 9266, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "28187:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28187:52:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9276, + "nodeType": "ExpressionStatement", + "src": "28187:52:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 9280, + "name": "bridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7187, + "src": "28278:6:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + ], + "id": 9279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "28270:7:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 9278, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "28270:7:22", + "typeDescriptions": {} + } + }, + "id": 9281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28270:15:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 9282, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9261, + "src": "28289:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9283, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28295:15:22", + "memberName": "contractAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10132, + "src": "28289:21:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "28270:40:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303532", + "id": 9285, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28324:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a1a398356814e2eac3017ce127db7657cbb8e2f1d90a78bc426eaa92c56969eb", + "typeString": "literal_string \"LBC052\"" + }, + "value": "LBC052" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a1a398356814e2eac3017ce127db7657cbb8e2f1d90a78bc426eaa92c56969eb", + "typeString": "literal_string \"LBC052\"" + } + ], + "id": 9277, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "28249:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28249:93:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9287, + "nodeType": "ExpressionStatement", + "src": "28249:93:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 9299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 9289, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9261, + "src": "28373:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9290, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28379:16:22", + "memberName": "btcRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10122, + "src": "28373:22:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 9291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28396:6:22", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "28373:29:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3231", + "id": 9292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28406:2:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_21_by_1", + "typeString": "int_const 21" + }, + "value": "21" + }, + "src": "28373:35:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 9294, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9261, + "src": "28424:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9295, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28430:16:22", + "memberName": "btcRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10122, + "src": "28424:22:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 9296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28447:6:22", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "28424:29:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3333", + "id": 9297, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28457:2:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_33_by_1", + "typeString": "int_const 33" + }, + "value": "33" + }, + "src": "28424:35:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "28373:86:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303533", + "id": 9300, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28473:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_923b965409721a83cf4ae76f34fa52de6eb09679d5b7141d2c0fc518a94192db", + "typeString": "literal_string \"LBC053\"" + }, + "value": "LBC053" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_923b965409721a83cf4ae76f34fa52de6eb09679d5b7141d2c0fc518a94192db", + "typeString": "literal_string \"LBC053\"" + } + ], + "id": 9288, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "28352:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28352:139:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9302, + "nodeType": "ExpressionStatement", + "src": "28352:139:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 9304, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9261, + "src": "28522:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9305, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28528:27:22", + "memberName": "liquidityProviderBtcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10126, + "src": "28522:33:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 9306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28556:6:22", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "28522:40:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3231", + "id": 9307, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28566:2:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_21_by_1", + "typeString": "int_const 21" + }, + "value": "21" + }, + "src": "28522:46:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303534", + "id": 9309, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28582:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_472231c5f3abacc190b5fd56153fbfc4b6c39c18040d443b29faee14791d54d9", + "typeString": "literal_string \"LBC054\"" + }, + "value": "LBC054" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_472231c5f3abacc190b5fd56153fbfc4b6c39c18040d443b29faee14791d54d9", + "typeString": "literal_string \"LBC054\"" + } + ], + "id": 9303, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "28501:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28501:99:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9311, + "nodeType": "ExpressionStatement", + "src": "28501:99:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 9313, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9261, + "src": "28631:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9314, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28637:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 10140, + "src": "28631:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 9315, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9261, + "src": "28645:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9316, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28651:7:22", + "memberName": "callFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10128, + "src": "28645:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28631:27:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 9318, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9261, + "src": "28661:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9319, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28667:16:22", + "memberName": "productFeeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 10152, + "src": "28661:22:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28631:52:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 9321, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9261, + "src": "28686:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9322, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28692:6:22", + "memberName": "gasFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10154, + "src": "28686:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28631:67:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 9324, + "name": "minPegIn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7217, + "src": "28702:8:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28631:79:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303535", + "id": 9326, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28724:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1bdc71792e300c3b19739ad62e7651b4b49de502b7d1b6227970563bffaad71e", + "typeString": "literal_string \"LBC055\"" + }, + "value": "LBC055" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1bdc71792e300c3b19739ad62e7651b4b49de502b7d1b6227970563bffaad71e", + "typeString": "literal_string \"LBC055\"" + } + ], + "id": 9312, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "28610:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28610:132:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9328, + "nodeType": "ExpressionStatement", + "src": "28610:132:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 9346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 9332, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "28778:6:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": { + "id": 9331, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "28778:6:22", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + } + ], + "id": 9330, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967269, + "src": "28773:4:22", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 9333, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28773:12:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint32", + "typeString": "type(uint32)" + } + }, + "id": 9334, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "28786:3:22", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "28773:16:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 9345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "expression": { + "id": 9337, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9261, + "src": "28800:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9338, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28806:18:22", + "memberName": "agreementTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 10142, + "src": "28800:24:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + ], + "id": 9336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "28793:6:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 9335, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "28793:6:22", + "typeDescriptions": {} + } + }, + "id": 9339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28793:32:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "arguments": [ + { + "expression": { + "id": 9342, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9261, + "src": "28835:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9343, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28841:14:22", + "memberName": "timeForDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 10144, + "src": "28835:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + ], + "id": 9341, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "28828:6:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 9340, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "28828:6:22", + "typeDescriptions": {} + } + }, + "id": 9344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28828:28:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "28793:63:22", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "28773:83:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303731", + "id": 9347, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28870:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_79d3c6c4bda42d819072ed97d83e6147bd9ad75bd5415529ecb6a41984271fb2", + "typeString": "literal_string \"LBC071\"" + }, + "value": "LBC071" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_79d3c6c4bda42d819072ed97d83e6147bd9ad75bd5415529ecb6a41984271fb2", + "typeString": "literal_string \"LBC071\"" + } + ], + "id": 9329, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "28752:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28752:136:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9349, + "nodeType": "ExpressionStatement", + "src": "28752:136:22" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 9353, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9261, + "src": "28937:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + ], + "expression": { + "id": 9351, + "name": "QuotesV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10405, + "src": "28916:8:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_QuotesV2_$10405_$", + "typeString": "type(library QuotesV2)" + } + }, + "id": 9352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "28925:11:22", + "memberName": "encodeQuote", + "nodeType": "MemberAccess", + "referencedDeclaration": 10213, + "src": "28916:20:22", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_PeginQuote_$10155_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct QuotesV2.PeginQuote memory) pure returns (bytes memory)" + } + }, + "id": 9354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28916:27:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9350, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "28906:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 9355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "28906:38:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 9265, + "id": 9356, + "nodeType": "Return", + "src": "28899:45:22" + } + ] + }, + "id": 9358, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "validateAndHashQuote", + "nameLocation": "28077:20:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9262, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9261, + "mutability": "mutable", + "name": "quote", + "nameLocation": "28134:5:22", + "nodeType": "VariableDeclaration", + "scope": 9358, + "src": "28107:32:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote" + }, + "typeName": { + "id": 9260, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9259, + "name": "QuotesV2.PeginQuote", + "nameLocations": [ + "28107:8:22", + "28116:10:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10155, + "src": "28107:19:22" + }, + "referencedDeclaration": 10155, + "src": "28107:19:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_storage_ptr", + "typeString": "struct QuotesV2.PeginQuote" + } + }, + "visibility": "internal" + } + ], + "src": "28097:48:22" + }, + "returnParameters": { + "id": 9265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9264, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9358, + "src": "28168:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9263, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "28168:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "28167:9:22" + }, + "scope": 9752, + "src": "28068:883:22", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 9384, + "nodeType": "Block", + "src": "29073:131:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 9369, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "29099:4:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LiquidityBridgeContractV2_$9752", + "typeString": "contract LiquidityBridgeContractV2" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_LiquidityBridgeContractV2_$9752", + "typeString": "contract LiquidityBridgeContractV2" + } + ], + "id": 9368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "29091:7:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 9367, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29091:7:22", + "typeDescriptions": {} + } + }, + "id": 9370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29091:13:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 9371, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9361, + "src": "29108:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 9372, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29114:10:22", + "memberName": "lbcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10157, + "src": "29108:16:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "29091:33:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303536", + "id": 9374, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29126:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5004352c178489e456f74ee0937a3403e68ee3fa72f6afa5bff20fe549075132", + "typeString": "literal_string \"LBC056\"" + }, + "value": "LBC056" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5004352c178489e456f74ee0937a3403e68ee3fa72f6afa5bff20fe549075132", + "typeString": "literal_string \"LBC056\"" + } + ], + "id": 9366, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "29083:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29083:52:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9376, + "nodeType": "ExpressionStatement", + "src": "29083:52:22" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 9380, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9361, + "src": "29190:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + ], + "expression": { + "id": 9378, + "name": "QuotesV2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10405, + "src": "29163:8:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_QuotesV2_$10405_$", + "typeString": "type(library QuotesV2)" + } + }, + "id": 9379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "29172:17:22", + "memberName": "encodePegOutQuote", + "nodeType": "MemberAccess", + "referencedDeclaration": 10232, + "src": "29163:26:22", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_struct$_PegOutQuote_$10194_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct QuotesV2.PegOutQuote memory) pure returns (bytes memory)" + } + }, + "id": 9381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29163:33:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9377, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "29153:9:22", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 9382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29153:44:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 9365, + "id": 9383, + "nodeType": "Return", + "src": "29146:51:22" + } + ] + }, + "id": 9385, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "validateAndHashPegOutQuote", + "nameLocation": "28966:26:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9362, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9361, + "mutability": "mutable", + "name": "quote", + "nameLocation": "29030:5:22", + "nodeType": "VariableDeclaration", + "scope": 9385, + "src": "29002:33:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + }, + "typeName": { + "id": 9360, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9359, + "name": "QuotesV2.PegOutQuote", + "nameLocations": [ + "29002:8:22", + "29011:11:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10194, + "src": "29002:20:22" + }, + "referencedDeclaration": 10194, + "src": "29002:20:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + } + }, + "visibility": "internal" + } + ], + "src": "28992:49:22" + }, + "returnParameters": { + "id": 9365, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9364, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9385, + "src": "29064:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9363, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "29064:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "29063:9:22" + }, + "scope": 9752, + "src": "28957:247:22", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 9401, + "nodeType": "Block", + "src": "29267:37:22", + "statements": [ + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9396, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9394, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9387, + "src": "29284:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 9395, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9389, + "src": "29288:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "29284:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 9398, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9389, + "src": "29296:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "29284:13:22", + "trueExpression": { + "id": 9397, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9387, + "src": "29292:1:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 9393, + "id": 9400, + "nodeType": "Return", + "src": "29277:20:22" + } + ] + }, + "id": 9402, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "min", + "nameLocation": "29219:3:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9390, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9387, + "mutability": "mutable", + "name": "a", + "nameLocation": "29228:1:22", + "nodeType": "VariableDeclaration", + "scope": 9402, + "src": "29223:6:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9386, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "29223:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9389, + "mutability": "mutable", + "name": "b", + "nameLocation": "29236:1:22", + "nodeType": "VariableDeclaration", + "scope": 9402, + "src": "29231:6:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9388, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "29231:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "29222:16:22" + }, + "returnParameters": { + "id": 9393, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9392, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9402, + "src": "29261:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9391, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "29261:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "29260:6:22" + }, + "scope": 9752, + "src": "29210:94:22", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 9420, + "nodeType": "Block", + "src": "29437:85:22", + "statements": [ + { + "expression": { + "id": 9413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 9409, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7191, + "src": "29447:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 9411, + "indexExpression": { + "id": 9410, + "name": "dest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9404, + "src": "29456:4:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "29447:14:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 9412, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9406, + "src": "29465:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "29447:24:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9414, + "nodeType": "ExpressionStatement", + "src": "29447:24:22" + }, + { + "eventCall": { + "arguments": [ + { + "id": 9416, + "name": "dest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9404, + "src": "29502:4:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9417, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9406, + "src": "29508:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9415, + "name": "BalanceIncrease", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7140, + "src": "29486:15:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 9418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29486:29:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9419, + "nodeType": "EmitStatement", + "src": "29481:34:22" + } + ] + }, + "id": 9421, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "increaseBalance", + "nameLocation": "29386:15:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9407, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9404, + "mutability": "mutable", + "name": "dest", + "nameLocation": "29410:4:22", + "nodeType": "VariableDeclaration", + "scope": 9421, + "src": "29402:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9403, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29402:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9406, + "mutability": "mutable", + "name": "amount", + "nameLocation": "29421:6:22", + "nodeType": "VariableDeclaration", + "scope": 9421, + "src": "29416:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9405, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "29416:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "29401:27:22" + }, + "returnParameters": { + "id": 9408, + "nodeType": "ParameterList", + "parameters": [], + "src": "29437:0:22" + }, + "scope": 9752, + "src": "29377:145:22", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 9439, + "nodeType": "Block", + "src": "29588:85:22", + "statements": [ + { + "expression": { + "id": 9432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 9428, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7191, + "src": "29598:8:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 9430, + "indexExpression": { + "id": 9429, + "name": "dest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9423, + "src": "29607:4:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "29598:14:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 9431, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9425, + "src": "29616:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "29598:24:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9433, + "nodeType": "ExpressionStatement", + "src": "29598:24:22" + }, + { + "eventCall": { + "arguments": [ + { + "id": 9435, + "name": "dest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9423, + "src": "29653:4:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9436, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9425, + "src": "29659:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9434, + "name": "BalanceDecrease", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7146, + "src": "29637:15:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 9437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "29637:29:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9438, + "nodeType": "EmitStatement", + "src": "29632:34:22" + } + ] + }, + "id": 9440, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "decreaseBalance", + "nameLocation": "29537:15:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9426, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9423, + "mutability": "mutable", + "name": "dest", + "nameLocation": "29561:4:22", + "nodeType": "VariableDeclaration", + "scope": 9440, + "src": "29553:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9422, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29553:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9425, + "mutability": "mutable", + "name": "amount", + "nameLocation": "29572:6:22", + "nodeType": "VariableDeclaration", + "scope": 9440, + "src": "29567:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9424, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "29567:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "29552:27:22" + }, + "returnParameters": { + "id": 9427, + "nodeType": "ParameterList", + "parameters": [], + "src": "29588:0:22" + }, + "scope": 9752, + "src": "29528:145:22", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 9460, + "nodeType": "Block", + "src": "29955:78:22", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 9458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 9448, + "name": "collateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7195, + "src": "29972:10:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 9450, + "indexExpression": { + "id": 9449, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9443, + "src": "29983:4:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29972:16:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 9451, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29991:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "29972:20:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 9453, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7213, + "src": "29996:19:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 9455, + "indexExpression": { + "id": 9454, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9443, + "src": "30016:4:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29996:25:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 9456, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30025:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "29996:30:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "29972:54:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 9447, + "id": 9459, + "nodeType": "Return", + "src": "29965:61:22" + } + ] + }, + "documentation": { + "id": 9441, + "nodeType": "StructuredDocumentation", + "src": "29679:207:22", + "text": "@dev Checks if a liquidity provider is registered\n@param addr The address of the liquidity provider\n@return Boolean indicating whether the liquidity provider is registered" + }, + "id": 9461, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isRegistered", + "nameLocation": "29900:12:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9444, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9443, + "mutability": "mutable", + "name": "addr", + "nameLocation": "29921:4:22", + "nodeType": "VariableDeclaration", + "scope": 9461, + "src": "29913:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9442, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29913:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "29912:14:22" + }, + "returnParameters": { + "id": 9447, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9446, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9461, + "src": "29949:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9445, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "29949:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "29948:6:22" + }, + "scope": 9752, + "src": "29891:142:22", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 9480, + "nodeType": "Block", + "src": "30112:84:22", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 9478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 9468, + "name": "pegoutCollateral", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7199, + "src": "30129:16:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 9470, + "indexExpression": { + "id": 9469, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9463, + "src": "30146:4:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30129:22:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 9471, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30154:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "30129:26:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 9473, + "name": "resignationBlockNum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7213, + "src": "30159:19:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 9475, + "indexExpression": { + "id": 9474, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9463, + "src": "30179:4:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30159:25:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 9476, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30188:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "30159:30:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "30129:60:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 9467, + "id": 9479, + "nodeType": "Return", + "src": "30122:67:22" + } + ] + }, + "id": 9481, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isRegisteredForPegout", + "nameLocation": "30048:21:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9464, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9463, + "mutability": "mutable", + "name": "addr", + "nameLocation": "30078:4:22", + "nodeType": "VariableDeclaration", + "scope": 9481, + "src": "30070:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9462, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30070:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "30069:14:22" + }, + "returnParameters": { + "id": 9467, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9466, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9481, + "src": "30106:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9465, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "30106:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "30105:6:22" + }, + "scope": 9752, + "src": "30039:157:22", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 9525, + "nodeType": "Block", + "src": "30856:401:22", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 9500, + "name": "btcRawTransaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9487, + "src": "30938:17:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 9501, + "name": "height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9491, + "src": "30969:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9502, + "name": "partialMerkleTree", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9489, + "src": "30989:17:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 9503, + "name": "derivationHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9493, + "src": "31020:14:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 9504, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9485, + "src": "31048:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9505, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31054:16:22", + "memberName": "btcRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10122, + "src": "31048:22:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "arguments": [ + { + "id": 9508, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "31092:4:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LiquidityBridgeContractV2_$9752", + "typeString": "contract LiquidityBridgeContractV2" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_LiquidityBridgeContractV2_$9752", + "typeString": "contract LiquidityBridgeContractV2" + } + ], + "id": 9507, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "31084:8:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_payable_$", + "typeString": "type(address payable)" + }, + "typeName": { + "id": 9506, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "31084:8:22", + "stateMutability": "payable", + "typeDescriptions": {} + } + }, + "id": 9509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31084:13:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "expression": { + "id": 9510, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9485, + "src": "31111:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9511, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31117:27:22", + "memberName": "liquidityProviderBtcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10126, + "src": "31111:33:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 9522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 9517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 9512, + "name": "callRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7209, + "src": "31158:12:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$7038_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContractV2.Registry storage ref)" + } + }, + "id": 9514, + "indexExpression": { + "id": 9513, + "name": "derivationHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9493, + "src": "31171:14:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31158:28:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Registry_$7038_storage", + "typeString": "struct LiquidityBridgeContractV2.Registry storage ref" + } + }, + "id": 9515, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31187:9:22", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 7035, + "src": "31158:38:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 9516, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31199:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "31158:42:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "expression": { + "baseExpression": { + "id": 9518, + "name": "callRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7209, + "src": "31204:12:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Registry_$7038_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContractV2.Registry storage ref)" + } + }, + "id": 9520, + "indexExpression": { + "id": 9519, + "name": "derivationHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9493, + "src": "31217:14:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "31204:28:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Registry_$7038_storage", + "typeString": "struct LiquidityBridgeContractV2.Registry storage ref" + } + }, + "id": 9521, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31233:7:22", + "memberName": "success", + "nodeType": "MemberAccess", + "referencedDeclaration": 7037, + "src": "31204:36:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "31158:82:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 9498, + "name": "bridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7187, + "src": "30885:6:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + }, + "id": 9499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "30892:32:22", + "memberName": "registerFastBridgeBtcTransaction", + "nodeType": "MemberAccess", + "referencedDeclaration": 3171, + "src": "30885:39:22", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes32_$_t_bytes_memory_ptr_$_t_address_payable_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_int256_$", + "typeString": "function (bytes memory,uint256,bytes memory,bytes32,bytes memory,address payable,bytes memory,bool) external returns (int256)" + } + }, + "id": 9523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "30885:365:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 9497, + "id": 9524, + "nodeType": "Return", + "src": "30866:384:22" + } + ] + }, + "documentation": { + "id": 9482, + "nodeType": "StructuredDocumentation", + "src": "30202:416:22", + "text": "@dev Registers a transaction with the bridge contract\n@param quote The quote of the service\n@param btcRawTransaction The peg-in transaction\n@param partialMerkleTree The merkle tree path that proves transaction inclusion\n@param height The block that contains the transaction\n@return The total peg-in amount received from the bridge contract or an error code" + }, + "id": 9526, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "registerBridge", + "nameLocation": "30632:14:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9494, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9485, + "mutability": "mutable", + "name": "quote", + "nameLocation": "30683:5:22", + "nodeType": "VariableDeclaration", + "scope": 9526, + "src": "30656:32:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote" + }, + "typeName": { + "id": 9484, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9483, + "name": "QuotesV2.PeginQuote", + "nameLocations": [ + "30656:8:22", + "30665:10:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10155, + "src": "30656:19:22" + }, + "referencedDeclaration": 10155, + "src": "30656:19:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_storage_ptr", + "typeString": "struct QuotesV2.PeginQuote" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9487, + "mutability": "mutable", + "name": "btcRawTransaction", + "nameLocation": "30711:17:22", + "nodeType": "VariableDeclaration", + "scope": 9526, + "src": "30698:30:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9486, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "30698:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9489, + "mutability": "mutable", + "name": "partialMerkleTree", + "nameLocation": "30751:17:22", + "nodeType": "VariableDeclaration", + "scope": 9526, + "src": "30738:30:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9488, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "30738:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9491, + "mutability": "mutable", + "name": "height", + "nameLocation": "30786:6:22", + "nodeType": "VariableDeclaration", + "scope": 9526, + "src": "30778:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9490, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30778:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9493, + "mutability": "mutable", + "name": "derivationHash", + "nameLocation": "30810:14:22", + "nodeType": "VariableDeclaration", + "scope": 9526, + "src": "30802:22:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9492, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "30802:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "30646:184:22" + }, + "returnParameters": { + "id": 9497, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9496, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9526, + "src": "30848:6:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9495, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "30848:6:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "30847:8:22" + }, + "scope": 9752, + "src": "30623:634:22", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 9648, + "nodeType": "Block", + "src": "31859:1464:22", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 9560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 9543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9541, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9532, + "src": "31934:6:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 9542, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31943:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "31934:10:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 9546, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9532, + "src": "31956:6:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 9545, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "31948:7:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 9544, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "31948:7:22", + "typeDescriptions": {} + } + }, + "id": 9547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "31948:15:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 9548, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9530, + "src": "31966:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9549, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31972:5:22", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 10140, + "src": "31966:11:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 9550, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9530, + "src": "31980:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9551, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "31986:7:22", + "memberName": "callFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10128, + "src": "31980:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "31966:27:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 9553, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9530, + "src": "31996:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9554, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32002:16:22", + "memberName": "productFeeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 10152, + "src": "31996:22:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "31966:52:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 9556, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9530, + "src": "32021:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9557, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32027:6:22", + "memberName": "gasFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10154, + "src": "32021:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "31966:67:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "31948:85:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "31934:99:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9564, + "nodeType": "IfStatement", + "src": "31930:142:22", + "trueBody": { + "id": 9563, + "nodeType": "Block", + "src": "32035:37:22", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 9561, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32056:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 9540, + "id": 9562, + "nodeType": "Return", + "src": "32049:12:22" + } + ] + } + }, + { + "assignments": [ + 9566 + ], + "declarations": [ + { + "constant": false, + "id": 9566, + "mutability": "mutable", + "name": "firstConfirmationHeader", + "nameLocation": "32095:23:22", + "nodeType": "VariableDeclaration", + "scope": 9648, + "src": "32082:36:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9565, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "32082:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 9571, + "initialValue": { + "arguments": [ + { + "id": 9569, + "name": "height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9536, + "src": "32177:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 9567, + "name": "bridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7187, + "src": "32121:6:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + }, + "id": 9568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32141:35:22", + "memberName": "getBtcBlockchainBlockHeaderByHeight", + "nodeType": "MemberAccess", + "referencedDeclaration": 3200, + "src": "32121:55:22", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) view external returns (bytes memory)" + } + }, + "id": 9570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32121:63:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "32082:102:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 9573, + "name": "firstConfirmationHeader", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9566, + "src": "32202:23:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 9574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32226:6:22", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "32202:30:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 9575, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32235:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "32202:34:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e76616c696420626c6f636b20686569676874", + "id": 9577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32238:22:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b13cbe420d932534b4c4c376e19a45f25e0ca05c6f1a458489ccb0574b26a6d9", + "typeString": "literal_string \"Invalid block height\"" + }, + "value": "Invalid block height" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b13cbe420d932534b4c4c376e19a45f25e0ca05c6f1a458489ccb0574b26a6d9", + "typeString": "literal_string \"Invalid block height\"" + } + ], + "id": 9572, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "32194:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32194:67:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9579, + "nodeType": "ExpressionStatement", + "src": "32194:67:22" + }, + { + "assignments": [ + 9581 + ], + "declarations": [ + { + "constant": false, + "id": 9581, + "mutability": "mutable", + "name": "firstConfirmationTimestamp", + "nameLocation": "32280:26:22", + "nodeType": "VariableDeclaration", + "scope": 9648, + "src": "32272:34:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9580, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "32272:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 9586, + "initialValue": { + "arguments": [ + { + "id": 9584, + "name": "firstConfirmationHeader", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9566, + "src": "32352:23:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 9582, + "name": "BtcUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "32309:8:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BtcUtils_$2805_$", + "typeString": "type(library BtcUtils)" + } + }, + "id": 9583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32318:20:22", + "memberName": "getBtcBlockTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 2483, + "src": "32309:29:22", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 9585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32309:76:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "32272:113:22" + }, + { + "assignments": [ + 9588 + ], + "declarations": [ + { + "constant": false, + "id": 9588, + "mutability": "mutable", + "name": "timeLimit", + "nameLocation": "32530:9:22", + "nodeType": "VariableDeclaration", + "scope": 9648, + "src": "32525:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9587, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "32525:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 9594, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "id": 9593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 9589, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9530, + "src": "32542:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9590, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32548:18:22", + "memberName": "agreementTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 10142, + "src": "32542:24:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 9591, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9530, + "src": "32569:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9592, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32575:14:22", + "memberName": "timeForDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 10144, + "src": "32569:20:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "32542:47:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "32525:64:22" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9595, + "name": "firstConfirmationTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9581, + "src": "32603:26:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 9596, + "name": "timeLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9588, + "src": "32632:9:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "32603:38:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9601, + "nodeType": "IfStatement", + "src": "32599:81:22", + "trueBody": { + "id": 9600, + "nodeType": "Block", + "src": "32643:37:22", + "statements": [ + { + "expression": { + "hexValue": "66616c7365", + "id": 9598, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32664:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 9540, + "id": 9599, + "nodeType": "Return", + "src": "32657:12:22" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9602, + "name": "callTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9534, + "src": "32735:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 9603, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32752:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "32735:18:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9608, + "nodeType": "IfStatement", + "src": "32731:60:22", + "trueBody": { + "id": 9607, + "nodeType": "Block", + "src": "32755:36:22", + "statements": [ + { + "expression": { + "hexValue": "74727565", + "id": 9605, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32776:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 9540, + "id": 9606, + "nodeType": "Return", + "src": "32769:11:22" + } + ] + } + }, + { + "assignments": [ + 9610 + ], + "declarations": [ + { + "constant": false, + "id": 9610, + "mutability": "mutable", + "name": "nConfirmationsHeader", + "nameLocation": "32814:20:22", + "nodeType": "VariableDeclaration", + "scope": 9648, + "src": "32801:33:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9609, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "32801:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 9620, + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9613, + "name": "height", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9536, + "src": "32906:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 9614, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9530, + "src": "32915:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9615, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32921:20:22", + "memberName": "depositConfirmations", + "nodeType": "MemberAccess", + "referencedDeclaration": 10148, + "src": "32915:26:22", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "src": "32906:35:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 9617, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32944:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "32906:39:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 9611, + "name": "bridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7187, + "src": "32837:6:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + }, + "id": 9612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32857:35:22", + "memberName": "getBtcBlockchainBlockHeaderByHeight", + "nodeType": "MemberAccess", + "referencedDeclaration": 3200, + "src": "32837:55:22", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) view external returns (bytes memory)" + } + }, + "id": 9619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32837:118:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "32801:154:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 9622, + "name": "nConfirmationsHeader", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9610, + "src": "32973:20:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 9623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "32994:6:22", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "32973:27:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 9624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33003:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "32973:31:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303538", + "id": 9626, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33006:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bac19bb4c4dce4ec87196bdccebfa1c4310f60332f1259cdc0bb93303ee1c2a0", + "typeString": "literal_string \"LBC058\"" + }, + "value": "LBC058" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_bac19bb4c4dce4ec87196bdccebfa1c4310f60332f1259cdc0bb93303ee1c2a0", + "typeString": "literal_string \"LBC058\"" + } + ], + "id": 9621, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "32965:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "32965:50:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9628, + "nodeType": "ExpressionStatement", + "src": "32965:50:22" + }, + { + "assignments": [ + 9630 + ], + "declarations": [ + { + "constant": false, + "id": 9630, + "mutability": "mutable", + "name": "nConfirmationsTimestamp", + "nameLocation": "33034:23:22", + "nodeType": "VariableDeclaration", + "scope": 9648, + "src": "33026:31:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9629, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "33026:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 9635, + "initialValue": { + "arguments": [ + { + "id": 9633, + "name": "nConfirmationsHeader", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9610, + "src": "33103:20:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 9631, + "name": "BtcUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "33060:8:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BtcUtils_$2805_$", + "typeString": "type(library BtcUtils)" + } + }, + "id": 9632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "33069:20:22", + "memberName": "getBtcBlockTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 2483, + "src": "33060:29:22", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 9634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33060:73:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "33026:107:22" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9636, + "name": "callTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9534, + "src": "33201:13:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9637, + "name": "nConfirmationsTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9630, + "src": "33217:23:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 9638, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9530, + "src": "33243:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 9639, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "33249:8:22", + "memberName": "callTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 10146, + "src": "33243:14:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "33217:40:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "33201:56:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9645, + "nodeType": "IfStatement", + "src": "33197:98:22", + "trueBody": { + "id": 9644, + "nodeType": "Block", + "src": "33259:36:22", + "statements": [ + { + "expression": { + "hexValue": "74727565", + "id": 9642, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33280:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 9540, + "id": 9643, + "nodeType": "Return", + "src": "33273:11:22" + } + ] + } + }, + { + "expression": { + "hexValue": "66616c7365", + "id": 9646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33311:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 9540, + "id": 9647, + "nodeType": "Return", + "src": "33304:12:22" + } + ] + }, + "documentation": { + "id": 9527, + "nodeType": "StructuredDocumentation", + "src": "31263:411:22", + "text": "@dev Checks if a liquidity provider should be penalized\n@param quote The quote of the service\n@param amount The transferred amount or an error code\n@param callTimestamp The time that the liquidity provider called callForUser\n@param height The block height where the peg-in transaction is included\n@return Boolean indicating whether the penalty applies" + }, + "id": 9649, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "shouldPenalizeLP", + "nameLocation": "31688:16:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9530, + "mutability": "mutable", + "name": "quote", + "nameLocation": "31741:5:22", + "nodeType": "VariableDeclaration", + "scope": 9649, + "src": "31714:32:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote" + }, + "typeName": { + "id": 9529, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9528, + "name": "QuotesV2.PeginQuote", + "nameLocations": [ + "31714:8:22", + "31723:10:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10155, + "src": "31714:19:22" + }, + "referencedDeclaration": 10155, + "src": "31714:19:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_storage_ptr", + "typeString": "struct QuotesV2.PeginQuote" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9532, + "mutability": "mutable", + "name": "amount", + "nameLocation": "31763:6:22", + "nodeType": "VariableDeclaration", + "scope": 9649, + "src": "31756:13:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9531, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "31756:6:22", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9534, + "mutability": "mutable", + "name": "callTimestamp", + "nameLocation": "31787:13:22", + "nodeType": "VariableDeclaration", + "scope": 9649, + "src": "31779:21:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9533, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "31779:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9536, + "mutability": "mutable", + "name": "height", + "nameLocation": "31818:6:22", + "nodeType": "VariableDeclaration", + "scope": 9649, + "src": "31810:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9535, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "31810:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "31704:126:22" + }, + "returnParameters": { + "id": 9540, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9539, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9649, + "src": "31853:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9538, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "31853:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "31852:6:22" + }, + "scope": 9752, + "src": "31679:1644:22", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 9715, + "nodeType": "Block", + "src": "33492:697:22", + "statements": [ + { + "assignments": [ + 9662 + ], + "declarations": [ + { + "constant": false, + "id": 9662, + "mutability": "mutable", + "name": "firstConfirmationHeader", + "nameLocation": "33515:23:22", + "nodeType": "VariableDeclaration", + "scope": 9715, + "src": "33502:36:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9661, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "33502:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 9667, + "initialValue": { + "arguments": [ + { + "id": 9665, + "name": "blockHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9656, + "src": "33582:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 9663, + "name": "bridge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7187, + "src": "33541:6:22", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Bridge_$3208", + "typeString": "contract Bridge" + } + }, + "id": 9664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "33548:33:22", + "memberName": "getBtcBlockchainBlockHeaderByHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 3193, + "src": "33541:40:22", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes32) view external returns (bytes memory)" + } + }, + "id": 9666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33541:51:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "33502:90:22" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 9669, + "name": "firstConfirmationHeader", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9662, + "src": "33610:23:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 9670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "33634:6:22", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "33610:30:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 9671, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33643:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "33610:34:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303539", + "id": 9673, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33646:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_319f398ccb7cc8c2c2304e07f301f618437c863aa2ff561ced1eaa40fcd3df63", + "typeString": "literal_string \"LBC059\"" + }, + "value": "LBC059" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_319f398ccb7cc8c2c2304e07f301f618437c863aa2ff561ced1eaa40fcd3df63", + "typeString": "literal_string \"LBC059\"" + } + ], + "id": 9668, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "33602:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33602:53:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9675, + "nodeType": "ExpressionStatement", + "src": "33602:53:22" + }, + { + "assignments": [ + 9677 + ], + "declarations": [ + { + "constant": false, + "id": 9677, + "mutability": "mutable", + "name": "firstConfirmationTimestamp", + "nameLocation": "33674:26:22", + "nodeType": "VariableDeclaration", + "scope": 9715, + "src": "33666:34:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9676, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "33666:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 9682, + "initialValue": { + "arguments": [ + { + "id": 9680, + "name": "firstConfirmationHeader", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9662, + "src": "33733:23:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 9678, + "name": "BtcUtils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2805, + "src": "33703:8:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_BtcUtils_$2805_$", + "typeString": "type(library BtcUtils)" + } + }, + "id": 9679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "33712:20:22", + "memberName": "getBtcBlockTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 2483, + "src": "33703:29:22", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256)" + } + }, + "id": 9681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "33703:54:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "33666:91:22" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9683, + "name": "firstConfirmationTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9677, + "src": "33829:26:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 9684, + "name": "pegoutRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7243, + "src": "33858:14:22", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_PegoutRecord_$7043_storage_$", + "typeString": "mapping(bytes32 => struct LiquidityBridgeContractV2.PegoutRecord storage ref)" + } + }, + "id": 9686, + "indexExpression": { + "id": 9685, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9654, + "src": "33873:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "33858:25:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegoutRecord_$7043_storage", + "typeString": "struct LiquidityBridgeContractV2.PegoutRecord storage ref" + } + }, + "id": 9687, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "33884:16:22", + "memberName": "depositTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 7040, + "src": "33858:42:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 9688, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9652, + "src": "33911:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 9689, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "33917:12:22", + "memberName": "transferTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 10185, + "src": "33911:18:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "33858:71:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 9691, + "name": "btcBlockTime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7227, + "src": "33932:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "33858:86:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "33829:115:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9697, + "nodeType": "IfStatement", + "src": "33825:157:22", + "trueBody": { + "id": 9696, + "nodeType": "Block", + "src": "33946:36:22", + "statements": [ + { + "expression": { + "hexValue": "74727565", + "id": 9694, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33967:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 9660, + "id": 9695, + "nodeType": "Return", + "src": "33960:11:22" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 9708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 9698, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "34052:5:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 9699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34058:9:22", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "34052:15:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 9700, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9652, + "src": "34070:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 9701, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34076:10:22", + "memberName": "expireDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 10187, + "src": "34070:16:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "34052:34:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 9703, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "34090:5:22", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 9704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34096:6:22", + "memberName": "number", + "nodeType": "MemberAccess", + "src": "34090:12:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "expression": { + "id": 9705, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9652, + "src": "34105:5:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 9706, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34111:11:22", + "memberName": "expireBlock", + "nodeType": "MemberAccess", + "referencedDeclaration": 10189, + "src": "34105:17:22", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "34090:32:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "34052:70:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9712, + "nodeType": "IfStatement", + "src": "34048:112:22", + "trueBody": { + "id": 9711, + "nodeType": "Block", + "src": "34124:36:22", + "statements": [ + { + "expression": { + "hexValue": "74727565", + "id": 9709, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34145:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 9660, + "id": 9710, + "nodeType": "Return", + "src": "34138:11:22" + } + ] + } + }, + { + "expression": { + "hexValue": "66616c7365", + "id": 9713, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34177:5:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 9660, + "id": 9714, + "nodeType": "Return", + "src": "34170:12:22" + } + ] + }, + "id": 9716, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "shouldPenalizePegOutLP", + "nameLocation": "33338:22:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9657, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9652, + "mutability": "mutable", + "name": "quote", + "nameLocation": "33398:5:22", + "nodeType": "VariableDeclaration", + "scope": 9716, + "src": "33370:33:22", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + }, + "typeName": { + "id": 9651, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9650, + "name": "QuotesV2.PegOutQuote", + "nameLocations": [ + "33370:8:22", + "33379:11:22" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10194, + "src": "33370:20:22" + }, + "referencedDeclaration": 10194, + "src": "33370:20:22", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9654, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "33421:9:22", + "nodeType": "VariableDeclaration", + "scope": 9716, + "src": "33413:17:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9653, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "33413:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9656, + "mutability": "mutable", + "name": "blockHash", + "nameLocation": "33448:9:22", + "nodeType": "VariableDeclaration", + "scope": 9716, + "src": "33440:17:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9655, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "33440:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "33360:103:22" + }, + "returnParameters": { + "id": 9660, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9659, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9716, + "src": "33486:4:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9658, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "33486:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "33485:6:22" + }, + "scope": 9752, + "src": "33329:860:22", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 9750, + "nodeType": "Block", + "src": "34262:224:22", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 9723, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9718, + "src": "34276:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 9724, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34285:1:22", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "34276:10:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9749, + "nodeType": "IfStatement", + "src": "34272:208:22", + "trueBody": { + "id": 9748, + "nodeType": "Block", + "src": "34288:192:22", + "statements": [ + { + "assignments": [ + 9727, + null + ], + "declarations": [ + { + "constant": false, + "id": 9727, + "mutability": "mutable", + "name": "daoSuccess", + "nameLocation": "34308:10:22", + "nodeType": "VariableDeclaration", + "scope": 9748, + "src": "34303:15:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9726, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "34303:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 9737, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 9735, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34375:2:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "arguments": [ + { + "id": 9730, + "name": "daoFeeCollectorAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7247, + "src": "34331:22:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9729, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "34323:8:22", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_payable_$", + "typeString": "type(address payable)" + }, + "typeName": { + "id": 9728, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "34323:8:22", + "stateMutability": "payable", + "typeDescriptions": {} + } + }, + "id": 9731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34323:31:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 9732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "34355:4:22", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "34323:36:22", + "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": 9734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 9733, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9718, + "src": "34367:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "34323:51:22", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 9736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34323:55:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "34302:76:22" + }, + { + "expression": { + "arguments": [ + { + "id": 9739, + "name": "daoSuccess", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9727, + "src": "34400:10:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303734", + "id": 9740, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34412:8:22", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e9fc4e098febe7043f1662405d88fa2495f2ac8d8f35918e247815b713cfd00a", + "typeString": "literal_string \"LBC074\"" + }, + "value": "LBC074" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_e9fc4e098febe7043f1662405d88fa2495f2ac8d8f35918e247815b713cfd00a", + "typeString": "literal_string \"LBC074\"" + } + ], + "id": 9738, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "34392:7:22", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34392:29:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9742, + "nodeType": "ExpressionStatement", + "src": "34392:29:22" + }, + { + "eventCall": { + "arguments": [ + { + "id": 9744, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9720, + "src": "34451:9:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 9745, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9718, + "src": "34462:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9743, + "name": "DaoFeeSent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7184, + "src": "34440:10:22", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 9746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "34440:29:22", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9747, + "nodeType": "EmitStatement", + "src": "34435:34:22" + } + ] + } + } + ] + }, + "id": 9751, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "payToFeeCollector", + "nameLocation": "34204:17:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9721, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9718, + "mutability": "mutable", + "name": "amount", + "nameLocation": "34227:6:22", + "nodeType": "VariableDeclaration", + "scope": 9751, + "src": "34222:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9717, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "34222:4:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9720, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "34243:9:22", + "nodeType": "VariableDeclaration", + "scope": 9751, + "src": "34235:17:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9719, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "34235:7:22", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "34221:32:22" + }, + "returnParameters": { + "id": 9722, + "nodeType": "ParameterList", + "parameters": [], + "src": "34262:0:22" + }, + "scope": 9752, + "src": "34195:291:22", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + } + ], + "scope": 9753, + "src": "481:34007:22", + "usedErrors": [] + } + ], + "src": "32:34457:22" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": { + "31": { + "events": {}, + "links": { + "SignatureValidator": "0xA66B2938b6cC837821cF4Be27F7016951047E03D", + "QuotesV2": "0x1756d7BB65C404031EA5663BbF8d3d112FAe800F", + "BtcUtils": "0xa5bA42d1E2E963C87D8434dEBE36de922107E535" + }, + "address": "0xc2A630c053D12D63d32b025082f6Ba268db18300", + "transactionHash": "0x89be1b68c3fa0fc80535c4f6fce8daea8e438e928ad3a185f906ef5657f1478c" + } + }, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.682Z", + "devdoc": { + "events": { + "Initialized(uint8)": { + "details": "Triggered when the contract has been initialized or reinitialized." + } + }, + "kind": "dev", + "methods": { + "addCollateral()": { + "details": "Increases the amount of collateral of the sender" + }, + "callForUser((bytes20,address,address,bytes,address,bytes,uint256,uint256,address,bytes,uint32,int64,uint256,uint32,uint32,uint32,uint16,bool,uint256,uint256))": { + "details": "Performs a call on behalf of a user", + "params": { + "quote": "The quote that identifies the service" + }, + "returns": { + "_0": "Boolean indicating whether the call was successful" + } + }, + "deposit()": { + "details": "Increases the balance of the sender" + }, + "getBalance(address)": { + "details": "Returns the amount of funds of a liquidity provider", + "params": { + "addr": "The address of the liquidity provider" + }, + "returns": { + "_0": "The balance of the liquidity provider" + } + }, + "getCollateral(address)": { + "details": "Returns the amount of collateral of a liquidity provider", + "params": { + "addr": "The address of the liquidity provider" + }, + "returns": { + "_0": "The amount of locked collateral" + } + }, + "hashQuote((bytes20,address,address,bytes,address,bytes,uint256,uint256,address,bytes,uint32,int64,uint256,uint32,uint32,uint32,uint16,bool,uint256,uint256))": { + "details": "Calculates hash of a quote. Note: besides calculation this function also validates the quote.", + "params": { + "quote": "The quote of the service" + }, + "returns": { + "_0": "The hash of a quote" + } + }, + "isOperational(address)": { + "details": "Checks whether a liquidity provider can deliver a pegin service", + "returns": { + "_0": "Whether the liquidity provider is registered and has enough locked collateral" + } + }, + "isOperationalForPegout(address)": { + "details": "Checks whether a liquidity provider can deliver a pegout service", + "returns": { + "_0": "Whether the liquidity provider is registered and has enough locked collateral" + } + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "register(string,string,bool,string)": { + "details": "Registers msg.sender as a liquidity provider with msg.value as collateral" + }, + "registerPegIn((bytes20,address,address,bytes,address,bytes,uint256,uint256,address,bytes,uint32,int64,uint256,uint32,uint32,uint32,uint16,bool,uint256,uint256),bytes,bytes,bytes,uint256)": { + "details": "Registers a peg-in transaction with the bridge and pays to the involved parties", + "params": { + "btcRawTransaction": "The peg-in transaction", + "height": "The block that contains the peg-in transaction", + "partialMerkleTree": "The merkle tree path that proves transaction inclusion", + "quote": "The quote of the service", + "signature": "The signature of the quote" + }, + "returns": { + "_0": "The total peg-in amount received from the bridge contract or an error code" + } + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "resign()": { + "details": "Used to resign as a liquidity provider" + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + }, + "withdraw(uint256)": { + "details": "Used to withdraw funds", + "params": { + "amount": "The amount to withdraw" + } + }, + "withdrawCollateral()": { + "details": "Used to withdraw the locked collateral" + } + }, + "title": "Contract that assists with the Flyover protocol", + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json new file mode 100644 index 0000000..7572e58 --- /dev/null +++ b/build/contracts/Migrations.json @@ -0,0 +1,1090 @@ +{ + "contractName": "Migrations", + "abi": [ + { + "inputs": [], + "name": "last_completed_migration", + "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": "uint256", + "name": "completed", + "type": "uint256" + } + ], + "name": "setCompleted", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"last_completed_migration\",\"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\":\"uint256\",\"name\":\"completed\",\"type\":\"uint256\"}],\"name\":\"setCompleted\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"project:/contracts/Migrations.sol\":{\"keccak256\":\"0x713e94370c3fd90c4df377d5ab9731ba544ddcf6307e4c43b34bc617f65fd3bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9014a2eaac1ce0f1ba1b1812c2ef385b1953ab74860c279d0cdaf3b0805635a\",\"dweb:/ipfs/QmYy5mm5iTv2JE6s4r5VCMtbCD4JSgaurb2cSLQ4CZy82m\"]}},\"version\":1}", + "bytecode": "0x6080604052600080546001600160a01b0319163317905534801561002257600080fd5b50610170806100326000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063445df0ac146100465780638da5cb5b14610062578063fdacd5761461008d575b600080fd5b61004f60015481565b6040519081526020015b60405180910390f35b600054610075906001600160a01b031681565b6040516001600160a01b039091168152602001610059565b6100a061009b366004610121565b6100a2565b005b6000546001600160a01b0316331461011c5760405162461bcd60e51b815260206004820152603360248201527f546869732066756e6374696f6e206973207265737472696374656420746f207460448201527234329031b7b73a3930b1ba13b99037bbb732b960691b606482015260840160405180910390fd5b600155565b60006020828403121561013357600080fd5b503591905056fea2646970667358221220f2c209f447050ccdaa2d4a5ee05587554bb549e3c2d0ef55697ca7afa9dc659164736f6c63430008120033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063445df0ac146100465780638da5cb5b14610062578063fdacd5761461008d575b600080fd5b61004f60015481565b6040519081526020015b60405180910390f35b600054610075906001600160a01b031681565b6040516001600160a01b039091168152602001610059565b6100a061009b366004610121565b6100a2565b005b6000546001600160a01b0316331461011c5760405162461bcd60e51b815260206004820152603360248201527f546869732066756e6374696f6e206973207265737472696374656420746f207460448201527234329031b7b73a3930b1ba13b99037bbb732b960691b606482015260840160405180910390fd5b600155565b60006020828403121561013357600080fd5b503591905056fea2646970667358221220f2c209f447050ccdaa2d4a5ee05587554bb549e3c2d0ef55697ca7afa9dc659164736f6c63430008120033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:1006:30", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:30", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "115:76:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "125:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "137:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "148:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "133:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "133:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "125:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "167:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "178:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "160:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "160:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "160:25:30" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "84:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "95:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "106:4:30", + "type": "" + } + ], + "src": "14:177:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "297:102:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "307:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "319:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "330:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "315:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "315:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "307:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "349:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "364:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "380:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "385:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "376:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "376:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "389:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "372:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "372:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "360:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "360:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "342:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "342:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "342:51:30" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "266:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "277:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "288:4:30", + "type": "" + } + ], + "src": "196:203:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "474:110:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "520:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "529:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "532:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "522:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "522:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "522:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "495:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "504:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "491:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "491:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "516:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "487:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "487:32:30" + }, + "nodeType": "YulIf", + "src": "484:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "545:33:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "568:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "555:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "555:23:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "545:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "440:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "451:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "463:6:30", + "type": "" + } + ], + "src": "404:180:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "763:241:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "780:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "791:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "773:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "773:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "773:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "814:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "825:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "810:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "810:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "830:2:30", + "type": "", + "value": "51" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "803:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "803:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "803:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "853:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "864:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "849:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "849:18:30" + }, + { + "hexValue": "546869732066756e6374696f6e206973207265737472696374656420746f2074", + "kind": "string", + "nodeType": "YulLiteral", + "src": "869:34:30", + "type": "", + "value": "This function is restricted to t" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "842:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "842:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "842:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "924:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "935:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "920:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "920:18:30" + }, + { + "hexValue": "686520636f6e74726163742773206f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "940:21:30", + "type": "", + "value": "he contract's owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "913:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "913:49:30" + }, + "nodeType": "YulExpressionStatement", + "src": "913:49:30" + }, + { + "nodeType": "YulAssignment", + "src": "971:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "983:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "994:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "979:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "979:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "971:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "740:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "754:4:30", + "type": "" + } + ], + "src": "589:415:30" + } + ] + }, + "contents": "{\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, sub(shl(160, 1), 1)))\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_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 51)\n mstore(add(headStart, 64), \"This function is restricted to t\")\n mstore(add(headStart, 96), \"he contract's owner\")\n tail := add(headStart, 128)\n }\n}", + "id": 30, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "58:352:23:-:0;;;82:33;;;-1:-1:-1;;;;;;82:33:23;105:10;82:33;;;58:352;;;;;;;;;;;;;;;;", + "deployedSourceMap": "58:352:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;119:36;;;;;;;;;160:25:30;;;148:2;133:18;119:36:23;;;;;;;;82:33;;;;;-1:-1:-1;;;;;82:33:23;;;;;;-1:-1:-1;;;;;360:32:30;;;342:51;;330:2;315:18;82:33:23;196:203:30;305:103:23;;;;;;:::i;:::-;;:::i;:::-;;;217:5;;-1:-1:-1;;;;;217:5:23;203:10;:19;188:101;;;;-1:-1:-1;;;188:101:23;;791:2:30;188:101:23;;;773:21:30;830:2;810:18;;;803:30;869:34;849:18;;;842:62;-1:-1:-1;;;920:18:30;;;913:49;979:19;;188:101:23;;;;;;;;367:24:::1;:36:::0;305:103::o;404:180:30:-;463:6;516:2;504:9;495:7;491:23;487:32;484:52;;;532:1;529;522:12;484:52;-1:-1:-1;555:23:30;;404:180;-1:-1:-1;404:180:30:o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.18;\n\ncontract Migrations {\n address public owner = msg.sender;\n uint public last_completed_migration;\n\n modifier restricted() {\n require(\n msg.sender == owner,\n \"This function is restricted to the contract's owner\"\n );\n _;\n }\n\n function setCompleted(uint completed) public restricted {\n last_completed_migration = completed;\n }\n}\n", + "sourcePath": "/Users/luischavez/iov/liquidity-bridge-contract/contracts/Migrations.sol", + "ast": { + "absolutePath": "project:/contracts/Migrations.sol", + "exportedSymbols": { + "Migrations": [ + 9785 + ] + }, + "id": 9786, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9754, + "literals": [ + "solidity", + "^", + "0.8", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "32:24:23" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Migrations", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 9785, + "linearizedBaseContracts": [ + 9785 + ], + "name": "Migrations", + "nameLocation": "67:10:23", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "functionSelector": "8da5cb5b", + "id": 9758, + "mutability": "mutable", + "name": "owner", + "nameLocation": "97:5:23", + "nodeType": "VariableDeclaration", + "scope": 9785, + "src": "82:33:23", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9755, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "82:7:23", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "expression": { + "id": 9756, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "105:3:23", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "109:6:23", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "105:10:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "445df0ac", + "id": 9760, + "mutability": "mutable", + "name": "last_completed_migration", + "nameLocation": "131:24:23", + "nodeType": "VariableDeclaration", + "scope": 9785, + "src": "119:36:23", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9759, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "119:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 9771, + "nodeType": "Block", + "src": "182:119:23", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 9763, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "203:3:23", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "207:6:23", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "203:10:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 9765, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9758, + "src": "217:5:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "203:19:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546869732066756e6374696f6e206973207265737472696374656420746f2074686520636f6e74726163742773206f776e6572", + "id": 9767, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "230:53:23", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1", + "typeString": "literal_string \"This function is restricted to the contract's owner\"" + }, + "value": "This function is restricted to the contract's owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1", + "typeString": "literal_string \"This function is restricted to the contract's owner\"" + } + ], + "id": 9762, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "188:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "188:101:23", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9769, + "nodeType": "ExpressionStatement", + "src": "188:101:23" + }, + { + "id": 9770, + "nodeType": "PlaceholderStatement", + "src": "295:1:23" + } + ] + }, + "id": 9772, + "name": "restricted", + "nameLocation": "169:10:23", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 9761, + "nodeType": "ParameterList", + "parameters": [], + "src": "179:2:23" + }, + "src": "160:141:23", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9783, + "nodeType": "Block", + "src": "361:47:23", + "statements": [ + { + "expression": { + "id": 9781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 9779, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9760, + "src": "367:24:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 9780, + "name": "completed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9774, + "src": "394:9:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "367:36:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9782, + "nodeType": "ExpressionStatement", + "src": "367:36:23" + } + ] + }, + "functionSelector": "fdacd576", + "id": 9784, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 9777, + "kind": "modifierInvocation", + "modifierName": { + "id": 9776, + "name": "restricted", + "nameLocations": [ + "350:10:23" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9772, + "src": "350:10:23" + }, + "nodeType": "ModifierInvocation", + "src": "350:10:23" + } + ], + "name": "setCompleted", + "nameLocation": "314:12:23", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9775, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9774, + "mutability": "mutable", + "name": "completed", + "nameLocation": "332:9:23", + "nodeType": "VariableDeclaration", + "scope": 9784, + "src": "327:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9773, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "327:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "326:16:23" + }, + "returnParameters": { + "id": 9778, + "nodeType": "ParameterList", + "parameters": [], + "src": "361:0:23" + }, + "scope": 9785, + "src": "305:103:23", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 9786, + "src": "58:352:23", + "usedErrors": [] + } + ], + "src": "32:379:23" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.704Z", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/Mock.json b/build/contracts/Mock.json new file mode 100644 index 0000000..8bdb11a --- /dev/null +++ b/build/contracts/Mock.json @@ -0,0 +1,2363 @@ +{ + "contractName": "Mock", + "abi": [ + { + "inputs": [], + "name": "balance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "s", + "type": "int256" + } + ], + "name": "set", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "check", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "fail", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "lbcAddress", + "type": "address" + } + ], + "name": "callRegister", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"balance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"lbcAddress\",\"type\":\"address\"}],\"name\":\"callRegister\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"check\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fail\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"s\",\"type\":\"int256\"}],\"name\":\"set\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Mock.sol\":\"Mock\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x247c62047745915c0af6b955470a72d1696ebad4352d7d3011aef1a2463cd888\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7fc8396619de513c96b6e00301b88dd790e83542aab918425633a5f7297a15a\",\"dweb:/ipfs/QmXbP4kiZyp7guuS7xe8KaybnwkRPGrBc2Kbi3vhcTfpxb\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x037c334add4b033ad3493038c25be1682d78c00992e1acb0e2795caff3925271\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a313cf42389440e2706837c91370323b85971c06afd6d056d21e2bc86459618\",\"dweb:/ipfs/QmT8XUrUvQ9aZaPKrqgRU2JVGWnaxBcUYJA7Q7K5KcLBSZ\"]},\"@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2b3005a0064cfc558bdf64b2bae94b565f4574a536aadd61c13838d4f2157790\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://622c3eb87563e71585c9f538d1a196fe2d154dcc5b8f335e8770a8acc95e1f3a\",\"dweb:/ipfs/QmSnDqJJLzv3mirjGB1vrk5X7hegFdS7BKpscpxyqj7sWu\"]},\"@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x2edcb41c121abc510932e8d83ff8b82cf9cdde35e7c297622f5c29ef0af25183\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72460c66cd1c3b1c11b863e0d8df0a1c56f37743019e468dc312c754f43e3b06\",\"dweb:/ipfs/QmPExYKiNb9PUsgktQBupPaM33kzDHxaYoVeJdLhv8s879\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"@rsksmart/btc-transaction-solidity-helper/contracts/BtcUtils.sol\":{\"keccak256\":\"0x74f37be19bedfd0d29802bad535d081f97689171ea0317d65803c9a66af49c1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://44325d49566d08e72d7ed85a98382d0dcd66bde2e4046df2dd63df43a5196cc5\",\"dweb:/ipfs/QmUQvPkSpciVbFueE2GEwnMap5qUxHgf2DnQAnqhCx6a2R\"]},\"project:/contracts/Bridge.sol\":{\"keccak256\":\"0xae192fa4fc0d6d395fd0c3912bc3affe86ddd4869f04501fbae0afe234d1becd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://309436cba07567a3ee76e71d6a751023b436a17f7d83e291ef731318287756e6\",\"dweb:/ipfs/QmZTjw3hbY4ofptJmQwnLRGrBTQcv6yPgbY4WvMAwgkzGS\"]},\"project:/contracts/LiquidityBridgeContract.sol\":{\"keccak256\":\"0xffd1e9632f97e8d0a1daac7a5db03b7f5c345e80e08ecc2d2a113d36969fef7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ff6c407622ceab5e821eb0ae0e1984812e5e517180c56f57f2891840d79a3\",\"dweb:/ipfs/QmS9sYi998BahXLHLW74qrf45icdLGmxXuNm7Y2SN9VZnF\"]},\"project:/contracts/Mock.sol\":{\"keccak256\":\"0x2c3e024eaf134bb6b12c48103c9b5e21f1d2b03b4d6ce1106a6ef924adf462cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b836e99f6c17937d83f85bd6197e90e3534dba6e8fbfd1b23c0e0c283ddf8a24\",\"dweb:/ipfs/QmYrbtyjY4QTP1D9ap5VZCYMkMDidCWm7dgYHVuyqbKq6t\"]},\"project:/contracts/Quotes.sol\":{\"keccak256\":\"0x28948b37d73f110d9cfc6cc3505fa7f2309b2d8d588d90c4069df45b4acbe399\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2a824971a2421b56127e048a6b8a2d4ef4945b13e5f40cb266a19462c954e7f\",\"dweb:/ipfs/QmWm8YpQUwvqu4erUbsUZ1xz4PoVtJQiAX1Kh5Gezi32c1\"]},\"project:/contracts/SignatureValidator.sol\":{\"keccak256\":\"0x9d72920dd5ff2891c8dd3b3a814c1b108e82fcc6dfd849c96842e88c01d25b2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8df1167e9def35ced4a620e3fa1e6d148bc7c1fb995378bf12dabef250b3be65\",\"dweb:/ipfs/QmZJJchWvzUeMb68VPHFGnMXBx7aMhK5GqJy8ECDx2rf58\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50610276806100206000396000f3fe60806040526004361061004a5760003560e01c80631192fe621461004f578063919840ad14610064578063a9cc471814610087578063b69ef8a81461009c578063e5c19b2d146100b2575b600080fd5b61006261005d3660046101de565b6100c5565b005b34801561007057600080fd5b506000545b60405190815260200160405180910390f35b34801561009357600080fd5b506100626101aa565b3480156100a857600080fd5b5061007560015481565b6100626100c036600461020e565b600055565b60405163082e0aa360e31b81526080600480830191909152600e60848301526d119a5c9cdd0818dbdb9d1c9858dd60921b60a483015260c06024830152601460c483015273687474703a2f2f6c6f63616c686f73742f61706960601b60e4830152600160448301526101006064830152610104820152630c4dee8d60e31b61012482015281906001600160a01b0382169063417055189034906101440160206040518083038185885af1158015610180573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906101a59190610227565b505050565b60405162461bcd60e51b815260206004820152600560248201526432b93937b960d91b604482015260640160405180910390fd5b6000602082840312156101f057600080fd5b81356001600160a01b038116811461020757600080fd5b9392505050565b60006020828403121561022057600080fd5b5035919050565b60006020828403121561023957600080fd5b505191905056fea264697066735822122061f78a51a037cbb55ee585c7d3f79951af247aa2114f997ba68b8f04fc206d5c64736f6c63430008120033", + "deployedBytecode": "0x60806040526004361061004a5760003560e01c80631192fe621461004f578063919840ad14610064578063a9cc471814610087578063b69ef8a81461009c578063e5c19b2d146100b2575b600080fd5b61006261005d3660046101de565b6100c5565b005b34801561007057600080fd5b506000545b60405190815260200160405180910390f35b34801561009357600080fd5b506100626101aa565b3480156100a857600080fd5b5061007560015481565b6100626100c036600461020e565b600055565b60405163082e0aa360e31b81526080600480830191909152600e60848301526d119a5c9cdd0818dbdb9d1c9858dd60921b60a483015260c06024830152601460c483015273687474703a2f2f6c6f63616c686f73742f61706960601b60e4830152600160448301526101006064830152610104820152630c4dee8d60e31b61012482015281906001600160a01b0382169063417055189034906101440160206040518083038185885af1158015610180573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906101a59190610227565b505050565b60405162461bcd60e51b815260206004820152600560248201526432b93937b960d91b604482015260640160405180910390fd5b6000602082840312156101f057600080fd5b81356001600160a01b038116811461020757600080fd5b9392505050565b60006020828403121561022057600080fd5b5035919050565b60006020828403121561023957600080fd5b505191905056fea264697066735822122061f78a51a037cbb55ee585c7d3f79951af247aa2114f997ba68b8f04fc206d5c64736f6c63430008120033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:2293:30", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:30", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "92:216:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "138:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "147:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "150:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "140:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "140:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "140:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "113:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "122:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "109:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "109:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "134:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "105:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "105:32:30" + }, + "nodeType": "YulIf", + "src": "102:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "163:36:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "189:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "176:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "176:23:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "167:5:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "262:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "271:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "274:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "264:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "264:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "264:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "221:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "232:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "247:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "252:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "243:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "243:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "256:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "239:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "239:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "228:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "228:31:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "218:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "218:42:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "211:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "211:50:30" + }, + "nodeType": "YulIf", + "src": "208:70:30" + }, + { + "nodeType": "YulAssignment", + "src": "287:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "297:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "287:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address_payable", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "58:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "69:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "81:6:30", + "type": "" + } + ], + "src": "14:294:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "412:76:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "422:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "434:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "445:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "430:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "430:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "422:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "464:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "475:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "457:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "457:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "457:25:30" + } + ] + }, + "name": "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "381:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "392:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "403:4:30", + "type": "" + } + ], + "src": "313:175:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "594:76:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "604:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "616:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "627:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "612:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "612:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "604:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "646:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "657:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "639:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "639:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "639:25:30" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "563:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "574:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "585:4:30", + "type": "" + } + ], + "src": "493:177:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "744:110:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "790:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "799:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "802:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "792:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "792:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "792:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "765:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "774:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "761:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "761:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "786:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "757:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "757:32:30" + }, + "nodeType": "YulIf", + "src": "754:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "815:33:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "838:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "825:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "825:23:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "815:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_int256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "710:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "721:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "733:6:30", + "type": "" + } + ], + "src": "675:179:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1257:512:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1274:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1285:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1267:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1267:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1267:22:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1309:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1320:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1305:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1305:19:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1326:2:30", + "type": "", + "value": "14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1298:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1298:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1298:31:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1349:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1360:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1345:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1345:19:30" + }, + { + "hexValue": "466972737420636f6e7472616374", + "kind": "string", + "nodeType": "YulLiteral", + "src": "1366:16:30", + "type": "", + "value": "First contract" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1338:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1338:45:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1338:45:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1403:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1414:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1399:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1399:20:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1421:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1392:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1392:33:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1392:33:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1445:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1456:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1441:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1441:19:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1462:2:30", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1434:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1434:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1434:31:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1485:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1496:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1481:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1481:19:30" + }, + { + "hexValue": "687474703a2f2f6c6f63616c686f73742f617069", + "kind": "string", + "nodeType": "YulLiteral", + "src": "1502:22:30", + "type": "", + "value": "http://localhost/api" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1474:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1474:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1474:51:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1534:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1544:3:30", + "type": "", + "value": "256" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "1538:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1567:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1578:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1563:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1563:18:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1597:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1590:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1590:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1583:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1583:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1556:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1556:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1556:50:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1626:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1637:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1622:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1622:18:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1642:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1615:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1615:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1615:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1665:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1676:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1661:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1661:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1681:1:30", + "type": "", + "value": "4" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1654:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1654:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1654:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1703:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1714:3:30", + "type": "", + "value": "288" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1699:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1699:19:30" + }, + { + "hexValue": "626f7468", + "kind": "string", + "nodeType": "YulLiteral", + "src": "1720:6:30", + "type": "", + "value": "both" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1692:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1692:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1692:35:30" + }, + { + "nodeType": "YulAssignment", + "src": "1736:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1748:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1759:3:30", + "type": "", + "value": "320" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1744:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1744:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1736:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_12ef6b872f6c4958940c5c0afd3e36cc0e19c029aff427a11a2a23931f8a0191_t_stringliteral_25a23078b571f2e3f31ae191c34bb210f450523e06e2fb031f4582c8782e95ec_t_bool_t_stringliteral_36ad643d447cde9387780ae6f5b371120b595aaff5d56b8440952d5f7116fa16__to_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1226:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1237:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1248:4:30", + "type": "" + } + ], + "src": "859:910:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1855:103:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1901:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1910:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1913:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1903:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1903:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1903:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1876:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1885:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1872:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1872:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1897:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1868:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1868:32:30" + }, + "nodeType": "YulIf", + "src": "1865:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "1926:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1942:9:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1936:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "1936:16:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1926:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1821:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1832:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1844:6:30", + "type": "" + } + ], + "src": "1774:184:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2137:154:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2154:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2165:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2147:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2147:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2147:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2188:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2199:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2184:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2184:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2204:1:30", + "type": "", + "value": "5" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2177:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2177:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2177:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2226:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2237:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2222:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2222:18:30" + }, + { + "hexValue": "6572726f72", + "kind": "string", + "nodeType": "YulLiteral", + "src": "2242:7:30", + "type": "", + "value": "error" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2215:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2215:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2215:35:30" + }, + { + "nodeType": "YulAssignment", + "src": "2259:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2271:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2282:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2267:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2267:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2259:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_177f242d20ff7dc4598657e4355abd2b0df8f6351283a95d209db56ce73ef6e9__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2114:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2128:4:30", + "type": "" + } + ], + "src": "1963:328:30" + } + ] + }, + "contents": "{\n { }\n function abi_decode_tuple_t_address_payable(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\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_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_int256(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_stringliteral_12ef6b872f6c4958940c5c0afd3e36cc0e19c029aff427a11a2a23931f8a0191_t_stringliteral_25a23078b571f2e3f31ae191c34bb210f450523e06e2fb031f4582c8782e95ec_t_bool_t_stringliteral_36ad643d447cde9387780ae6f5b371120b595aaff5d56b8440952d5f7116fa16__to_t_string_memory_ptr_t_string_memory_ptr_t_bool_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 128)\n mstore(add(headStart, 128), 14)\n mstore(add(headStart, 160), \"First contract\")\n mstore(add(headStart, 0x20), 192)\n mstore(add(headStart, 192), 20)\n mstore(add(headStart, 224), \"http://localhost/api\")\n let _1 := 256\n mstore(add(headStart, 64), iszero(iszero(value0)))\n mstore(add(headStart, 96), _1)\n mstore(add(headStart, _1), 4)\n mstore(add(headStart, 288), \"both\")\n tail := add(headStart, 320)\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_stringliteral_177f242d20ff7dc4598657e4355abd2b0df8f6351283a95d209db56ce73ef6e9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 5)\n mstore(add(headStart, 64), \"error\")\n tail := add(headStart, 96)\n }\n}", + "id": 30, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "99:605:24:-:0;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "99:605:24:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;399:303;;;;;;:::i;:::-;;:::i;:::-;;242:75;;;;;;;;;;-1:-1:-1;282:3:24;304:6;242:75;;;457:25:30;;;445:2;430:18;242:75:24;;;;;;;323:70;;;;;;;;;;;;;:::i;143:22::-;;;;;;;;;;;;;;;;172:64;;;;;;:::i;:::-;219:6;:10;172:64;399:303;551:144;;-1:-1:-1;;;551:144:24;;1285:3:30;551:144:24;;;;1267:22:30;;;;1326:2;1305:19;;;1298:31;-1:-1:-1;;;1345:19:30;;;1338:45;1421:3;1399:20;;;1392:33;1462:2;1441:19;;;1434:31;-1:-1:-1;;;1481:19:30;;;1474:51;661:4:24;1563:18:30;;;1556:50;1544:3;1622:18;;;1615:30;1661:18;;;1654:29;-1:-1:-1;;;1699:19:30;;;1692:35;530:10:24;;-1:-1:-1;;;;;551:12:24;;;;;571:9;;1744:19:30;;551:144:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;466:236;399:303;:::o;323:70::-;363:23;;-1:-1:-1;;;363:23:24;;2165:2:30;363:23:24;;;2147:21:30;2204:1;2184:18;;;2177:29;-1:-1:-1;;;2222:18:30;;;2215:35;2267:18;;363:23:24;;;;;;;14:294:30;81:6;134:2;122:9;113:7;109:23;105:32;102:52;;;150:1;147;140:12;102:52;176:23;;-1:-1:-1;;;;;228:31:30;;218:42;;208:70;;274:1;271;264:12;208:70;297:5;14:294;-1:-1:-1;;;14:294:30:o;675:179::-;733:6;786:2;774:9;765:7;761:23;757:32;754:52;;;802:1;799;792:12;754:52;-1:-1:-1;825:23:30;;675:179;-1:-1:-1;675:179:30:o;1774:184::-;1844:6;1897:2;1885:9;1876:7;1872:23;1868:32;1865:52;;;1913:1;1910;1903:12;1865:52;-1:-1:-1;1936:16:30;;1774:184;-1:-1:-1;1774:184:30:o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.18;\n\nimport \"./LiquidityBridgeContract.sol\";\n\ncontract Mock {\n int private status;\n uint256 public balance;\n\n function set(int s) external payable {\n status = s;\n }\n\n function check() external view returns (int) {\n return status;\n }\n\n function fail() external pure {\n require(false, \"error\");\n }\n\n function callRegister(address payable lbcAddress) external payable {\n LiquidityBridgeContract lbc = LiquidityBridgeContract(lbcAddress);\n lbc.register{value: msg.value}(\n \"First contract\",\n \"http://localhost/api\",\n true,\n \"both\"\n );\n }\n}\n", + "sourcePath": "/Users/luischavez/iov/liquidity-bridge-contract/contracts/Mock.sol", + "ast": { + "absolutePath": "project:/contracts/Mock.sol", + "exportedSymbols": { + "AddressUpgradeable": [ + 657 + ], + "Bridge": [ + 3208 + ], + "BtcUtils": [ + 2805 + ], + "ContextUpgradeable": [ + 699 + ], + "Initializable": [ + 300 + ], + "LiquidityBridgeContract": [ + 6933 + ], + "Mock": [ + 9845 + ], + "OwnableUpgradeable": [ + 131 + ], + "Quotes": [ + 10112 + ], + "ReentrancyGuardUpgradeable": [ + 373 + ], + "SignatureValidator": [ + 10454 + ] + }, + "id": 9846, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9787, + "literals": [ + "solidity", + "^", + "0.8", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "32:24:24" + }, + { + "absolutePath": "project:/contracts/LiquidityBridgeContract.sol", + "file": "./LiquidityBridgeContract.sol", + "id": 9788, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 9846, + "sourceUnit": 6934, + "src": "58:39:24", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Mock", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 9845, + "linearizedBaseContracts": [ + 9845 + ], + "name": "Mock", + "nameLocation": "108:4:24", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 9790, + "mutability": "mutable", + "name": "status", + "nameLocation": "131:6:24", + "nodeType": "VariableDeclaration", + "scope": 9845, + "src": "119:18:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9789, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "119:3:24", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "functionSelector": "b69ef8a8", + "id": 9792, + "mutability": "mutable", + "name": "balance", + "nameLocation": "158:7:24", + "nodeType": "VariableDeclaration", + "scope": 9845, + "src": "143:22:24", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9791, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "143:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 9801, + "nodeType": "Block", + "src": "209:27:24", + "statements": [ + { + "expression": { + "id": 9799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 9797, + "name": "status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9790, + "src": "219:6:24", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 9798, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9794, + "src": "228:1:24", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "src": "219:10:24", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "id": 9800, + "nodeType": "ExpressionStatement", + "src": "219:10:24" + } + ] + }, + "functionSelector": "e5c19b2d", + "id": 9802, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "set", + "nameLocation": "181:3:24", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9795, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9794, + "mutability": "mutable", + "name": "s", + "nameLocation": "189:1:24", + "nodeType": "VariableDeclaration", + "scope": 9802, + "src": "185:5:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9793, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "185:3:24", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "184:7:24" + }, + "returnParameters": { + "id": 9796, + "nodeType": "ParameterList", + "parameters": [], + "src": "209:0:24" + }, + "scope": 9845, + "src": "172:64:24", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 9809, + "nodeType": "Block", + "src": "287:30:24", + "statements": [ + { + "expression": { + "id": 9807, + "name": "status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9790, + "src": "304:6:24", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "functionReturnParameters": 9806, + "id": 9808, + "nodeType": "Return", + "src": "297:13:24" + } + ] + }, + "functionSelector": "919840ad", + "id": 9810, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "check", + "nameLocation": "251:5:24", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9803, + "nodeType": "ParameterList", + "parameters": [], + "src": "256:2:24" + }, + "returnParameters": { + "id": 9806, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9805, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9810, + "src": "282:3:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 9804, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "282:3:24", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "281:5:24" + }, + "scope": 9845, + "src": "242:75:24", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 9818, + "nodeType": "Block", + "src": "353:40:24", + "statements": [ + { + "expression": { + "arguments": [ + { + "hexValue": "66616c7365", + "id": 9814, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "371:5:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "hexValue": "6572726f72", + "id": 9815, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "378:7:24", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_177f242d20ff7dc4598657e4355abd2b0df8f6351283a95d209db56ce73ef6e9", + "typeString": "literal_string \"error\"" + }, + "value": "error" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_177f242d20ff7dc4598657e4355abd2b0df8f6351283a95d209db56ce73ef6e9", + "typeString": "literal_string \"error\"" + } + ], + "id": 9813, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "363:7:24", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 9816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "363:23:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9817, + "nodeType": "ExpressionStatement", + "src": "363:23:24" + } + ] + }, + "functionSelector": "a9cc4718", + "id": 9819, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "fail", + "nameLocation": "332:4:24", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9811, + "nodeType": "ParameterList", + "parameters": [], + "src": "336:2:24" + }, + "returnParameters": { + "id": 9812, + "nodeType": "ParameterList", + "parameters": [], + "src": "353:0:24" + }, + "scope": 9845, + "src": "323:70:24", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 9843, + "nodeType": "Block", + "src": "466:236:24", + "statements": [ + { + "assignments": [ + 9826 + ], + "declarations": [ + { + "constant": false, + "id": 9826, + "mutability": "mutable", + "name": "lbc", + "nameLocation": "500:3:24", + "nodeType": "VariableDeclaration", + "scope": 9843, + "src": "476:27:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LiquidityBridgeContract_$6933", + "typeString": "contract LiquidityBridgeContract" + }, + "typeName": { + "id": 9825, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9824, + "name": "LiquidityBridgeContract", + "nameLocations": [ + "476:23:24" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 6933, + "src": "476:23:24" + }, + "referencedDeclaration": 6933, + "src": "476:23:24", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LiquidityBridgeContract_$6933", + "typeString": "contract LiquidityBridgeContract" + } + }, + "visibility": "internal" + } + ], + "id": 9830, + "initialValue": { + "arguments": [ + { + "id": 9828, + "name": "lbcAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9821, + "src": "530:10:24", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 9827, + "name": "LiquidityBridgeContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6933, + "src": "506:23:24", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LiquidityBridgeContract_$6933_$", + "typeString": "type(contract LiquidityBridgeContract)" + } + }, + "id": 9829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "506:35:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_LiquidityBridgeContract_$6933", + "typeString": "contract LiquidityBridgeContract" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "476:65:24" + }, + { + "expression": { + "arguments": [ + { + "hexValue": "466972737420636f6e7472616374", + "id": 9837, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "595:16:24", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_12ef6b872f6c4958940c5c0afd3e36cc0e19c029aff427a11a2a23931f8a0191", + "typeString": "literal_string \"First contract\"" + }, + "value": "First contract" + }, + { + "hexValue": "687474703a2f2f6c6f63616c686f73742f617069", + "id": 9838, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "625:22:24", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_25a23078b571f2e3f31ae191c34bb210f450523e06e2fb031f4582c8782e95ec", + "typeString": "literal_string \"http://localhost/api\"" + }, + "value": "http://localhost/api" + }, + { + "hexValue": "74727565", + "id": 9839, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "661:4:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "hexValue": "626f7468", + "id": 9840, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "679:6:24", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_36ad643d447cde9387780ae6f5b371120b595aaff5d56b8440952d5f7116fa16", + "typeString": "literal_string \"both\"" + }, + "value": "both" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_12ef6b872f6c4958940c5c0afd3e36cc0e19c029aff427a11a2a23931f8a0191", + "typeString": "literal_string \"First contract\"" + }, + { + "typeIdentifier": "t_stringliteral_25a23078b571f2e3f31ae191c34bb210f450523e06e2fb031f4582c8782e95ec", + "typeString": "literal_string \"http://localhost/api\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_36ad643d447cde9387780ae6f5b371120b595aaff5d56b8440952d5f7116fa16", + "typeString": "literal_string \"both\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_12ef6b872f6c4958940c5c0afd3e36cc0e19c029aff427a11a2a23931f8a0191", + "typeString": "literal_string \"First contract\"" + }, + { + "typeIdentifier": "t_stringliteral_25a23078b571f2e3f31ae191c34bb210f450523e06e2fb031f4582c8782e95ec", + "typeString": "literal_string \"http://localhost/api\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_36ad643d447cde9387780ae6f5b371120b595aaff5d56b8440952d5f7116fa16", + "typeString": "literal_string \"both\"" + } + ], + "expression": { + "id": 9831, + "name": "lbc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9826, + "src": "551:3:24", + "typeDescriptions": { + "typeIdentifier": "t_contract$_LiquidityBridgeContract_$6933", + "typeString": "contract LiquidityBridgeContract" + } + }, + "id": 9833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "555:8:24", + "memberName": "register", + "nodeType": "MemberAccess", + "referencedDeclaration": 4845, + "src": "551:12:24", + "typeDescriptions": { + "typeIdentifier": "t_function_external_payable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory,string memory,bool,string memory) payable external returns (uint256)" + } + }, + "id": 9836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "expression": { + "id": 9834, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "571:3:24", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "575:5:24", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "571:9:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "551:30:24", + "typeDescriptions": { + "typeIdentifier": "t_function_external_payable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$_t_string_memory_ptr_$returns$_t_uint256_$value", + "typeString": "function (string memory,string memory,bool,string memory) payable external returns (uint256)" + } + }, + "id": 9841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "551:144:24", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9842, + "nodeType": "ExpressionStatement", + "src": "551:144:24" + } + ] + }, + "functionSelector": "1192fe62", + "id": 9844, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "callRegister", + "nameLocation": "408:12:24", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9822, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9821, + "mutability": "mutable", + "name": "lbcAddress", + "nameLocation": "437:10:24", + "nodeType": "VariableDeclaration", + "scope": 9844, + "src": "421:26:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 9820, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "421:15:24", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + } + ], + "src": "420:28:24" + }, + "returnParameters": { + "id": 9823, + "nodeType": "ParameterList", + "parameters": [], + "src": "466:0:24" + }, + "scope": 9845, + "src": "399:303:24", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 9846, + "src": "99:605:24", + "usedErrors": [] + } + ], + "src": "32:673:24" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.706Z", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/Ownable.json b/build/contracts/Ownable.json new file mode 100644 index 0000000..2df6a18 --- /dev/null +++ b/build/contracts/Ownable.json @@ -0,0 +1,1422 @@ +{ + "contractName": "Ownable", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "", + "deployedSourceMap": "", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * By default, the owner account will be the one that deploys the contract. This\n * can later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n address private _owner;\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the deployer as the initial owner.\n */\n constructor() {\n _transferOwnership(_msgSender());\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n _checkOwner();\n _;\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if the sender is not the owner.\n */\n function _checkOwner() internal view virtual {\n require(owner() == _msgSender(), \"Ownable: caller is not the owner\");\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions anymore. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby removing any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n require(newOwner != address(0), \"Ownable: new owner is the zero address\");\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n address oldOwner = _owner;\n _owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n}\n", + "sourcePath": "@openzeppelin/contracts/access/Ownable.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "exportedSymbols": { + "Context": [ + 1875 + ], + "Ownable": [ + 812 + ] + }, + "id": 813, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 701, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "102:23:5" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "file": "../utils/Context.sol", + "id": 702, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 813, + "sourceUnit": 1876, + "src": "127:30:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 704, + "name": "Context", + "nameLocations": [ + "683:7:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1875, + "src": "683:7:5" + }, + "id": 705, + "nodeType": "InheritanceSpecifier", + "src": "683:7:5" + } + ], + "canonicalName": "Ownable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 703, + "nodeType": "StructuredDocumentation", + "src": "159:494:5", + "text": " @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n By default, the owner account will be the one that deploys the contract. This\n can later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner." + }, + "fullyImplemented": true, + "id": 812, + "linearizedBaseContracts": [ + 812, + 1875 + ], + "name": "Ownable", + "nameLocation": "672:7:5", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 707, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "713:6:5", + "nodeType": "VariableDeclaration", + "scope": 812, + "src": "697:22:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 706, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "697:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "anonymous": false, + "eventSelector": "8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "id": 713, + "name": "OwnershipTransferred", + "nameLocation": "732:20:5", + "nodeType": "EventDefinition", + "parameters": { + "id": 712, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 709, + "indexed": true, + "mutability": "mutable", + "name": "previousOwner", + "nameLocation": "769:13:5", + "nodeType": "VariableDeclaration", + "scope": 713, + "src": "753:29:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 708, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "753:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 711, + "indexed": true, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "800:8:5", + "nodeType": "VariableDeclaration", + "scope": 713, + "src": "784:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 710, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "784:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "752:57:5" + }, + "src": "726:84:5" + }, + { + "body": { + "id": 722, + "nodeType": "Block", + "src": "926:49:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 718, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1865, + "src": "955:10:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "955:12:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 717, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 811, + "src": "936:18:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "936:32:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 721, + "nodeType": "ExpressionStatement", + "src": "936:32:5" + } + ] + }, + "documentation": { + "id": 714, + "nodeType": "StructuredDocumentation", + "src": "816:91:5", + "text": " @dev Initializes the contract setting the deployer as the initial owner." + }, + "id": 723, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 715, + "nodeType": "ParameterList", + "parameters": [], + "src": "923:2:5" + }, + "returnParameters": { + "id": 716, + "nodeType": "ParameterList", + "parameters": [], + "src": "926:0:5" + }, + "scope": 812, + "src": "912:63:5", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 730, + "nodeType": "Block", + "src": "1084:41:5", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 726, + "name": "_checkOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "1094:11:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1094:13:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 728, + "nodeType": "ExpressionStatement", + "src": "1094:13:5" + }, + { + "id": 729, + "nodeType": "PlaceholderStatement", + "src": "1117:1:5" + } + ] + }, + "documentation": { + "id": 724, + "nodeType": "StructuredDocumentation", + "src": "981:77:5", + "text": " @dev Throws if called by any account other than the owner." + }, + "id": 731, + "name": "onlyOwner", + "nameLocation": "1072:9:5", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 725, + "nodeType": "ParameterList", + "parameters": [], + "src": "1081:2:5" + }, + "src": "1063:62:5", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 739, + "nodeType": "Block", + "src": "1256:30:5", + "statements": [ + { + "expression": { + "id": 737, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 707, + "src": "1273:6:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 736, + "id": 738, + "nodeType": "Return", + "src": "1266:13:5" + } + ] + }, + "documentation": { + "id": 732, + "nodeType": "StructuredDocumentation", + "src": "1131:65:5", + "text": " @dev Returns the address of the current owner." + }, + "functionSelector": "8da5cb5b", + "id": 740, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nameLocation": "1210:5:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 733, + "nodeType": "ParameterList", + "parameters": [], + "src": "1215:2:5" + }, + "returnParameters": { + "id": 736, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 735, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 740, + "src": "1247:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 734, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1247:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1246:9:5" + }, + "scope": 812, + "src": "1201:85:5", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 753, + "nodeType": "Block", + "src": "1404:85:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 745, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 740, + "src": "1422:5:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1422:7:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 747, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1865, + "src": "1433:10:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1433:12:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1422:23:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", + "id": 750, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1447:34:5", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "typeString": "literal_string \"Ownable: caller is not the owner\"" + }, + "value": "Ownable: caller is not the owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "typeString": "literal_string \"Ownable: caller is not the owner\"" + } + ], + "id": 744, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1414:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1414:68:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 752, + "nodeType": "ExpressionStatement", + "src": "1414:68:5" + } + ] + }, + "documentation": { + "id": 741, + "nodeType": "StructuredDocumentation", + "src": "1292:62:5", + "text": " @dev Throws if the sender is not the owner." + }, + "id": 754, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkOwner", + "nameLocation": "1368:11:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 742, + "nodeType": "ParameterList", + "parameters": [], + "src": "1379:2:5" + }, + "returnParameters": { + "id": 743, + "nodeType": "ParameterList", + "parameters": [], + "src": "1404:0:5" + }, + "scope": 812, + "src": "1359:130:5", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 767, + "nodeType": "Block", + "src": "1885:47:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1922:1:5", + "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": 762, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1914:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 761, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1914:7:5", + "typeDescriptions": {} + } + }, + "id": 764, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1914:10:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 760, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 811, + "src": "1895:18:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1895:30:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 766, + "nodeType": "ExpressionStatement", + "src": "1895:30:5" + } + ] + }, + "documentation": { + "id": 755, + "nodeType": "StructuredDocumentation", + "src": "1495:331:5", + "text": " @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions anymore. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby removing any functionality that is only available to the owner." + }, + "functionSelector": "715018a6", + "id": 768, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 758, + "kind": "modifierInvocation", + "modifierName": { + "id": 757, + "name": "onlyOwner", + "nameLocations": [ + "1875:9:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 731, + "src": "1875:9:5" + }, + "nodeType": "ModifierInvocation", + "src": "1875:9:5" + } + ], + "name": "renounceOwnership", + "nameLocation": "1840:17:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 756, + "nodeType": "ParameterList", + "parameters": [], + "src": "1857:2:5" + }, + "returnParameters": { + "id": 759, + "nodeType": "ParameterList", + "parameters": [], + "src": "1885:0:5" + }, + "scope": 812, + "src": "1831:101:5", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 790, + "nodeType": "Block", + "src": "2151:128:5", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 777, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 771, + "src": "2169:8:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 780, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2189:1:5", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 779, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2181:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 778, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2181:7:5", + "typeDescriptions": {} + } + }, + "id": 781, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2181:10:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2169:22:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373", + "id": 783, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2193:40:5", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "typeString": "literal_string \"Ownable: new owner is the zero address\"" + }, + "value": "Ownable: new owner is the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "typeString": "literal_string \"Ownable: new owner is the zero address\"" + } + ], + "id": 776, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2161:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2161:73:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 785, + "nodeType": "ExpressionStatement", + "src": "2161:73:5" + }, + { + "expression": { + "arguments": [ + { + "id": 787, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 771, + "src": "2263:8:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 786, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 811, + "src": "2244:18:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2244:28:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 789, + "nodeType": "ExpressionStatement", + "src": "2244:28:5" + } + ] + }, + "documentation": { + "id": 769, + "nodeType": "StructuredDocumentation", + "src": "1938:138:5", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner." + }, + "functionSelector": "f2fde38b", + "id": 791, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 774, + "kind": "modifierInvocation", + "modifierName": { + "id": 773, + "name": "onlyOwner", + "nameLocations": [ + "2141:9:5" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 731, + "src": "2141:9:5" + }, + "nodeType": "ModifierInvocation", + "src": "2141:9:5" + } + ], + "name": "transferOwnership", + "nameLocation": "2090:17:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 772, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 771, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "2116:8:5", + "nodeType": "VariableDeclaration", + "scope": 791, + "src": "2108:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 770, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2108:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2107:18:5" + }, + "returnParameters": { + "id": 775, + "nodeType": "ParameterList", + "parameters": [], + "src": "2151:0:5" + }, + "scope": 812, + "src": "2081:198:5", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 810, + "nodeType": "Block", + "src": "2496:124:5", + "statements": [ + { + "assignments": [ + 798 + ], + "declarations": [ + { + "constant": false, + "id": 798, + "mutability": "mutable", + "name": "oldOwner", + "nameLocation": "2514:8:5", + "nodeType": "VariableDeclaration", + "scope": 810, + "src": "2506:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 797, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2506:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 800, + "initialValue": { + "id": 799, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 707, + "src": "2525:6:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2506:25:5" + }, + { + "expression": { + "id": 803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 801, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 707, + "src": "2541:6:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 802, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 794, + "src": "2550:8:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2541:17:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 804, + "nodeType": "ExpressionStatement", + "src": "2541:17:5" + }, + { + "eventCall": { + "arguments": [ + { + "id": 806, + "name": "oldOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 798, + "src": "2594:8:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 807, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 794, + "src": "2604:8:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 805, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 713, + "src": "2573:20:5", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2573:40:5", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 809, + "nodeType": "EmitStatement", + "src": "2568:45:5" + } + ] + }, + "documentation": { + "id": 792, + "nodeType": "StructuredDocumentation", + "src": "2285:143:5", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction." + }, + "id": 811, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transferOwnership", + "nameLocation": "2442:18:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 795, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 794, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "2469:8:5", + "nodeType": "VariableDeclaration", + "scope": 811, + "src": "2461:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 793, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2461:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2460:18:5" + }, + "returnParameters": { + "id": 796, + "nodeType": "ParameterList", + "parameters": [], + "src": "2496:0:5" + }, + "scope": 812, + "src": "2433:187:5", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 813, + "src": "654:1968:5", + "usedErrors": [] + } + ], + "src": "102:2521:5" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.596Z", + "devdoc": { + "details": "Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.", + "kind": "dev", + "methods": { + "constructor": { + "details": "Initializes the contract setting the deployer as the initial owner." + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/OwnableUpgradeable.json b/build/contracts/OwnableUpgradeable.json new file mode 100644 index 0000000..b30403d --- /dev/null +++ b/build/contracts/OwnableUpgradeable.json @@ -0,0 +1,1637 @@ +{ + "contractName": "OwnableUpgradeable", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "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": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"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\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"This empty reserved space is put in place to allow future versions to add new variables without shifting down storage in the inheritance chain. See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":\"OwnableUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x247c62047745915c0af6b955470a72d1696ebad4352d7d3011aef1a2463cd888\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7fc8396619de513c96b6e00301b88dd790e83542aab918425633a5f7297a15a\",\"dweb:/ipfs/QmXbP4kiZyp7guuS7xe8KaybnwkRPGrBc2Kbi3vhcTfpxb\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x037c334add4b033ad3493038c25be1682d78c00992e1acb0e2795caff3925271\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a313cf42389440e2706837c91370323b85971c06afd6d056d21e2bc86459618\",\"dweb:/ipfs/QmT8XUrUvQ9aZaPKrqgRU2JVGWnaxBcUYJA7Q7K5KcLBSZ\"]},\"@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x2edcb41c121abc510932e8d83ff8b82cf9cdde35e7c297622f5c29ef0af25183\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72460c66cd1c3b1c11b863e0d8df0a1c56f37743019e468dc312c754f43e3b06\",\"dweb:/ipfs/QmPExYKiNb9PUsgktQBupPaM33kzDHxaYoVeJdLhv8s879\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "", + "deployedSourceMap": "", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/ContextUpgradeable.sol\";\nimport \"../proxy/utils/Initializable.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * By default, the owner account will be the one that deploys the contract. This\n * can later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract OwnableUpgradeable is Initializable, ContextUpgradeable {\n address private _owner;\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the deployer as the initial owner.\n */\n function __Ownable_init() internal onlyInitializing {\n __Ownable_init_unchained();\n }\n\n function __Ownable_init_unchained() internal onlyInitializing {\n _transferOwnership(_msgSender());\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n _checkOwner();\n _;\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if the sender is not the owner.\n */\n function _checkOwner() internal view virtual {\n require(owner() == _msgSender(), \"Ownable: caller is not the owner\");\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions anymore. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby removing any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n require(newOwner != address(0), \"Ownable: new owner is the zero address\");\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n address oldOwner = _owner;\n _owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n\n /**\n * @dev This empty reserved space is put in place to allow future versions to add new\n * variables without shifting down storage in the inheritance chain.\n * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps\n */\n uint256[49] private __gap;\n}\n", + "sourcePath": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol", + "exportedSymbols": { + "AddressUpgradeable": [ + 657 + ], + "ContextUpgradeable": [ + 699 + ], + "Initializable": [ + 300 + ], + "OwnableUpgradeable": [ + 131 + ] + }, + "id": 132, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "102:23:0" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol", + "file": "../utils/ContextUpgradeable.sol", + "id": 2, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 132, + "sourceUnit": 700, + "src": "127:41:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "file": "../proxy/utils/Initializable.sol", + "id": 3, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 132, + "sourceUnit": 301, + "src": "169:42:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 5, + "name": "Initializable", + "nameLocations": [ + "748:13:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 300, + "src": "748:13:0" + }, + "id": 6, + "nodeType": "InheritanceSpecifier", + "src": "748:13:0" + }, + { + "baseName": { + "id": 7, + "name": "ContextUpgradeable", + "nameLocations": [ + "763:18:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 699, + "src": "763:18:0" + }, + "id": 8, + "nodeType": "InheritanceSpecifier", + "src": "763:18:0" + } + ], + "canonicalName": "OwnableUpgradeable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 4, + "nodeType": "StructuredDocumentation", + "src": "213:494:0", + "text": " @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n By default, the owner account will be the one that deploys the contract. This\n can later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner." + }, + "fullyImplemented": true, + "id": 131, + "linearizedBaseContracts": [ + 131, + 699, + 300 + ], + "name": "OwnableUpgradeable", + "nameLocation": "726:18:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 10, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "804:6:0", + "nodeType": "VariableDeclaration", + "scope": 131, + "src": "788:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "788:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "anonymous": false, + "eventSelector": "8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "id": 16, + "name": "OwnershipTransferred", + "nameLocation": "823:20:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 15, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12, + "indexed": true, + "mutability": "mutable", + "name": "previousOwner", + "nameLocation": "860:13:0", + "nodeType": "VariableDeclaration", + "scope": 16, + "src": "844:29:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "844:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 14, + "indexed": true, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "891:8:0", + "nodeType": "VariableDeclaration", + "scope": 16, + "src": "875:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 13, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "875:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "843:57:0" + }, + "src": "817:84:0" + }, + { + "body": { + "id": 25, + "nodeType": "Block", + "src": "1055:43:0", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 22, + "name": "__Ownable_init_unchained", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37, + "src": "1065:24:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 23, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1065:26:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 24, + "nodeType": "ExpressionStatement", + "src": "1065:26:0" + } + ] + }, + "documentation": { + "id": 17, + "nodeType": "StructuredDocumentation", + "src": "907:91:0", + "text": " @dev Initializes the contract setting the deployer as the initial owner." + }, + "id": 26, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 20, + "kind": "modifierInvocation", + "modifierName": { + "id": 19, + "name": "onlyInitializing", + "nameLocations": [ + "1038:16:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 245, + "src": "1038:16:0" + }, + "nodeType": "ModifierInvocation", + "src": "1038:16:0" + } + ], + "name": "__Ownable_init", + "nameLocation": "1012:14:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18, + "nodeType": "ParameterList", + "parameters": [], + "src": "1026:2:0" + }, + "returnParameters": { + "id": 21, + "nodeType": "ParameterList", + "parameters": [], + "src": "1055:0:0" + }, + "scope": 131, + "src": "1003:95:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 36, + "nodeType": "Block", + "src": "1166:49:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 32, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "1195:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 33, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1195:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 31, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125, + "src": "1176:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 34, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1176:32:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 35, + "nodeType": "ExpressionStatement", + "src": "1176:32:0" + } + ] + }, + "id": 37, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 29, + "kind": "modifierInvocation", + "modifierName": { + "id": 28, + "name": "onlyInitializing", + "nameLocations": [ + "1149:16:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 245, + "src": "1149:16:0" + }, + "nodeType": "ModifierInvocation", + "src": "1149:16:0" + } + ], + "name": "__Ownable_init_unchained", + "nameLocation": "1113:24:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 27, + "nodeType": "ParameterList", + "parameters": [], + "src": "1137:2:0" + }, + "returnParameters": { + "id": 30, + "nodeType": "ParameterList", + "parameters": [], + "src": "1166:0:0" + }, + "scope": 131, + "src": "1104:111:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 44, + "nodeType": "Block", + "src": "1324:41:0", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 40, + "name": "_checkOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68, + "src": "1334:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1334:13:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 42, + "nodeType": "ExpressionStatement", + "src": "1334:13:0" + }, + { + "id": 43, + "nodeType": "PlaceholderStatement", + "src": "1357:1:0" + } + ] + }, + "documentation": { + "id": 38, + "nodeType": "StructuredDocumentation", + "src": "1221:77:0", + "text": " @dev Throws if called by any account other than the owner." + }, + "id": 45, + "name": "onlyOwner", + "nameLocation": "1312:9:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 39, + "nodeType": "ParameterList", + "parameters": [], + "src": "1321:2:0" + }, + "src": "1303:62:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 53, + "nodeType": "Block", + "src": "1496:30:0", + "statements": [ + { + "expression": { + "id": 51, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "1513:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 50, + "id": 52, + "nodeType": "Return", + "src": "1506:13:0" + } + ] + }, + "documentation": { + "id": 46, + "nodeType": "StructuredDocumentation", + "src": "1371:65:0", + "text": " @dev Returns the address of the current owner." + }, + "functionSelector": "8da5cb5b", + "id": 54, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nameLocation": "1450:5:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 47, + "nodeType": "ParameterList", + "parameters": [], + "src": "1455:2:0" + }, + "returnParameters": { + "id": 50, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 49, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 54, + "src": "1487:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 48, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1487:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1486:9:0" + }, + "scope": 131, + "src": "1441:85:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 67, + "nodeType": "Block", + "src": "1644:85:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 63, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 59, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "1662:5:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 60, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1662:7:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 61, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "1673:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 62, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1673:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1662:23:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", + "id": 64, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1687:34:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "typeString": "literal_string \"Ownable: caller is not the owner\"" + }, + "value": "Ownable: caller is not the owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "typeString": "literal_string \"Ownable: caller is not the owner\"" + } + ], + "id": 58, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1654:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 65, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1654:68:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 66, + "nodeType": "ExpressionStatement", + "src": "1654:68:0" + } + ] + }, + "documentation": { + "id": 55, + "nodeType": "StructuredDocumentation", + "src": "1532:62:0", + "text": " @dev Throws if the sender is not the owner." + }, + "id": 68, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkOwner", + "nameLocation": "1608:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 56, + "nodeType": "ParameterList", + "parameters": [], + "src": "1619:2:0" + }, + "returnParameters": { + "id": 57, + "nodeType": "ParameterList", + "parameters": [], + "src": "1644:0:0" + }, + "scope": 131, + "src": "1599:130:0", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 81, + "nodeType": "Block", + "src": "2125:47:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 77, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2162: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": 76, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2154:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 75, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2154:7:0", + "typeDescriptions": {} + } + }, + "id": 78, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2154:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 74, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125, + "src": "2135:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 79, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2135:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 80, + "nodeType": "ExpressionStatement", + "src": "2135:30:0" + } + ] + }, + "documentation": { + "id": 69, + "nodeType": "StructuredDocumentation", + "src": "1735:331:0", + "text": " @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions anymore. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby removing any functionality that is only available to the owner." + }, + "functionSelector": "715018a6", + "id": 82, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 72, + "kind": "modifierInvocation", + "modifierName": { + "id": 71, + "name": "onlyOwner", + "nameLocations": [ + "2115:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "2115:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "2115:9:0" + } + ], + "name": "renounceOwnership", + "nameLocation": "2080:17:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 70, + "nodeType": "ParameterList", + "parameters": [], + "src": "2097:2:0" + }, + "returnParameters": { + "id": 73, + "nodeType": "ParameterList", + "parameters": [], + "src": "2125:0:0" + }, + "scope": 131, + "src": "2071:101:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 104, + "nodeType": "Block", + "src": "2391:128:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 96, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 91, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "2409:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 94, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2429: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": 93, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2421:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 92, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2421:7:0", + "typeDescriptions": {} + } + }, + "id": 95, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2421:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2409:22:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373", + "id": 97, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2433:40:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "typeString": "literal_string \"Ownable: new owner is the zero address\"" + }, + "value": "Ownable: new owner is the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "typeString": "literal_string \"Ownable: new owner is the zero address\"" + } + ], + "id": 90, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2401:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 98, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2401:73:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 99, + "nodeType": "ExpressionStatement", + "src": "2401:73:0" + }, + { + "expression": { + "arguments": [ + { + "id": 101, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 85, + "src": "2503:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 100, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125, + "src": "2484:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2484:28:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 103, + "nodeType": "ExpressionStatement", + "src": "2484:28:0" + } + ] + }, + "documentation": { + "id": 83, + "nodeType": "StructuredDocumentation", + "src": "2178:138:0", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner." + }, + "functionSelector": "f2fde38b", + "id": 105, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 88, + "kind": "modifierInvocation", + "modifierName": { + "id": 87, + "name": "onlyOwner", + "nameLocations": [ + "2381:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "2381:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "2381:9:0" + } + ], + "name": "transferOwnership", + "nameLocation": "2330:17:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 86, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 85, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "2356:8:0", + "nodeType": "VariableDeclaration", + "scope": 105, + "src": "2348:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 84, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2348:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2347:18:0" + }, + "returnParameters": { + "id": 89, + "nodeType": "ParameterList", + "parameters": [], + "src": "2391:0:0" + }, + "scope": 131, + "src": "2321:198:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 124, + "nodeType": "Block", + "src": "2736:124:0", + "statements": [ + { + "assignments": [ + 112 + ], + "declarations": [ + { + "constant": false, + "id": 112, + "mutability": "mutable", + "name": "oldOwner", + "nameLocation": "2754:8:0", + "nodeType": "VariableDeclaration", + "scope": 124, + "src": "2746:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 111, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2746:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 114, + "initialValue": { + "id": 113, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "2765:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2746:25:0" + }, + { + "expression": { + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 115, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "2781:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 116, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 108, + "src": "2790:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2781:17:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 118, + "nodeType": "ExpressionStatement", + "src": "2781:17:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 120, + "name": "oldOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 112, + "src": "2834:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 121, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 108, + "src": "2844:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 119, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16, + "src": "2813:20:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2813:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 123, + "nodeType": "EmitStatement", + "src": "2808:45:0" + } + ] + }, + "documentation": { + "id": 106, + "nodeType": "StructuredDocumentation", + "src": "2525:143:0", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction." + }, + "id": 125, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transferOwnership", + "nameLocation": "2682:18:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 109, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 108, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "2709:8:0", + "nodeType": "VariableDeclaration", + "scope": 125, + "src": "2701:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 107, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2701:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2700:18:0" + }, + "returnParameters": { + "id": 110, + "nodeType": "ParameterList", + "parameters": [], + "src": "2736:0:0" + }, + "scope": 131, + "src": "2673:187:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "constant": false, + "documentation": { + "id": 126, + "nodeType": "StructuredDocumentation", + "src": "2866:254:0", + "text": " @dev This empty reserved space is put in place to allow future versions to add new\n variables without shifting down storage in the inheritance chain.\n See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps" + }, + "id": 130, + "mutability": "mutable", + "name": "__gap", + "nameLocation": "3145:5:0", + "nodeType": "VariableDeclaration", + "scope": 131, + "src": "3125:25:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$49_storage", + "typeString": "uint256[49]" + }, + "typeName": { + "baseType": { + "id": 127, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3125:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 129, + "length": { + "hexValue": "3439", + "id": 128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3133:2:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_49_by_1", + "typeString": "int_const 49" + }, + "value": "49" + }, + "nodeType": "ArrayTypeName", + "src": "3125:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$49_storage_ptr", + "typeString": "uint256[49]" + } + }, + "visibility": "private" + } + ], + "scope": 132, + "src": "708:2445:0", + "usedErrors": [] + } + ], + "src": "102:3052:0" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.586Z", + "devdoc": { + "details": "Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.", + "events": { + "Initialized(uint8)": { + "details": "Triggered when the contract has been initialized or reinitialized." + } + }, + "kind": "dev", + "methods": { + "owner()": { + "details": "Returns the address of the current owner." + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + } + }, + "stateVariables": { + "__gap": { + "details": "This empty reserved space is put in place to allow future versions to add new variables without shifting down storage in the inheritance chain. See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps" + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/Proxy.json b/build/contracts/Proxy.json new file mode 100644 index 0000000..f2a6ce7 --- /dev/null +++ b/build/contracts/Proxy.json @@ -0,0 +1,828 @@ +{ + "contractName": "Proxy", + "abi": [ + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"This abstract contract provides a fallback function that delegates all calls to another contract using the EVM instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to be specified by overriding the virtual {_implementation} function. Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a different contract through the {_delegate} function. The success and return data of the delegated call will be returned back to the caller of the proxy.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/Proxy.sol\":\"Proxy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "", + "deployedSourceMap": "", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (proxy/Proxy.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM\n * instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to\n * be specified by overriding the virtual {_implementation} function.\n *\n * Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a\n * different contract through the {_delegate} function.\n *\n * The success and return data of the delegated call will be returned back to the caller of the proxy.\n */\nabstract contract Proxy {\n /**\n * @dev Delegates the current call to `implementation`.\n *\n * This function does not return to its internal call site, it will return directly to the external caller.\n */\n function _delegate(address implementation) internal virtual {\n assembly {\n // Copy msg.data. We take full control of memory in this inline assembly\n // block because it will not return to Solidity code. We overwrite the\n // Solidity scratch pad at memory position 0.\n calldatacopy(0, 0, calldatasize())\n\n // Call the implementation.\n // out and outsize are 0 because we don't know the size yet.\n let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)\n\n // Copy the returned data.\n returndatacopy(0, 0, returndatasize())\n\n switch result\n // delegatecall returns 0 on error.\n case 0 {\n revert(0, returndatasize())\n }\n default {\n return(0, returndatasize())\n }\n }\n }\n\n /**\n * @dev This is a virtual function that should be overridden so it returns the address to which the fallback function\n * and {_fallback} should delegate.\n */\n function _implementation() internal view virtual returns (address);\n\n /**\n * @dev Delegates the current call to the address returned by `_implementation()`.\n *\n * This function does not return to its internal call site, it will return directly to the external caller.\n */\n function _fallback() internal virtual {\n _beforeFallback();\n _delegate(_implementation());\n }\n\n /**\n * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other\n * function in the contract matches the call data.\n */\n fallback() external payable virtual {\n _fallback();\n }\n\n /**\n * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if call data\n * is empty.\n */\n receive() external payable virtual {\n _fallback();\n }\n\n /**\n * @dev Hook that is called before falling back to the implementation. Can happen as part of a manual `_fallback`\n * call, or as part of the Solidity `fallback` or `receive` functions.\n *\n * If overridden should call `super._beforeFallback()`.\n */\n function _beforeFallback() internal virtual {}\n}\n", + "sourcePath": "@openzeppelin/contracts/proxy/Proxy.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts/proxy/Proxy.sol", + "exportedSymbols": { + "Proxy": [ + 1229 + ] + }, + "id": 1230, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1179, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "99:23:9" + }, + { + "abstract": true, + "baseContracts": [], + "canonicalName": "Proxy", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 1180, + "nodeType": "StructuredDocumentation", + "src": "124:598:9", + "text": " @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM\n instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to\n be specified by overriding the virtual {_implementation} function.\n Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a\n different contract through the {_delegate} function.\n The success and return data of the delegated call will be returned back to the caller of the proxy." + }, + "fullyImplemented": false, + "id": 1229, + "linearizedBaseContracts": [ + 1229 + ], + "name": "Proxy", + "nameLocation": "741:5:9", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1187, + "nodeType": "Block", + "src": "1008:835:9", + "statements": [ + { + "AST": { + "nodeType": "YulBlock", + "src": "1027:810:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1280:1:9", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1283:1:9", + "type": "", + "value": "0" + }, + { + "arguments": [], + "functionName": { + "name": "calldatasize", + "nodeType": "YulIdentifier", + "src": "1286:12:9" + }, + "nodeType": "YulFunctionCall", + "src": "1286:14:9" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "1267:12:9" + }, + "nodeType": "YulFunctionCall", + "src": "1267:34:9" + }, + "nodeType": "YulExpressionStatement", + "src": "1267:34:9" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1428:74:9", + "value": { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "gas", + "nodeType": "YulIdentifier", + "src": "1455:3:9" + }, + "nodeType": "YulFunctionCall", + "src": "1455:5:9" + }, + { + "name": "implementation", + "nodeType": "YulIdentifier", + "src": "1462:14:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1478:1:9", + "type": "", + "value": "0" + }, + { + "arguments": [], + "functionName": { + "name": "calldatasize", + "nodeType": "YulIdentifier", + "src": "1481:12:9" + }, + "nodeType": "YulFunctionCall", + "src": "1481:14:9" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1497:1:9", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1500:1:9", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "delegatecall", + "nodeType": "YulIdentifier", + "src": "1442:12:9" + }, + "nodeType": "YulFunctionCall", + "src": "1442:60:9" + }, + "variables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "1432:6:9", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1570:1:9", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1573:1:9", + "type": "", + "value": "0" + }, + { + "arguments": [], + "functionName": { + "name": "returndatasize", + "nodeType": "YulIdentifier", + "src": "1576:14:9" + }, + "nodeType": "YulFunctionCall", + "src": "1576:16:9" + } + ], + "functionName": { + "name": "returndatacopy", + "nodeType": "YulIdentifier", + "src": "1555:14:9" + }, + "nodeType": "YulFunctionCall", + "src": "1555:38:9" + }, + "nodeType": "YulExpressionStatement", + "src": "1555:38:9" + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1688:59:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1713:1:9", + "type": "", + "value": "0" + }, + { + "arguments": [], + "functionName": { + "name": "returndatasize", + "nodeType": "YulIdentifier", + "src": "1716:14:9" + }, + "nodeType": "YulFunctionCall", + "src": "1716:16:9" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1706:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "1706:27:9" + }, + "nodeType": "YulExpressionStatement", + "src": "1706:27:9" + } + ] + }, + "nodeType": "YulCase", + "src": "1681:66:9", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1686:1:9", + "type": "", + "value": "0" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1768:59:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1793:1:9", + "type": "", + "value": "0" + }, + { + "arguments": [], + "functionName": { + "name": "returndatasize", + "nodeType": "YulIdentifier", + "src": "1796:14:9" + }, + "nodeType": "YulFunctionCall", + "src": "1796:16:9" + } + ], + "functionName": { + "name": "return", + "nodeType": "YulIdentifier", + "src": "1786:6:9" + }, + "nodeType": "YulFunctionCall", + "src": "1786:27:9" + }, + "nodeType": "YulExpressionStatement", + "src": "1786:27:9" + } + ] + }, + "nodeType": "YulCase", + "src": "1760:67:9", + "value": "default" + } + ], + "expression": { + "name": "result", + "nodeType": "YulIdentifier", + "src": "1614:6:9" + }, + "nodeType": "YulSwitch", + "src": "1607:220:9" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1183, + "isOffset": false, + "isSlot": false, + "src": "1462:14:9", + "valueSize": 1 + } + ], + "id": 1186, + "nodeType": "InlineAssembly", + "src": "1018:819:9" + } + ] + }, + "documentation": { + "id": 1181, + "nodeType": "StructuredDocumentation", + "src": "753:190:9", + "text": " @dev Delegates the current call to `implementation`.\n This function does not return to its internal call site, it will return directly to the external caller." + }, + "id": 1188, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_delegate", + "nameLocation": "957:9:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1184, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1183, + "mutability": "mutable", + "name": "implementation", + "nameLocation": "975:14:9", + "nodeType": "VariableDeclaration", + "scope": 1188, + "src": "967:22:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1182, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "967:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "966:24:9" + }, + "returnParameters": { + "id": 1185, + "nodeType": "ParameterList", + "parameters": [], + "src": "1008:0:9" + }, + "scope": 1229, + "src": "948:895:9", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "documentation": { + "id": 1189, + "nodeType": "StructuredDocumentation", + "src": "1849:173:9", + "text": " @dev This is a virtual function that should be overridden so it returns the address to which the fallback function\n and {_fallback} should delegate." + }, + "id": 1194, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "_implementation", + "nameLocation": "2036:15:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1190, + "nodeType": "ParameterList", + "parameters": [], + "src": "2051:2:9" + }, + "returnParameters": { + "id": 1193, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1192, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1194, + "src": "2085:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1191, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2085:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2084:9:9" + }, + "scope": 1229, + "src": "2027:67:9", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 1206, + "nodeType": "Block", + "src": "2360:72:9", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1198, + "name": "_beforeFallback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1228, + "src": "2370:15:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2370:17:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1200, + "nodeType": "ExpressionStatement", + "src": "2370:17:9" + }, + { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1202, + "name": "_implementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1194, + "src": "2407:15:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2407:17:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1201, + "name": "_delegate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "2397:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 1204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2397:28:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1205, + "nodeType": "ExpressionStatement", + "src": "2397:28:9" + } + ] + }, + "documentation": { + "id": 1195, + "nodeType": "StructuredDocumentation", + "src": "2100:217:9", + "text": " @dev Delegates the current call to the address returned by `_implementation()`.\n This function does not return to its internal call site, it will return directly to the external caller." + }, + "id": 1207, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_fallback", + "nameLocation": "2331:9:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1196, + "nodeType": "ParameterList", + "parameters": [], + "src": "2340:2:9" + }, + "returnParameters": { + "id": 1197, + "nodeType": "ParameterList", + "parameters": [], + "src": "2360:0:9" + }, + "scope": 1229, + "src": "2322:110:9", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 1214, + "nodeType": "Block", + "src": "2665:28:9", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1211, + "name": "_fallback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1207, + "src": "2675:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2675:11:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1213, + "nodeType": "ExpressionStatement", + "src": "2675:11:9" + } + ] + }, + "documentation": { + "id": 1208, + "nodeType": "StructuredDocumentation", + "src": "2438:186:9", + "text": " @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other\n function in the contract matches the call data." + }, + "id": 1215, + "implemented": true, + "kind": "fallback", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1209, + "nodeType": "ParameterList", + "parameters": [], + "src": "2637:2:9" + }, + "returnParameters": { + "id": 1210, + "nodeType": "ParameterList", + "parameters": [], + "src": "2665:0:9" + }, + "scope": 1229, + "src": "2629:64:9", + "stateMutability": "payable", + "virtual": true, + "visibility": "external" + }, + { + "body": { + "id": 1222, + "nodeType": "Block", + "src": "2888:28:9", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1219, + "name": "_fallback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1207, + "src": "2898:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2898:11:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1221, + "nodeType": "ExpressionStatement", + "src": "2898:11:9" + } + ] + }, + "documentation": { + "id": 1216, + "nodeType": "StructuredDocumentation", + "src": "2699:149:9", + "text": " @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if call data\n is empty." + }, + "id": 1223, + "implemented": true, + "kind": "receive", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1217, + "nodeType": "ParameterList", + "parameters": [], + "src": "2860:2:9" + }, + "returnParameters": { + "id": 1218, + "nodeType": "ParameterList", + "parameters": [], + "src": "2888:0:9" + }, + "scope": 1229, + "src": "2853:63:9", + "stateMutability": "payable", + "virtual": true, + "visibility": "external" + }, + { + "body": { + "id": 1227, + "nodeType": "Block", + "src": "3242:2:9", + "statements": [] + }, + "documentation": { + "id": 1224, + "nodeType": "StructuredDocumentation", + "src": "2922:271:9", + "text": " @dev Hook that is called before falling back to the implementation. Can happen as part of a manual `_fallback`\n call, or as part of the Solidity `fallback` or `receive` functions.\n If overridden should call `super._beforeFallback()`." + }, + "id": 1228, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_beforeFallback", + "nameLocation": "3207:15:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1225, + "nodeType": "ParameterList", + "parameters": [], + "src": "3222:2:9" + }, + "returnParameters": { + "id": 1226, + "nodeType": "ParameterList", + "parameters": [], + "src": "3242:0:9" + }, + "scope": 1229, + "src": "3198:46:9", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 1230, + "src": "723:2523:9", + "usedErrors": [] + } + ], + "src": "99:3148:9" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.603Z", + "devdoc": { + "details": "This abstract contract provides a fallback function that delegates all calls to another contract using the EVM instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to be specified by overriding the virtual {_implementation} function. Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a different contract through the {_delegate} function. The success and return data of the delegated call will be returned back to the caller of the proxy.", + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/ProxyAdmin.json b/build/contracts/ProxyAdmin.json new file mode 100644 index 0000000..b8c46ca --- /dev/null +++ b/build/contracts/ProxyAdmin.json @@ -0,0 +1,5493 @@ +{ + "contractName": "ProxyAdmin", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract TransparentUpgradeableProxy", + "name": "proxy", + "type": "address" + } + ], + "name": "getProxyImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract TransparentUpgradeableProxy", + "name": "proxy", + "type": "address" + } + ], + "name": "getProxyAdmin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract TransparentUpgradeableProxy", + "name": "proxy", + "type": "address" + }, + { + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "changeProxyAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract TransparentUpgradeableProxy", + "name": "proxy", + "type": "address" + }, + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "upgrade", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract TransparentUpgradeableProxy", + "name": "proxy", + "type": "address" + }, + { + "internalType": "address", + "name": "implementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"contract TransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"changeProxyAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract TransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"getProxyAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract TransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"getProxyImplementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract TransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"upgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract TransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is an auxiliary contract meant to be assigned as the admin of a {TransparentUpgradeableProxy}. For an explanation of why you would want to use this see the documentation for {TransparentUpgradeableProxy}.\",\"kind\":\"dev\",\"methods\":{\"changeProxyAdmin(address,address)\":{\"details\":\"Changes the admin of `proxy` to `newAdmin`. Requirements: - This contract must be the current admin of `proxy`.\"},\"getProxyAdmin(address)\":{\"details\":\"Returns the current admin of `proxy`. Requirements: - This contract must be the admin of `proxy`.\"},\"getProxyImplementation(address)\":{\"details\":\"Returns the current implementation of `proxy`. Requirements: - This contract must be the admin of `proxy`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgrade(address,address)\":{\"details\":\"Upgrades `proxy` to `implementation`. See {TransparentUpgradeableProxy-upgradeTo}. Requirements: - This contract must be the admin of `proxy`.\"},\"upgradeAndCall(address,address,bytes)\":{\"details\":\"Upgrades `proxy` to `implementation` and calls a function on the new implementation. See {TransparentUpgradeableProxy-upgradeToAndCall}. Requirements: - This contract must be the admin of `proxy`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol\":\"ProxyAdmin\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0xabf3f59bc0e5423eae45e459dbe92e7052c6983628d39008590edc852a62f94a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89c2a0f70157c13845be5cb49b078a6374fee3a78fa950052a3af26190255da8\",\"dweb:/ipfs/QmUcvMEQH1oMM2pUyMuDiBUKdvvnTz1NRB8bmPHrVq8725\"]},\"@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol\":{\"keccak256\":\"0x33b8603bfbef7f33d9308b79c79aa3db7eb19525fd1addd764285e834ca275d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ada1f59ac012751561c8fa066bddf1a8fb518fcb0ea2d64920797c1711aad0c\",\"dweb:/ipfs/QmTrY13qevgKDUAyQhFvMNLvbLuWaQprvDzvLdXWQwnoxA\"]},\"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0xa6a787e7a901af6511e19aa53e1a00352db215a011d2c7a438d0582dd5da76f9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6c4477d480bac20d681ade0e712b77ad828acf530a1d5c0abc5fb78068a05a1\",\"dweb:/ipfs/QmdBqsK8CcUceTeWzhHwFDEvKMoHimwtV96Lbim7ZBtCb8\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61069b8061007e6000396000f3fe60806040526004361061006b5760003560e01c8063204e1c7a14610070578063715018a6146100a65780637eff275e146100bd5780638da5cb5b146100dd5780639623609d146100f257806399a88ec414610105578063f2fde38b14610125578063f3b7dead14610145575b600080fd5b34801561007c57600080fd5b5061009061008b36600461048e565b610165565b60405161009d91906104b2565b60405180910390f35b3480156100b257600080fd5b506100bb6101f6565b005b3480156100c957600080fd5b506100bb6100d83660046104c6565b61020a565b3480156100e957600080fd5b50610090610274565b6100bb610100366004610515565b610283565b34801561011157600080fd5b506100bb6101203660046104c6565b6102f2565b34801561013157600080fd5b506100bb61014036600461048e565b610326565b34801561015157600080fd5b5061009061016036600461048e565b6103a4565b6000806000836001600160a01b031660405161018b90635c60da1b60e01b815260040190565b600060405180830381855afa9150503d80600081146101c6576040519150601f19603f3d011682016040523d82523d6000602084013e6101cb565b606091505b5091509150816101da57600080fd5b808060200190518101906101ee91906105ea565b949350505050565b6101fe6103ca565b6102086000610429565b565b6102126103ca565b6040516308f2839760e41b81526001600160a01b03831690638f2839709061023e9084906004016104b2565b600060405180830381600087803b15801561025857600080fd5b505af115801561026c573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031690565b61028b6103ca565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906102bb9086908690600401610607565b6000604051808303818588803b1580156102d457600080fd5b505af11580156102e8573d6000803e3d6000fd5b5050505050505050565b6102fa6103ca565b604051631b2ce7f360e11b81526001600160a01b03831690633659cfe69061023e9084906004016104b2565b61032e6103ca565b6001600160a01b0381166103985760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6103a181610429565b50565b6000806000836001600160a01b031660405161018b906303e1469160e61b815260040190565b336103d3610274565b6001600160a01b0316146102085760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161038f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146103a157600080fd5b6000602082840312156104a057600080fd5b81356104ab81610479565b9392505050565b6001600160a01b0391909116815260200190565b600080604083850312156104d957600080fd5b82356104e481610479565b915060208301356104f481610479565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561052a57600080fd5b833561053581610479565b9250602084013561054581610479565b915060408401356001600160401b038082111561056157600080fd5b818601915086601f83011261057557600080fd5b813581811115610587576105876104ff565b604051601f8201601f19908116603f011681019083821181831017156105af576105af6104ff565b816040528281528960208487010111156105c857600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156105fc57600080fd5b81516104ab81610479565b60018060a01b038316815260006020604081840152835180604085015260005b8181101561064357858101830151858201606001528201610627565b506000606082860101526060601f19601f83011685010192505050939250505056fea2646970667358221220bef06328d5f8bdafec6bf793ef38d0bfd74942facba6ab0d0fa5fa504f2da9a064736f6c63430008120033", + "deployedBytecode": "0x60806040526004361061006b5760003560e01c8063204e1c7a14610070578063715018a6146100a65780637eff275e146100bd5780638da5cb5b146100dd5780639623609d146100f257806399a88ec414610105578063f2fde38b14610125578063f3b7dead14610145575b600080fd5b34801561007c57600080fd5b5061009061008b36600461048e565b610165565b60405161009d91906104b2565b60405180910390f35b3480156100b257600080fd5b506100bb6101f6565b005b3480156100c957600080fd5b506100bb6100d83660046104c6565b61020a565b3480156100e957600080fd5b50610090610274565b6100bb610100366004610515565b610283565b34801561011157600080fd5b506100bb6101203660046104c6565b6102f2565b34801561013157600080fd5b506100bb61014036600461048e565b610326565b34801561015157600080fd5b5061009061016036600461048e565b6103a4565b6000806000836001600160a01b031660405161018b90635c60da1b60e01b815260040190565b600060405180830381855afa9150503d80600081146101c6576040519150601f19603f3d011682016040523d82523d6000602084013e6101cb565b606091505b5091509150816101da57600080fd5b808060200190518101906101ee91906105ea565b949350505050565b6101fe6103ca565b6102086000610429565b565b6102126103ca565b6040516308f2839760e41b81526001600160a01b03831690638f2839709061023e9084906004016104b2565b600060405180830381600087803b15801561025857600080fd5b505af115801561026c573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031690565b61028b6103ca565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906102bb9086908690600401610607565b6000604051808303818588803b1580156102d457600080fd5b505af11580156102e8573d6000803e3d6000fd5b5050505050505050565b6102fa6103ca565b604051631b2ce7f360e11b81526001600160a01b03831690633659cfe69061023e9084906004016104b2565b61032e6103ca565b6001600160a01b0381166103985760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6103a181610429565b50565b6000806000836001600160a01b031660405161018b906303e1469160e61b815260040190565b336103d3610274565b6001600160a01b0316146102085760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161038f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146103a157600080fd5b6000602082840312156104a057600080fd5b81356104ab81610479565b9392505050565b6001600160a01b0391909116815260200190565b600080604083850312156104d957600080fd5b82356104e481610479565b915060208301356104f481610479565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561052a57600080fd5b833561053581610479565b9250602084013561054581610479565b915060408401356001600160401b038082111561056157600080fd5b818601915086601f83011261057557600080fd5b813581811115610587576105876104ff565b604051601f8201601f19908116603f011681019083821181831017156105af576105af6104ff565b816040528281528960208487010111156105c857600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156105fc57600080fd5b81516104ab81610479565b60018060a01b038316815260006020604081840152835180604085015260005b8181101561064357858101830151858201606001528201610627565b506000606082860101526060601f19601f83011685010192505050939250505056fea2646970667358221220bef06328d5f8bdafec6bf793ef38d0bfd74942facba6ab0d0fa5fa504f2da9a064736f6c63430008120033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:5150:30", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:30", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "88:86:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "152:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "161:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "164:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "154:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "154:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "154:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "111:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "122:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "137:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "142:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "133:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "133:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "146:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "129:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "129:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "118:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "118:31:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "108:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "108:42:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "101:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "101:50:30" + }, + "nodeType": "YulIf", + "src": "98:70:30" + } + ] + }, + "name": "validator_revert_contract_TransparentUpgradeableProxy", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "77:5:30", + "type": "" + } + ], + "src": "14:160:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "285:206:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "331:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "340:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "343:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "333:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "333:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "333:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "306:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "315:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "302:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "302:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "327:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "298:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "298:32:30" + }, + "nodeType": "YulIf", + "src": "295:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "356:36:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "382:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "369:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "369:23:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "360:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "455:5:30" + } + ], + "functionName": { + "name": "validator_revert_contract_TransparentUpgradeableProxy", + "nodeType": "YulIdentifier", + "src": "401:53:30" + }, + "nodeType": "YulFunctionCall", + "src": "401:60:30" + }, + "nodeType": "YulExpressionStatement", + "src": "401:60:30" + }, + { + "nodeType": "YulAssignment", + "src": "470:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "480:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "470:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_contract$_TransparentUpgradeableProxy_$1523", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "251:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "262:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "274:6:30", + "type": "" + } + ], + "src": "179:312:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "597:102:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "607:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "619:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "630:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "615:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "615:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "607:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "649:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "664:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "680:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "685:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "676:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "676:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "689:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "672:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "672:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "660:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "660:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "642:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "642:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "642:51:30" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "566:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "577:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "588:4:30", + "type": "" + } + ], + "src": "496:203:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "827:359:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "873:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "882:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "885:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "875:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "875:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "875:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "848:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "857:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "844:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "844:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "869:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "840:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "840:32:30" + }, + "nodeType": "YulIf", + "src": "837:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "898:36:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "924:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "911:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "911:23:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "902:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "997:5:30" + } + ], + "functionName": { + "name": "validator_revert_contract_TransparentUpgradeableProxy", + "nodeType": "YulIdentifier", + "src": "943:53:30" + }, + "nodeType": "YulFunctionCall", + "src": "943:60:30" + }, + "nodeType": "YulExpressionStatement", + "src": "943:60:30" + }, + { + "nodeType": "YulAssignment", + "src": "1012:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1022:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1012:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1036:47:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1068:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1079:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1064:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1064:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1051:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1051:32:30" + }, + "variables": [ + { + "name": "value_1", + "nodeType": "YulTypedName", + "src": "1040:7:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "1146:7:30" + } + ], + "functionName": { + "name": "validator_revert_contract_TransparentUpgradeableProxy", + "nodeType": "YulIdentifier", + "src": "1092:53:30" + }, + "nodeType": "YulFunctionCall", + "src": "1092:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1092:62:30" + }, + { + "nodeType": "YulAssignment", + "src": "1163:17:30", + "value": { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "1173:7:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1163:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_contract$_TransparentUpgradeableProxy_$1523t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "785:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "796:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "808:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "816:6:30", + "type": "" + } + ], + "src": "704:482:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1223:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1240:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1247:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1252:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1243:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1243:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1233:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1233:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1233:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1280:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1283:4:30", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1273:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1273:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1273:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1304:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1307:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1297:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1297:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1297:15:30" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "1191:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1472:1142:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1518:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1527:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1530:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1520:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1520:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1520:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1493:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1502:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1489:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1489:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1514:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1485:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1485:32:30" + }, + "nodeType": "YulIf", + "src": "1482:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1543:36:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1569:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1556:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1556:23:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1547:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1642:5:30" + } + ], + "functionName": { + "name": "validator_revert_contract_TransparentUpgradeableProxy", + "nodeType": "YulIdentifier", + "src": "1588:53:30" + }, + "nodeType": "YulFunctionCall", + "src": "1588:60:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1588:60:30" + }, + { + "nodeType": "YulAssignment", + "src": "1657:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1667:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1657:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1681:47:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1713:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1724:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1709:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1709:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1696:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1696:32:30" + }, + "variables": [ + { + "name": "value_1", + "nodeType": "YulTypedName", + "src": "1685:7:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "1791:7:30" + } + ], + "functionName": { + "name": "validator_revert_contract_TransparentUpgradeableProxy", + "nodeType": "YulIdentifier", + "src": "1737:53:30" + }, + "nodeType": "YulFunctionCall", + "src": "1737:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1737:62:30" + }, + { + "nodeType": "YulAssignment", + "src": "1808:17:30", + "value": { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "1818:7:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1808:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1834:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1865:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1876:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1861:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1861:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1848:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1848:32:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1838:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1889:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1907:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1911:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1903:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1903:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1915:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1899:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1899:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "1893:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1944:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1953:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1956:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1946:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1946:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1946:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1932:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1940:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1929:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1929:14:30" + }, + "nodeType": "YulIf", + "src": "1926:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1969:32:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1983:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1994:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1979:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1979:22:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "1973:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2049:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2058:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2061:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2051:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2051:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2051:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "2028:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2032:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2024:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2024:13:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2039:7:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2020:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2020:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2013:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2013:35:30" + }, + "nodeType": "YulIf", + "src": "2010:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2074:26:30", + "value": { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "2097:2:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2084:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2084:16:30" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "2078:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2123:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "2125:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "2125:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2125:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "2115:2:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2119:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2112:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2112:10:30" + }, + "nodeType": "YulIf", + "src": "2109:36:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2154:17:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2168:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "2164:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2164:7:30" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "2158:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2180:23:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2200:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2194:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "2194:9:30" + }, + "variables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "2184:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2212:71:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2234:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "2258:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2262:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2254:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2254:13:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "2269:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2250:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2250:22:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2274:2:30", + "type": "", + "value": "63" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2246:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2246:31:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "2279:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2242:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2242:40:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2230:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2230:53:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "2216:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2342:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "2344:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "2344:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2344:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "2301:10:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2313:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2298:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2298:18:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "2321:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2333:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "2318:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2318:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "2295:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2295:46:30" + }, + "nodeType": "YulIf", + "src": "2292:72:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2380:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "2384:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2373:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2373:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2373:22:30" + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2411:6:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "2419:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2404:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2404:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2404:18:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2468:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2477:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2480:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2470:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2470:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2470:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "2445:2:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "2449:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2441:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2441:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2454:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2437:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2437:20:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2459:7:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2434:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2434:33:30" + }, + "nodeType": "YulIf", + "src": "2431:53:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2510:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2518:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2506:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2506:15:30" + }, + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "2527:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2531:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2523:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2523:11:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "2536:2:30" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "2493:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2493:46:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2493:46:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2563:6:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "2571:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2559:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2559:15:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2576:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2555:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2555:24:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2581:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2548:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2548:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2548:35:30" + }, + { + "nodeType": "YulAssignment", + "src": "2592:16:30", + "value": { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2602:6:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "2592:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_contract$_TransparentUpgradeableProxy_$1523t_addresst_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1422:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1433:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1445:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1453:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "1461:6:30", + "type": "" + } + ], + "src": "1323:1291:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2689:206:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2735:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2744:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2747:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2737:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2737:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2737:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2710:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2719:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2706:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2706:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2731:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2702:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2702:32:30" + }, + "nodeType": "YulIf", + "src": "2699:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2760:36:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2786:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2773:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2773:23:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2764:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2859:5:30" + } + ], + "functionName": { + "name": "validator_revert_contract_TransparentUpgradeableProxy", + "nodeType": "YulIdentifier", + "src": "2805:53:30" + }, + "nodeType": "YulFunctionCall", + "src": "2805:60:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2805:60:30" + }, + { + "nodeType": "YulAssignment", + "src": "2874:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2884:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2874:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2655:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2666:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2678:6:30", + "type": "" + } + ], + "src": "2619:276:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3091:76:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3108:3:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3117:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3122:10:30", + "type": "", + "value": "0x5c60da1b" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "3113:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3113:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3101:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3101:33:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3101:33:30" + }, + { + "nodeType": "YulAssignment", + "src": "3143:18:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3154:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3159:1:30", + "type": "", + "value": "4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3150:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3150:11:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3143:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_96a4c6be7716f5be15d118c16bd1d464cb27f01187d0b9218993a5d488a47c29__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3075:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3083:3:30", + "type": "" + } + ], + "src": "2900:267:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3261:199:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3307:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3316:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3319:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3309:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3309:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3309:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3282:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3291:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3278:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3278:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3303:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3274:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3274:32:30" + }, + "nodeType": "YulIf", + "src": "3271:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3332:29:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3351:9:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3345:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "3345:16:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3336:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3424:5:30" + } + ], + "functionName": { + "name": "validator_revert_contract_TransparentUpgradeableProxy", + "nodeType": "YulIdentifier", + "src": "3370:53:30" + }, + "nodeType": "YulFunctionCall", + "src": "3370:60:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3370:60:30" + }, + { + "nodeType": "YulAssignment", + "src": "3439:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3449:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3439:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address_payable_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3227:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3238:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3250:6:30", + "type": "" + } + ], + "src": "3172:288:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3612:496:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3629:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3644:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3660:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3665:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "3656:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3656:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3669:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3652:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3652:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3640:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3640:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3622:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3622:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3622:51:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3682:12:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3692:2:30", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "3686:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3714:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "3725:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3710:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3710:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3730:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3703:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3703:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3703:30:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3742:27:30", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3762:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3756:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "3756:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3746:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3789:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3800:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3785:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3785:18:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3805:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3778:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3778:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3778:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3821:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3830:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "3825:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3890:90:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3919:9:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "3930:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3915:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3915:17:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3934:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3911:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3911:26:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3953:6:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "3961:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3949:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3949:14:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "3965:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3945:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3945:23:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3939:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "3939:30:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3904:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3904:66:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3904:66:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "3851:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3854:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "3848:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "3848:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "3862:19:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3864:15:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "3873:1:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "3876:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3869:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3869:10:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "3864:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "3844:3:30", + "statements": [] + }, + "src": "3840:140:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4004:9:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4015:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4000:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4000:22:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4024:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3996:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3996:31:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4029:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3989:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3989:42:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3989:42:30" + }, + { + "nodeType": "YulAssignment", + "src": "4040:62:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4056:9:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4075:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4083:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4071:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4071:15:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4092:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "4088:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4088:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4067:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4067:29:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4052:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4052:45:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4099:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4048:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4048:54:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4040:4:30" + } + ] + } + ] + }, + "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": "3573:9:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3584:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3592:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3603:4:30", + "type": "" + } + ], + "src": "3465:643:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4287:228:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4304:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4315:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4297:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4297:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4297:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4338:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4349:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4334:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4334:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4354:2:30", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4327:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4327:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4327:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4377:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4388:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4373:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4373:18:30" + }, + { + "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061", + "kind": "string", + "nodeType": "YulLiteral", + "src": "4393:34:30", + "type": "", + "value": "Ownable: new owner is the zero a" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4366:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4366:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4366:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4448:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4459:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4444:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4444:18:30" + }, + { + "hexValue": "646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "4464:8:30", + "type": "", + "value": "ddress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4437:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4437:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4437:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "4482:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4494:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4505:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4490:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4490:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4482:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4264:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "4278:4:30", + "type": "" + } + ], + "src": "4113:402:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4711:76:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4728:3:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4737:3:30", + "type": "", + "value": "230" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4742:10:30", + "type": "", + "value": "0x03e14691" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "4733:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4733:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4721:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4721:33:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4721:33:30" + }, + { + "nodeType": "YulAssignment", + "src": "4763:18:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4774:3:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4779:1:30", + "type": "", + "value": "4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4770:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4770:11:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4763:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_cb23cf6c353ccb16f0d92c8e6b5c5b425654e65dd07e2d295b394de4cf15afb7__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4695:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4703:3:30", + "type": "" + } + ], + "src": "4520:267:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4966:182:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4983:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4994:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4976:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4976:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4976:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5017:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5028:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5013:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5013:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5033:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5006:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5006:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5006:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5056:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5067:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5052:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5052:18:30" + }, + { + "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "5072:34:30", + "type": "", + "value": "Ownable: caller is not the owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5045:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5045:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5045:62:30" + }, + { + "nodeType": "YulAssignment", + "src": "5116:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5128:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5139:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5124:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5124:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5116:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4943:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "4957:4:30", + "type": "" + } + ], + "src": "4792:356:30" + } + ] + }, + "contents": "{\n { }\n function validator_revert_contract_TransparentUpgradeableProxy(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_contract$_TransparentUpgradeableProxy_$1523(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_TransparentUpgradeableProxy(value)\n value0 := value\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, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_contract$_TransparentUpgradeableProxy_$1523t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_TransparentUpgradeableProxy(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_contract_TransparentUpgradeableProxy(value_1)\n value1 := value_1\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_tuple_t_contract$_TransparentUpgradeableProxy_$1523t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_TransparentUpgradeableProxy(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_contract_TransparentUpgradeableProxy(value_1)\n value1 := value_1\n let offset := calldataload(add(headStart, 64))\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 := calldataload(_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 calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value2 := memPtr\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_contract_TransparentUpgradeableProxy(value)\n value0 := value\n }\n function abi_encode_tuple_packed_t_stringliteral_96a4c6be7716f5be15d118c16bd1d464cb27f01187d0b9218993a5d488a47c29__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos) -> end\n {\n mstore(pos, shl(224, 0x5c60da1b))\n end := add(pos, 4)\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_contract_TransparentUpgradeableProxy(value)\n value0 := value\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, sub(shl(160, 1), 1)))\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 mstore(add(add(headStart, length), 96), 0)\n tail := add(add(headStart, and(add(length, 31), not(31))), 96)\n }\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_packed_t_stringliteral_cb23cf6c353ccb16f0d92c8e6b5c5b425654e65dd07e2d295b394de4cf15afb7__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos) -> end\n {\n mstore(pos, shl(230, 0x03e14691))\n end := add(pos, 4)\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n}", + "id": 30, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "435:2404:11:-:0;;;;;;;;;;;;-1:-1:-1;936:32:5;719:10:14;936:18:5;:32::i;:::-;435:2404:11;;2433:187:5;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:5;;;-1:-1:-1;;;;;;2541:17:5;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2496:124;2433:187;:::o;435:2404:11:-;;;;;;;", + "deployedSourceMap": "435:2404:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;635:437;;;;;;;;;;-1:-1:-1;635:437:11;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1831:101:5;;;;;;;;;;;;;:::i;:::-;;1825:148:11;;;;;;;;;;-1:-1:-1;1825:148:11;;;;;:::i;:::-;;:::i;1201:85:5:-;;;;;;;;;;;;;:::i;2593:244:11:-;;;;;;:::i;:::-;;:::i;2178:149::-;;;;;;;;;;-1:-1:-1;2178:149:11;;;;;:::i;:::-;;:::i;2081:198:5:-;;;;;;;;;;-1:-1:-1;2081:198:5;;;;;:::i;:::-;;:::i;1232:419:11:-;;;;;;;;;;-1:-1:-1;1232:419:11;;;;;:::i;:::-;;:::i;635:437::-;731:7;908:12;922:23;957:5;-1:-1:-1;;;;;949:25:11;:40;;;;-1:-1:-1;;;3101:33:30;;3159:1;3150:11;;2900:267;949:40:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;907:82;;;;1007:7;999:16;;;;;;1043:10;1032:33;;;;;;;;;;;;:::i;:::-;1025:40;635:437;-1:-1:-1;;;;635:437:11:o;1831:101:5:-;1094:13;:11;:13::i;:::-;1895:30:::1;1922:1;1895:18;:30::i;:::-;1831:101::o:0;1825:148:11:-;1094:13:5;:11;:13::i;:::-;1939:27:11::1;::::0;-1:-1:-1;;;1939:27:11;;-1:-1:-1;;;;;1939:17:11;::::1;::::0;::::1;::::0;:27:::1;::::0;1957:8;;1939:27:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;1825:148:::0;;:::o;1201:85:5:-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:5;;1201:85::o;2593:244:11:-;1094:13:5;:11;:13::i;:::-;2768:62:11::1;::::0;-1:-1:-1;;;2768:62:11;;-1:-1:-1;;;;;2768:22:11;::::1;::::0;::::1;::::0;2798:9:::1;::::0;2768:62:::1;::::0;2809:14;;2825:4;;2768:62:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;2593:244:::0;;;:::o;2178:149::-;1094:13:5;:11;:13::i;:::-;2289:31:11::1;::::0;-1:-1:-1;;;2289:31:11;;-1:-1:-1;;;;;2289:15:11;::::1;::::0;::::1;::::0;:31:::1;::::0;2305:14;;2289:31:::1;;;:::i;2081:198:5:-:0;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2169:22:5;::::1;2161:73;;;::::0;-1:-1:-1;;;2161:73:5;;4315:2:30;2161:73:5::1;::::0;::::1;4297:21:30::0;4354:2;4334:18;;;4327:30;4393:34;4373:18;;;4366:62;-1:-1:-1;;;4444:18:30;;;4437:36;4490:19;;2161:73:5::1;;;;;;;;;2244:28;2263:8;2244:18;:28::i;:::-;2081:198:::0;:::o;1232:419:11:-;1319:7;1487:12;1501:23;1536:5;-1:-1:-1;;;;;1528:25:11;:40;;;;-1:-1:-1;;;4721:33:30;;4779:1;4770:11;;4520:267;1359:130:5;719:10:14;1422:7:5;:5;:7::i;:::-;-1:-1:-1;;;;;1422:23:5;;1414:68;;;;-1:-1:-1;;;1414:68:5;;4994:2:30;1414:68:5;;;4976:21:30;;;5013:18;;;5006:30;5072:34;5052:18;;;5045:62;5124:18;;1414:68:5;4792:356:30;2433:187:5;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:5;;;-1:-1:-1;;;;;;2541:17:5;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2496:124;2433:187;:::o;14:160:30:-;-1:-1:-1;;;;;118:31:30;;108:42;;98:70;;164:1;161;154:12;179:312;274:6;327:2;315:9;306:7;302:23;298:32;295:52;;;343:1;340;333:12;295:52;382:9;369:23;401:60;455:5;401:60;:::i;:::-;480:5;179:312;-1:-1:-1;;;179:312:30:o;496:203::-;-1:-1:-1;;;;;660:32:30;;;;642:51;;630:2;615:18;;496:203::o;704:482::-;808:6;816;869:2;857:9;848:7;844:23;840:32;837:52;;;885:1;882;875:12;837:52;924:9;911:23;943:60;997:5;943:60;:::i;:::-;1022:5;-1:-1:-1;1079:2:30;1064:18;;1051:32;1092:62;1051:32;1092:62;:::i;:::-;1173:7;1163:17;;;704:482;;;;;:::o;1191:127::-;1252:10;1247:3;1243:20;1240:1;1233:31;1283:4;1280:1;1273:15;1307:4;1304:1;1297:15;1323:1291;1445:6;1453;1461;1514:2;1502:9;1493:7;1489:23;1485:32;1482:52;;;1530:1;1527;1520:12;1482:52;1569:9;1556:23;1588:60;1642:5;1588:60;:::i;:::-;1667:5;-1:-1:-1;1724:2:30;1709:18;;1696:32;1737:62;1696:32;1737:62;:::i;:::-;1818:7;-1:-1:-1;1876:2:30;1861:18;;1848:32;-1:-1:-1;;;;;1929:14:30;;;1926:34;;;1956:1;1953;1946:12;1926:34;1994:6;1983:9;1979:22;1969:32;;2039:7;2032:4;2028:2;2024:13;2020:27;2010:55;;2061:1;2058;2051:12;2010:55;2097:2;2084:16;2119:2;2115;2112:10;2109:36;;;2125:18;;:::i;:::-;2200:2;2194:9;2168:2;2254:13;;-1:-1:-1;;2250:22:30;;;2274:2;2246:31;2242:40;2230:53;;;2298:18;;;2318:22;;;2295:46;2292:72;;;2344:18;;:::i;:::-;2384:10;2380:2;2373:22;2419:2;2411:6;2404:18;2459:7;2454:2;2449;2445;2441:11;2437:20;2434:33;2431:53;;;2480:1;2477;2470:12;2431:53;2536:2;2531;2527;2523:11;2518:2;2510:6;2506:15;2493:46;2581:1;2576:2;2571;2563:6;2559:15;2555:24;2548:35;2602:6;2592:16;;;;;;;1323:1291;;;;;:::o;3172:288::-;3250:6;3303:2;3291:9;3282:7;3278:23;3274:32;3271:52;;;3319:1;3316;3309:12;3271:52;3351:9;3345:16;3370:60;3424:5;3370:60;:::i;3465:643::-;3669:1;3665;3660:3;3656:11;3652:19;3644:6;3640:32;3629:9;3622:51;3603:4;3692:2;3730;3725;3714:9;3710:18;3703:30;3762:6;3756:13;3805:6;3800:2;3789:9;3785:18;3778:34;3830:1;3840:140;3854:6;3851:1;3848:13;3840:140;;;3949:14;;;3945:23;;3939:30;3915:17;;;3934:2;3911:26;3904:66;3869:10;;3840:140;;;3844:3;4029:1;4024:2;4015:6;4004:9;4000:22;3996:31;3989:42;4099:2;4092;4088:7;4083:2;4075:6;4071:15;4067:29;4056:9;4052:45;4048:54;4040:62;;;;3465:643;;;;;:::o", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (proxy/transparent/ProxyAdmin.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./TransparentUpgradeableProxy.sol\";\nimport \"../../access/Ownable.sol\";\n\n/**\n * @dev This is an auxiliary contract meant to be assigned as the admin of a {TransparentUpgradeableProxy}. For an\n * explanation of why you would want to use this see the documentation for {TransparentUpgradeableProxy}.\n */\ncontract ProxyAdmin is Ownable {\n /**\n * @dev Returns the current implementation of `proxy`.\n *\n * Requirements:\n *\n * - This contract must be the admin of `proxy`.\n */\n function getProxyImplementation(TransparentUpgradeableProxy proxy) public view virtual returns (address) {\n // We need to manually run the static call since the getter cannot be flagged as view\n // bytes4(keccak256(\"implementation()\")) == 0x5c60da1b\n (bool success, bytes memory returndata) = address(proxy).staticcall(hex\"5c60da1b\");\n require(success);\n return abi.decode(returndata, (address));\n }\n\n /**\n * @dev Returns the current admin of `proxy`.\n *\n * Requirements:\n *\n * - This contract must be the admin of `proxy`.\n */\n function getProxyAdmin(TransparentUpgradeableProxy proxy) public view virtual returns (address) {\n // We need to manually run the static call since the getter cannot be flagged as view\n // bytes4(keccak256(\"admin()\")) == 0xf851a440\n (bool success, bytes memory returndata) = address(proxy).staticcall(hex\"f851a440\");\n require(success);\n return abi.decode(returndata, (address));\n }\n\n /**\n * @dev Changes the admin of `proxy` to `newAdmin`.\n *\n * Requirements:\n *\n * - This contract must be the current admin of `proxy`.\n */\n function changeProxyAdmin(TransparentUpgradeableProxy proxy, address newAdmin) public virtual onlyOwner {\n proxy.changeAdmin(newAdmin);\n }\n\n /**\n * @dev Upgrades `proxy` to `implementation`. See {TransparentUpgradeableProxy-upgradeTo}.\n *\n * Requirements:\n *\n * - This contract must be the admin of `proxy`.\n */\n function upgrade(TransparentUpgradeableProxy proxy, address implementation) public virtual onlyOwner {\n proxy.upgradeTo(implementation);\n }\n\n /**\n * @dev Upgrades `proxy` to `implementation` and calls a function on the new implementation. See\n * {TransparentUpgradeableProxy-upgradeToAndCall}.\n *\n * Requirements:\n *\n * - This contract must be the admin of `proxy`.\n */\n function upgradeAndCall(\n TransparentUpgradeableProxy proxy,\n address implementation,\n bytes memory data\n ) public payable virtual onlyOwner {\n proxy.upgradeToAndCall{value: msg.value}(implementation, data);\n }\n}\n", + "sourcePath": "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol", + "exportedSymbols": { + "Address": [ + 1853 + ], + "Context": [ + 1875 + ], + "ERC1967Proxy": [ + 859 + ], + "ERC1967Upgrade": [ + 1177 + ], + "IBeacon": [ + 1239 + ], + "IERC1822Proxiable": [ + 822 + ], + "Ownable": [ + 812 + ], + "Proxy": [ + 1229 + ], + "ProxyAdmin": [ + 1375 + ], + "StorageSlot": [ + 1935 + ], + "TransparentUpgradeableProxy": [ + 1523 + ] + }, + "id": 1376, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1241, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "101:23:11" + }, + { + "absolutePath": "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol", + "file": "./TransparentUpgradeableProxy.sol", + "id": 1242, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1376, + "sourceUnit": 1524, + "src": "126:43:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "file": "../../access/Ownable.sol", + "id": 1243, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1376, + "sourceUnit": 813, + "src": "170:34:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1245, + "name": "Ownable", + "nameLocations": [ + "458:7:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 812, + "src": "458:7:11" + }, + "id": 1246, + "nodeType": "InheritanceSpecifier", + "src": "458:7:11" + } + ], + "canonicalName": "ProxyAdmin", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 1244, + "nodeType": "StructuredDocumentation", + "src": "206:228:11", + "text": " @dev This is an auxiliary contract meant to be assigned as the admin of a {TransparentUpgradeableProxy}. For an\n explanation of why you would want to use this see the documentation for {TransparentUpgradeableProxy}." + }, + "fullyImplemented": true, + "id": 1375, + "linearizedBaseContracts": [ + 1375, + 812, + 1875 + ], + "name": "ProxyAdmin", + "nameLocation": "444:10:11", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1279, + "nodeType": "Block", + "src": "740:332:11", + "statements": [ + { + "assignments": [ + 1256, + 1258 + ], + "declarations": [ + { + "constant": false, + "id": 1256, + "mutability": "mutable", + "name": "success", + "nameLocation": "913:7:11", + "nodeType": "VariableDeclaration", + "scope": 1279, + "src": "908:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1255, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "908:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1258, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "935:10:11", + "nodeType": "VariableDeclaration", + "scope": 1279, + "src": "922:23:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1257, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "922:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 1266, + "initialValue": { + "arguments": [ + { + "hexValue": "5c60da1b", + "id": 1264, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "hexString", + "lValueRequested": false, + "nodeType": "Literal", + "src": "975:13:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_96a4c6be7716f5be15d118c16bd1d464cb27f01187d0b9218993a5d488a47c29", + "typeString": "literal_string hex\"5c60da1b\"" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_96a4c6be7716f5be15d118c16bd1d464cb27f01187d0b9218993a5d488a47c29", + "typeString": "literal_string hex\"5c60da1b\"" + } + ], + "expression": { + "arguments": [ + { + "id": 1261, + "name": "proxy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1250, + "src": "957:5:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$1523", + "typeString": "contract TransparentUpgradeableProxy" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$1523", + "typeString": "contract TransparentUpgradeableProxy" + } + ], + "id": 1260, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "949:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1259, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "949:7:11", + "typeDescriptions": {} + } + }, + "id": 1262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "949:14:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "964:10:11", + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "949:25:11", + "typeDescriptions": { + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 1265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "949:40:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "907:82:11" + }, + { + "expression": { + "arguments": [ + { + "id": 1268, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1256, + "src": "1007:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1267, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "999:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "999:16:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1270, + "nodeType": "ExpressionStatement", + "src": "999:16:11" + }, + { + "expression": { + "arguments": [ + { + "id": 1273, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "1043:10:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 1275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1056:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1274, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1056:7:11", + "typeDescriptions": {} + } + } + ], + "id": 1276, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1055:9:11", + "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": 1271, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "1032:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1036:6:11", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "1032:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1032:33:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "functionReturnParameters": 1254, + "id": 1278, + "nodeType": "Return", + "src": "1025:40:11" + } + ] + }, + "documentation": { + "id": 1247, + "nodeType": "StructuredDocumentation", + "src": "472:158:11", + "text": " @dev Returns the current implementation of `proxy`.\n Requirements:\n - This contract must be the admin of `proxy`." + }, + "functionSelector": "204e1c7a", + "id": 1280, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getProxyImplementation", + "nameLocation": "644:22:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1251, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1250, + "mutability": "mutable", + "name": "proxy", + "nameLocation": "695:5:11", + "nodeType": "VariableDeclaration", + "scope": 1280, + "src": "667:33:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$1523", + "typeString": "contract TransparentUpgradeableProxy" + }, + "typeName": { + "id": 1249, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1248, + "name": "TransparentUpgradeableProxy", + "nameLocations": [ + "667:27:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1523, + "src": "667:27:11" + }, + "referencedDeclaration": 1523, + "src": "667:27:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$1523", + "typeString": "contract TransparentUpgradeableProxy" + } + }, + "visibility": "internal" + } + ], + "src": "666:35:11" + }, + "returnParameters": { + "id": 1254, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1253, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1280, + "src": "731:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1252, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "731:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "730:9:11" + }, + "scope": 1375, + "src": "635:437:11", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1313, + "nodeType": "Block", + "src": "1328:323:11", + "statements": [ + { + "assignments": [ + 1290, + 1292 + ], + "declarations": [ + { + "constant": false, + "id": 1290, + "mutability": "mutable", + "name": "success", + "nameLocation": "1492:7:11", + "nodeType": "VariableDeclaration", + "scope": 1313, + "src": "1487:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1289, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1487:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1292, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "1514:10:11", + "nodeType": "VariableDeclaration", + "scope": 1313, + "src": "1501:23:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1291, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1501:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 1300, + "initialValue": { + "arguments": [ + { + "hexValue": "f851a440", + "id": 1298, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "hexString", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1554:13:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cb23cf6c353ccb16f0d92c8e6b5c5b425654e65dd07e2d295b394de4cf15afb7", + "typeString": "literal_string hex\"f851a440\"" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cb23cf6c353ccb16f0d92c8e6b5c5b425654e65dd07e2d295b394de4cf15afb7", + "typeString": "literal_string hex\"f851a440\"" + } + ], + "expression": { + "arguments": [ + { + "id": 1295, + "name": "proxy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1284, + "src": "1536:5:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$1523", + "typeString": "contract TransparentUpgradeableProxy" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$1523", + "typeString": "contract TransparentUpgradeableProxy" + } + ], + "id": 1294, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1528:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1293, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1528:7:11", + "typeDescriptions": {} + } + }, + "id": 1296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1528:14:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1543:10:11", + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "1528:25:11", + "typeDescriptions": { + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 1299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1528:40:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1486:82:11" + }, + { + "expression": { + "arguments": [ + { + "id": 1302, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1290, + "src": "1586:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1301, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1578:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1578:16:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1304, + "nodeType": "ExpressionStatement", + "src": "1578:16:11" + }, + { + "expression": { + "arguments": [ + { + "id": 1307, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1292, + "src": "1622:10:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 1309, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1635:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1308, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1635:7:11", + "typeDescriptions": {} + } + } + ], + "id": 1310, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1634:9:11", + "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": 1305, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "1611:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1306, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1615:6:11", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "1611:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1611:33:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "functionReturnParameters": 1288, + "id": 1312, + "nodeType": "Return", + "src": "1604:40:11" + } + ] + }, + "documentation": { + "id": 1281, + "nodeType": "StructuredDocumentation", + "src": "1078:149:11", + "text": " @dev Returns the current admin of `proxy`.\n Requirements:\n - This contract must be the admin of `proxy`." + }, + "functionSelector": "f3b7dead", + "id": 1314, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getProxyAdmin", + "nameLocation": "1241:13:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1285, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1284, + "mutability": "mutable", + "name": "proxy", + "nameLocation": "1283:5:11", + "nodeType": "VariableDeclaration", + "scope": 1314, + "src": "1255:33:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$1523", + "typeString": "contract TransparentUpgradeableProxy" + }, + "typeName": { + "id": 1283, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1282, + "name": "TransparentUpgradeableProxy", + "nameLocations": [ + "1255:27:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1523, + "src": "1255:27:11" + }, + "referencedDeclaration": 1523, + "src": "1255:27:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$1523", + "typeString": "contract TransparentUpgradeableProxy" + } + }, + "visibility": "internal" + } + ], + "src": "1254:35:11" + }, + "returnParameters": { + "id": 1288, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1287, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1314, + "src": "1319:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1286, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1319:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1318:9:11" + }, + "scope": 1375, + "src": "1232:419:11", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1331, + "nodeType": "Block", + "src": "1929:44:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1328, + "name": "newAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1320, + "src": "1957:8:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 1325, + "name": "proxy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "1939:5:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$1523", + "typeString": "contract TransparentUpgradeableProxy" + } + }, + "id": 1327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1945:11:11", + "memberName": "changeAdmin", + "nodeType": "MemberAccess", + "referencedDeclaration": 1457, + "src": "1939:17:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 1329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1939:27:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1330, + "nodeType": "ExpressionStatement", + "src": "1939:27:11" + } + ] + }, + "documentation": { + "id": 1315, + "nodeType": "StructuredDocumentation", + "src": "1657:163:11", + "text": " @dev Changes the admin of `proxy` to `newAdmin`.\n Requirements:\n - This contract must be the current admin of `proxy`." + }, + "functionSelector": "7eff275e", + "id": 1332, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1323, + "kind": "modifierInvocation", + "modifierName": { + "id": 1322, + "name": "onlyOwner", + "nameLocations": [ + "1919:9:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 731, + "src": "1919:9:11" + }, + "nodeType": "ModifierInvocation", + "src": "1919:9:11" + } + ], + "name": "changeProxyAdmin", + "nameLocation": "1834:16:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1321, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1318, + "mutability": "mutable", + "name": "proxy", + "nameLocation": "1879:5:11", + "nodeType": "VariableDeclaration", + "scope": 1332, + "src": "1851:33:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$1523", + "typeString": "contract TransparentUpgradeableProxy" + }, + "typeName": { + "id": 1317, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1316, + "name": "TransparentUpgradeableProxy", + "nameLocations": [ + "1851:27:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1523, + "src": "1851:27:11" + }, + "referencedDeclaration": 1523, + "src": "1851:27:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$1523", + "typeString": "contract TransparentUpgradeableProxy" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1320, + "mutability": "mutable", + "name": "newAdmin", + "nameLocation": "1894:8:11", + "nodeType": "VariableDeclaration", + "scope": 1332, + "src": "1886:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1319, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1886:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1850:53:11" + }, + "returnParameters": { + "id": 1324, + "nodeType": "ParameterList", + "parameters": [], + "src": "1929:0:11" + }, + "scope": 1375, + "src": "1825:148:11", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1349, + "nodeType": "Block", + "src": "2279:48:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1346, + "name": "implementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1338, + "src": "2305:14:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 1343, + "name": "proxy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "2289:5:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$1523", + "typeString": "contract TransparentUpgradeableProxy" + } + }, + "id": 1345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2295:9:11", + "memberName": "upgradeTo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1475, + "src": "2289:15:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 1347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2289:31:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1348, + "nodeType": "ExpressionStatement", + "src": "2289:31:11" + } + ] + }, + "documentation": { + "id": 1333, + "nodeType": "StructuredDocumentation", + "src": "1979:194:11", + "text": " @dev Upgrades `proxy` to `implementation`. See {TransparentUpgradeableProxy-upgradeTo}.\n Requirements:\n - This contract must be the admin of `proxy`." + }, + "functionSelector": "99a88ec4", + "id": 1350, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1341, + "kind": "modifierInvocation", + "modifierName": { + "id": 1340, + "name": "onlyOwner", + "nameLocations": [ + "2269:9:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 731, + "src": "2269:9:11" + }, + "nodeType": "ModifierInvocation", + "src": "2269:9:11" + } + ], + "name": "upgrade", + "nameLocation": "2187:7:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1339, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1336, + "mutability": "mutable", + "name": "proxy", + "nameLocation": "2223:5:11", + "nodeType": "VariableDeclaration", + "scope": 1350, + "src": "2195:33:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$1523", + "typeString": "contract TransparentUpgradeableProxy" + }, + "typeName": { + "id": 1335, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1334, + "name": "TransparentUpgradeableProxy", + "nameLocations": [ + "2195:27:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1523, + "src": "2195:27:11" + }, + "referencedDeclaration": 1523, + "src": "2195:27:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$1523", + "typeString": "contract TransparentUpgradeableProxy" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1338, + "mutability": "mutable", + "name": "implementation", + "nameLocation": "2238:14:11", + "nodeType": "VariableDeclaration", + "scope": 1350, + "src": "2230:22:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1337, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2230:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2194:59:11" + }, + "returnParameters": { + "id": 1342, + "nodeType": "ParameterList", + "parameters": [], + "src": "2279:0:11" + }, + "scope": 1375, + "src": "2178:149:11", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1373, + "nodeType": "Block", + "src": "2758:79:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1369, + "name": "implementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1356, + "src": "2809:14:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1370, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1358, + "src": "2825:4:11", + "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": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 1363, + "name": "proxy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1354, + "src": "2768:5:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$1523", + "typeString": "contract TransparentUpgradeableProxy" + } + }, + "id": 1365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2774:16:11", + "memberName": "upgradeToAndCall", + "nodeType": "MemberAccess", + "referencedDeclaration": 1492, + "src": "2768:22:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,bytes memory) payable external" + } + }, + "id": 1368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "expression": { + "id": 1366, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "2798:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2802:5:11", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "2798:9:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "2768:40:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$__$value", + "typeString": "function (address,bytes memory) payable external" + } + }, + "id": 1371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2768:62:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1372, + "nodeType": "ExpressionStatement", + "src": "2768:62:11" + } + ] + }, + "documentation": { + "id": 1351, + "nodeType": "StructuredDocumentation", + "src": "2333:255:11", + "text": " @dev Upgrades `proxy` to `implementation` and calls a function on the new implementation. See\n {TransparentUpgradeableProxy-upgradeToAndCall}.\n Requirements:\n - This contract must be the admin of `proxy`." + }, + "functionSelector": "9623609d", + "id": 1374, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1361, + "kind": "modifierInvocation", + "modifierName": { + "id": 1360, + "name": "onlyOwner", + "nameLocations": [ + "2748:9:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 731, + "src": "2748:9:11" + }, + "nodeType": "ModifierInvocation", + "src": "2748:9:11" + } + ], + "name": "upgradeAndCall", + "nameLocation": "2602:14:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1359, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1354, + "mutability": "mutable", + "name": "proxy", + "nameLocation": "2654:5:11", + "nodeType": "VariableDeclaration", + "scope": 1374, + "src": "2626:33:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$1523", + "typeString": "contract TransparentUpgradeableProxy" + }, + "typeName": { + "id": 1353, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1352, + "name": "TransparentUpgradeableProxy", + "nameLocations": [ + "2626:27:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1523, + "src": "2626:27:11" + }, + "referencedDeclaration": 1523, + "src": "2626:27:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$1523", + "typeString": "contract TransparentUpgradeableProxy" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1356, + "mutability": "mutable", + "name": "implementation", + "nameLocation": "2677:14:11", + "nodeType": "VariableDeclaration", + "scope": 1374, + "src": "2669:22:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1355, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2669:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1358, + "mutability": "mutable", + "name": "data", + "nameLocation": "2714:4:11", + "nodeType": "VariableDeclaration", + "scope": 1374, + "src": "2701:17:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1357, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2701:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2616:108:11" + }, + "returnParameters": { + "id": 1362, + "nodeType": "ParameterList", + "parameters": [], + "src": "2758:0:11" + }, + "scope": 1375, + "src": "2593:244:11", + "stateMutability": "payable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 1376, + "src": "435:2404:11", + "usedErrors": [] + } + ], + "src": "101:2739:11" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.605Z", + "devdoc": { + "details": "This is an auxiliary contract meant to be assigned as the admin of a {TransparentUpgradeableProxy}. For an explanation of why you would want to use this see the documentation for {TransparentUpgradeableProxy}.", + "kind": "dev", + "methods": { + "changeProxyAdmin(address,address)": { + "details": "Changes the admin of `proxy` to `newAdmin`. Requirements: - This contract must be the current admin of `proxy`." + }, + "getProxyAdmin(address)": { + "details": "Returns the current admin of `proxy`. Requirements: - This contract must be the admin of `proxy`." + }, + "getProxyImplementation(address)": { + "details": "Returns the current implementation of `proxy`. Requirements: - This contract must be the admin of `proxy`." + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + }, + "upgrade(address,address)": { + "details": "Upgrades `proxy` to `implementation`. See {TransparentUpgradeableProxy-upgradeTo}. Requirements: - This contract must be the admin of `proxy`." + }, + "upgradeAndCall(address,address,bytes)": { + "details": "Upgrades `proxy` to `implementation` and calls a function on the new implementation. See {TransparentUpgradeableProxy-upgradeToAndCall}. Requirements: - This contract must be the admin of `proxy`." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/Quotes.json b/build/contracts/Quotes.json new file mode 100644 index 0000000..ad1056b --- /dev/null +++ b/build/contracts/Quotes.json @@ -0,0 +1,15189 @@ +{ + "contractName": "Quotes", + "abi": [ + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes20", + "name": "fedBtcAddress", + "type": "bytes20" + }, + { + "internalType": "address", + "name": "lbcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidityProviderRskAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "btcRefundAddress", + "type": "bytes" + }, + { + "internalType": "address payable", + "name": "rskRefundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "liquidityProviderBtcAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penaltyFee", + "type": "uint256" + }, + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint32", + "name": "gasLimit", + "type": "uint32" + }, + { + "internalType": "int64", + "name": "nonce", + "type": "int64" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "agreementTimestamp", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "timeForDeposit", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "callTime", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "depositConfirmations", + "type": "uint16" + }, + { + "internalType": "bool", + "name": "callOnRegister", + "type": "bool" + } + ], + "internalType": "struct Quotes.PeginQuote", + "name": "quote", + "type": "tuple" + } + ], + "name": "encodeQuote", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "lbcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "lpRskAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "btcRefundAddress", + "type": "bytes" + }, + { + "internalType": "address", + "name": "rskRefundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "lpBtcAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penaltyFee", + "type": "uint256" + }, + { + "internalType": "int64", + "name": "nonce", + "type": "int64" + }, + { + "internalType": "bytes", + "name": "deposityAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "agreementTimestamp", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "depositDateLimit", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "depositConfirmations", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "transferConfirmations", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "transferTime", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "expireDate", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "expireBlock", + "type": "uint32" + } + ], + "internalType": "struct Quotes.PegOutQuote", + "name": "quote", + "type": "tuple" + } + ], + "name": "encodePegOutQuote", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes20", + "name": "fedBtcAddress", + "type": "bytes20" + }, + { + "internalType": "address", + "name": "lbcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidityProviderRskAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "btcRefundAddress", + "type": "bytes" + }, + { + "internalType": "address payable", + "name": "rskRefundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "liquidityProviderBtcAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penaltyFee", + "type": "uint256" + }, + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint32", + "name": "gasLimit", + "type": "uint32" + }, + { + "internalType": "int64", + "name": "nonce", + "type": "int64" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "agreementTimestamp", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "timeForDeposit", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "callTime", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "depositConfirmations", + "type": "uint16" + }, + { + "internalType": "bool", + "name": "callOnRegister", + "type": "bool" + } + ], + "internalType": "struct Quotes.PeginQuote", + "name": "quote", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "transferredAmount", + "type": "uint256" + } + ], + "name": "checkAgreedAmount", + "outputs": [], + "stateMutability": "pure", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"bytes20\",\"name\":\"fedBtcAddress\",\"type\":\"bytes20\"},{\"internalType\":\"address\",\"name\":\"lbcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"liquidityProviderRskAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"btcRefundAddress\",\"type\":\"bytes\"},{\"internalType\":\"address payable\",\"name\":\"rskRefundAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"liquidityProviderBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"penaltyFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"int64\",\"name\":\"nonce\",\"type\":\"int64\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"agreementTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"timeForDeposit\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"callTime\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"depositConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"callOnRegister\",\"type\":\"bool\"}],\"internalType\":\"struct Quotes.PeginQuote\",\"name\":\"quote\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"transferredAmount\",\"type\":\"uint256\"}],\"name\":\"checkAgreedAmount\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"lbcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"lpRskAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"btcRefundAddress\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"rskRefundAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"lpBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"penaltyFee\",\"type\":\"uint256\"},{\"internalType\":\"int64\",\"name\":\"nonce\",\"type\":\"int64\"},{\"internalType\":\"bytes\",\"name\":\"deposityAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"agreementTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"depositDateLimit\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"depositConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"transferConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"transferTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"expireDate\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"expireBlock\",\"type\":\"uint32\"}],\"internalType\":\"struct Quotes.PegOutQuote\",\"name\":\"quote\",\"type\":\"tuple\"}],\"name\":\"encodePegOutQuote\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes20\",\"name\":\"fedBtcAddress\",\"type\":\"bytes20\"},{\"internalType\":\"address\",\"name\":\"lbcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"liquidityProviderRskAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"btcRefundAddress\",\"type\":\"bytes\"},{\"internalType\":\"address payable\",\"name\":\"rskRefundAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"liquidityProviderBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"penaltyFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"int64\",\"name\":\"nonce\",\"type\":\"int64\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"agreementTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"timeForDeposit\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"callTime\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"depositConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"callOnRegister\",\"type\":\"bool\"}],\"internalType\":\"struct Quotes.PeginQuote\",\"name\":\"quote\",\"type\":\"tuple\"}],\"name\":\"encodeQuote\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Quotes.sol\":\"Quotes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"project:/contracts/Quotes.sol\":{\"keccak256\":\"0x28948b37d73f110d9cfc6cc3505fa7f2309b2d8d588d90c4069df45b4acbe399\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f2a824971a2421b56127e048a6b8a2d4ef4945b13e5f40cb266a19462c954e7f\",\"dweb:/ipfs/QmWm8YpQUwvqu4erUbsUZ1xz4PoVtJQiAX1Kh5Gezi32c1\"]}},\"version\":1}", + "bytecode": "0x610a8061003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c8063039e8de4146100505780633f7acc2c14610065578063fb19b88b1461008e575b600080fd5b61006361005e3660046105c0565b6100a1565b005b610078610073366004610604565b610116565b6040516100859190610686565b60405180910390f35b61007861009c3660046106a0565b610151565b60008260c001518361018001516100b89190610860565b905060006100c861271083610879565b90506100d4818361089b565b8310156101105760405162461bcd60e51b81526020600482015260066024820152654c424330353760d01b604482015260640160405180910390fd5b50505050565b606061012182610165565b61012a836101ad565b60405160200161013b9291906108ae565b6040516020818303038152906040529050919050565b606061015c826101fd565b61012a83610245565b6060816000015182602001518360400151846060015185608001518660a001518760c001518860e0015189610100015160405160200161013b999897969594939291906108dc565b6060816101200151826101400151836101600151846101800151856101a00151866101c00151876101e0015188610200015189610220015160405160200161013b9998979695949392919061095b565b6060816000015182602001518360400151846060015185608001518660a001518760c001518860e0015189610100015160405160200161013b999897969594939291906109c6565b610120808201516101408301516101608401516101808501516101a08601516101c08701516101e088015161020089015160408051602081019990995263ffffffff9788169089015294861660608881019190915261ffff94851660808901529390921660a0870152841660c0860152831660e08501529116610100830152910161013b565b634e487b7160e01b600052604160045260246000fd5b60405161024081016001600160401b0381118282101715610304576103046102cb565b60405290565b60405161022081016001600160401b0381118282101715610304576103046102cb565b80356001600160601b03198116811461034557600080fd5b919050565b80356001600160a01b038116811461034557600080fd5b600082601f83011261037257600080fd5b81356001600160401b038082111561038c5761038c6102cb565b604051601f8301601f19908116603f011681019082821181831017156103b4576103b46102cb565b816040528381528660208588010111156103cd57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803563ffffffff8116811461034557600080fd5b8035600781900b811461034557600080fd5b803561ffff8116811461034557600080fd5b8035801515811461034557600080fd5b6000610240828403121561044857600080fd5b6104506102e1565b905061045b8261032d565b81526104696020830161034a565b602082015261047a6040830161034a565b604082015260608201356001600160401b038082111561049957600080fd5b6104a585838601610361565b60608401526104b66080850161034a565b608084015260a08401359150808211156104cf57600080fd5b6104db85838601610361565b60a084015260c084013560c084015260e084013560e0840152610100915061050482850161034a565b828401526101209150818401358181111561051e57600080fd5b61052a86828701610361565b8385015250505061014061053f8184016103ed565b90820152610160610551838201610401565b9082015261018082810135908201526101a061056e8184016103ed565b908201526101c06105808382016103ed565b908201526101e06105928382016103ed565b908201526102006105a4838201610413565b908201526102206105b6838201610425565b9082015292915050565b600080604083850312156105d357600080fd5b82356001600160401b038111156105e957600080fd5b6105f585828601610435565b95602094909401359450505050565b60006020828403121561061657600080fd5b81356001600160401b0381111561062c57600080fd5b61063884828501610435565b949350505050565b6000815180845260005b818110156106665760208185018101518683018201520161064a565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106996020830184610640565b9392505050565b6000602082840312156106b257600080fd5b81356001600160401b03808211156106c957600080fd5b9083019061022082860312156106de57600080fd5b6106e661030a565b6106ef8361034a565b81526106fd6020840161034a565b602082015260408301358281111561071457600080fd5b61072087828601610361565b6040830152506107326060840161034a565b606082015260808301358281111561074957600080fd5b61075587828601610361565b60808301525060a083013560a082015260c083013560c082015261077b60e08401610401565b60e0820152610100808401358381111561079457600080fd5b6107a088828701610361565b8284015250506101209150818301358282015261014091506107c38284016103ed565b8282015261016091506107d78284016103ed565b8282015261018091506107eb828401610413565b828201526101a091506107ff828401610413565b828201526101c091506108138284016103ed565b828201526101e091506108278284016103ed565b82820152610200915061083b8284016103ed565b91810191909152949350505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156108735761087361084a565b92915050565b60008261089657634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108735761087361084a565b6040815260006108c16040830185610640565b82810360208401526108d38185610640565b95945050505050565b6001600160601b03198a1681526001600160a01b03898116602083015288811660408301526101206060830181905260009161091a8483018b610640565b9150808916608085015283820360a08501526109368289610640565b60c085019790975260e084019590955250509116610100909101529695505050505050565b600061012080835261096f8184018d610640565b63ffffffff9b8c16602085015260079a909a0b604084015250506060810196909652938716608086015291861660a085015290941660c083015261ffff90931660e082015291151561010090920191909152919050565b6001600160a01b038a811682528981166020830152610120604083018190526000916109f48483018c610640565b908a16606085015283810360808501529050610a108189610640565b90508660a08401528560c08401528460070b60e0840152828103610100840152610a3a8185610640565b9c9b50505050505050505050505056fea26469706673582212204f35982d754fe0b23702bdfe98d665512a50e47ef72afc3853cb2d0e9eb43c5f64736f6c63430008120033", + "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c8063039e8de4146100505780633f7acc2c14610065578063fb19b88b1461008e575b600080fd5b61006361005e3660046105c0565b6100a1565b005b610078610073366004610604565b610116565b6040516100859190610686565b60405180910390f35b61007861009c3660046106a0565b610151565b60008260c001518361018001516100b89190610860565b905060006100c861271083610879565b90506100d4818361089b565b8310156101105760405162461bcd60e51b81526020600482015260066024820152654c424330353760d01b604482015260640160405180910390fd5b50505050565b606061012182610165565b61012a836101ad565b60405160200161013b9291906108ae565b6040516020818303038152906040529050919050565b606061015c826101fd565b61012a83610245565b6060816000015182602001518360400151846060015185608001518660a001518760c001518860e0015189610100015160405160200161013b999897969594939291906108dc565b6060816101200151826101400151836101600151846101800151856101a00151866101c00151876101e0015188610200015189610220015160405160200161013b9998979695949392919061095b565b6060816000015182602001518360400151846060015185608001518660a001518760c001518860e0015189610100015160405160200161013b999897969594939291906109c6565b610120808201516101408301516101608401516101808501516101a08601516101c08701516101e088015161020089015160408051602081019990995263ffffffff9788169089015294861660608881019190915261ffff94851660808901529390921660a0870152841660c0860152831660e08501529116610100830152910161013b565b634e487b7160e01b600052604160045260246000fd5b60405161024081016001600160401b0381118282101715610304576103046102cb565b60405290565b60405161022081016001600160401b0381118282101715610304576103046102cb565b80356001600160601b03198116811461034557600080fd5b919050565b80356001600160a01b038116811461034557600080fd5b600082601f83011261037257600080fd5b81356001600160401b038082111561038c5761038c6102cb565b604051601f8301601f19908116603f011681019082821181831017156103b4576103b46102cb565b816040528381528660208588010111156103cd57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803563ffffffff8116811461034557600080fd5b8035600781900b811461034557600080fd5b803561ffff8116811461034557600080fd5b8035801515811461034557600080fd5b6000610240828403121561044857600080fd5b6104506102e1565b905061045b8261032d565b81526104696020830161034a565b602082015261047a6040830161034a565b604082015260608201356001600160401b038082111561049957600080fd5b6104a585838601610361565b60608401526104b66080850161034a565b608084015260a08401359150808211156104cf57600080fd5b6104db85838601610361565b60a084015260c084013560c084015260e084013560e0840152610100915061050482850161034a565b828401526101209150818401358181111561051e57600080fd5b61052a86828701610361565b8385015250505061014061053f8184016103ed565b90820152610160610551838201610401565b9082015261018082810135908201526101a061056e8184016103ed565b908201526101c06105808382016103ed565b908201526101e06105928382016103ed565b908201526102006105a4838201610413565b908201526102206105b6838201610425565b9082015292915050565b600080604083850312156105d357600080fd5b82356001600160401b038111156105e957600080fd5b6105f585828601610435565b95602094909401359450505050565b60006020828403121561061657600080fd5b81356001600160401b0381111561062c57600080fd5b61063884828501610435565b949350505050565b6000815180845260005b818110156106665760208185018101518683018201520161064a565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106996020830184610640565b9392505050565b6000602082840312156106b257600080fd5b81356001600160401b03808211156106c957600080fd5b9083019061022082860312156106de57600080fd5b6106e661030a565b6106ef8361034a565b81526106fd6020840161034a565b602082015260408301358281111561071457600080fd5b61072087828601610361565b6040830152506107326060840161034a565b606082015260808301358281111561074957600080fd5b61075587828601610361565b60808301525060a083013560a082015260c083013560c082015261077b60e08401610401565b60e0820152610100808401358381111561079457600080fd5b6107a088828701610361565b8284015250506101209150818301358282015261014091506107c38284016103ed565b8282015261016091506107d78284016103ed565b8282015261018091506107eb828401610413565b828201526101a091506107ff828401610413565b828201526101c091506108138284016103ed565b828201526101e091506108278284016103ed565b82820152610200915061083b8284016103ed565b91810191909152949350505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156108735761087361084a565b92915050565b60008261089657634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108735761087361084a565b6040815260006108c16040830185610640565b82810360208401526108d38185610640565b95945050505050565b6001600160601b03198a1681526001600160a01b03898116602083015288811660408301526101206060830181905260009161091a8483018b610640565b9150808916608085015283820360a08501526109368289610640565b60c085019790975260e084019590955250509116610100909101529695505050505050565b600061012080835261096f8184018d610640565b63ffffffff9b8c16602085015260079a909a0b604084015250506060810196909652938716608086015291861660a085015290941660c083015261ffff90931660e082015291151561010090920191909152919050565b6001600160a01b038a811682528981166020830152610120604083018190526000916109f48483018c610640565b908a16606085015283810360808501529050610a108189610640565b90508660a08401528560c08401528460070b60e0840152828103610100840152610a3a8185610640565b9c9b50505050505050505050505056fea26469706673582212204f35982d754fe0b23702bdfe98d665512a50e47ef72afc3853cb2d0e9eb43c5f64736f6c63430008120033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:13012:30", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:30", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "70:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "75:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "66:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "66:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "56:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "103:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "106:4:30", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "96:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "96:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "96:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "127:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "130:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "120:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "120:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "120:15:30" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "14:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "192:209:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "202:19:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "218:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "212:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "212:9:30" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "202:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "230:37:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "252:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "260:6:30", + "type": "", + "value": "0x0240" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "248:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "248:19:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "234:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "342:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "344:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "344:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "344:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "285:10:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "305:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "309:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "301:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "301:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "313:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "297:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "297:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "282:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "282:34:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "321:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "333:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "318:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "318:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "279:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "279:62:30" + }, + "nodeType": "YulIf", + "src": "276:88:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "380:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "384:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "373:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "373:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "373:22:30" + } + ] + }, + "name": "allocate_memory_1507", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "181:6:30", + "type": "" + } + ], + "src": "146:255:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "447:209:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "457:19:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "473:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "467:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "467:9:30" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "457:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "485:37:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "507:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "515:6:30", + "type": "", + "value": "0x0220" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "503:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "503:19:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "489:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "597:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "599:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "599:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "599:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "540:10:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "560:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "564:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "556:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "556:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "568:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "552:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "552:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "537:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "537:34:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "576:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "588:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "573:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "573:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "534:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "534:62:30" + }, + "nodeType": "YulIf", + "src": "531:88:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "635:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "639:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "628:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "628:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "628:22:30" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "436:6:30", + "type": "" + } + ], + "src": "406:250:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "710:128:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "720:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "742:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "729:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "729:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "720:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "816:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "825:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "828:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "818:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "818:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "818:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "771:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "782:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "801:2:30", + "type": "", + "value": "96" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "805:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "797:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "797:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "809:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "793:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "793:18:30" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "789:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "789:23:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "778:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "778:35:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "768:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "768:46:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "761:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "761:54:30" + }, + "nodeType": "YulIf", + "src": "758:74:30" + } + ] + }, + "name": "abi_decode_bytes20", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "689:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "700:5:30", + "type": "" + } + ], + "src": "661:177:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "892:124:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "902:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "924:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "911:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "911:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "902:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "994:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1003:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1006:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "996:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "996:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "996:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "953:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "964:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "979:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "984:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "975:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "975:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "988:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "971:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "971:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "960:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "960:31:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "950:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "950:42:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "943:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "943:50:30" + }, + "nodeType": "YulIf", + "src": "940:70:30" + } + ] + }, + "name": "abi_decode_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "871:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "882:5:30", + "type": "" + } + ], + "src": "843:173:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1073:666:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1122:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1131:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1134:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1124:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1124:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1124:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1101:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1109:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1097:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1097:17:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1116:3:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1093:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1093:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1086:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1086:35:30" + }, + "nodeType": "YulIf", + "src": "1083:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1147:30:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1170:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1157:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1157:20:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "1151:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1186:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1204:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1208:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1200:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1200:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1212:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1196:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1196:18:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "1190:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1237:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1239:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "1239:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1239:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1229:2:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1233:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1226:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1226:10:30" + }, + "nodeType": "YulIf", + "src": "1223:36:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1268:17:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1282:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "1278:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1278:7:30" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "1272:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1294:23:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1314:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1308:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "1308:9:30" + }, + "variables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1298:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1326:71:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1348:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1372:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1376:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1368:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1368:13:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1383:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1364:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1364:22:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1388:2:30", + "type": "", + "value": "63" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1360:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1360:31:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1393:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1356:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1356:40:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1344:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1344:53:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "1330:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1456:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1458:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "1458:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1458:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1415:10:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1427:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1412:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1412:18:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1435:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1447:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1432:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1432:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1409:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1409:46:30" + }, + "nodeType": "YulIf", + "src": "1406:72:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1494:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1498:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1487:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1487:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1487:22:30" + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1525:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1533:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1518:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1518:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1518:18:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1584:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1593:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1596:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1586:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1586:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1586:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1559:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1567:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1555:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1555:15:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1572:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1551:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1551:26:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1579:3:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1548:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1548:35:30" + }, + "nodeType": "YulIf", + "src": "1545:55:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1626:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1634:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1622:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1622:17:30" + }, + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1645:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1653:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1641:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1641:17:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1660:2:30" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "1609:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1609:54:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1609:54:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1687:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1695:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1683:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1683:15:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1700:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1679:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1679:26:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1707:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1672:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1672:37:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1672:37:30" + }, + { + "nodeType": "YulAssignment", + "src": "1718:15:30", + "value": { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1727:6:30" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "1718:5:30" + } + ] + } + ] + }, + "name": "abi_decode_bytes", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1047:6:30", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1055:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "1063:5:30", + "type": "" + } + ], + "src": "1021:718:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1792:115:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1802:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1824:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1811:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1811:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1802:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1885:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1894:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1897:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1887:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1887:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1887:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1853:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1864:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1871:10:30", + "type": "", + "value": "0xffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1860:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1860:22:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "1850:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1850:33:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1843:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1843:41:30" + }, + "nodeType": "YulIf", + "src": "1840:61:30" + } + ] + }, + "name": "abi_decode_uint32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1771:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1782:5:30", + "type": "" + } + ], + "src": "1744:163:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1959:113:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1969:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1991:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1978:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1978:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1969:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2050:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2059:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2062:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2052:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2052:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2052:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2020:5:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2038:1:30", + "type": "", + "value": "7" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2041:5:30" + } + ], + "functionName": { + "name": "signextend", + "nodeType": "YulIdentifier", + "src": "2027:10:30" + }, + "nodeType": "YulFunctionCall", + "src": "2027:20:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2017:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2017:31:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2010:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2010:39:30" + }, + "nodeType": "YulIf", + "src": "2007:59:30" + } + ] + }, + "name": "abi_decode_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1938:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1949:5:30", + "type": "" + } + ], + "src": "1912:160:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2125:111:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2135:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2157:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2144:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2144:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2135:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2214:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2223:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2226:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2216:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2216:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2216:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2186:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2197:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2204:6:30", + "type": "", + "value": "0xffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2193:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2193:18:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2183:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2183:29:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2176:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2176:37:30" + }, + "nodeType": "YulIf", + "src": "2173:57:30" + } + ] + }, + "name": "abi_decode_uint16", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2104:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2115:5:30", + "type": "" + } + ], + "src": "2077:159:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2287:114:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2297:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2319:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2306:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2306:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2297:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2379:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2388:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2391:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2381:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2381:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2381:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2348:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2369:5:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2362:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2362:13:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2355:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2355:21:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2345:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2345:32:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2338:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2338:40:30" + }, + "nodeType": "YulIf", + "src": "2335:60:30" + } + ] + }, + "name": "abi_decode_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2266:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2277:5:30", + "type": "" + } + ], + "src": "2241:160:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2473:1938:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2519:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2528:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2531:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2521:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2521:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2521:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2494:3:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2499:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2490:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2490:19:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2511:6:30", + "type": "", + "value": "0x0240" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2486:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2486:32:30" + }, + "nodeType": "YulIf", + "src": "2483:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "2544:31:30", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_memory_1507", + "nodeType": "YulIdentifier", + "src": "2553:20:30" + }, + "nodeType": "YulFunctionCall", + "src": "2553:22:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2544:5:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2591:5:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2617:9:30" + } + ], + "functionName": { + "name": "abi_decode_bytes20", + "nodeType": "YulIdentifier", + "src": "2598:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "2598:29:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2584:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2584:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2584:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2648:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2655:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2644:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2644:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2683:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2694:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2679:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2679:18:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "2660:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "2660:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2637:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2637:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2637:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2719:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2726:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2715:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2715:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2754:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2765:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2750:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2750:18:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "2731:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "2731:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2708:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2708:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2708:62:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2779:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2810:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2821:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2806:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2806:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2793:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2793:32:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2783:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2834:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2852:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2856:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "2848:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2848:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2860:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2844:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2844:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "2838:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2889:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2898:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2901:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2891:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2891:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2891:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2877:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2885:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2874:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2874:14:30" + }, + "nodeType": "YulIf", + "src": "2871:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2925:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2932:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2921:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2921:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2958:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2969:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2954:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2954:22:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2978:3:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "2937:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "2937:45:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2914:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2914:69:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2914:69:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3003:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3010:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2999:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2999:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3039:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3050:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3035:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3035:19:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "3016:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "3016:39:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2992:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2992:64:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2992:64:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3065:49:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3098:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3109:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3094:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3094:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3081:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3081:33:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "3069:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3143:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3152:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3155:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3145:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3145:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3145:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "3129:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "3139:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3126:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "3126:16:30" + }, + "nodeType": "YulIf", + "src": "3123:36:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3179:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3186:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3175:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3175:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3213:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "3224:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3209:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3209:24:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3235:3:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "3192:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "3192:47:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3168:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3168:72:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3168:72:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3260:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3267:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3256:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3256:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3290:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3301:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3286:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3286:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3273:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3273:33:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3249:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3249:58:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3249:58:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3327:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3334:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3323:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3323:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3357:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3368:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3353:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3353:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3340:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3340:33:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3316:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3316:58:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3316:58:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3383:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3393:3:30", + "type": "", + "value": "256" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "3387:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3416:5:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "3423:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3412:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3412:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3451:9:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "3462:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3447:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3447:18:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "3428:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "3428:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3405:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3405:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3405:62:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3476:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3486:3:30", + "type": "", + "value": "288" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "3480:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3498:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3531:9:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "3542:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3527:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3527:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3514:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3514:32:30" + }, + "variables": [ + { + "name": "offset_2", + "nodeType": "YulTypedName", + "src": "3502:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3575:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3584:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3587:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3577:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3577:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3577:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "3561:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "3571:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3558:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "3558:16:30" + }, + "nodeType": "YulIf", + "src": "3555:36:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3611:5:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "3618:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3607:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3607:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3644:9:30" + }, + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "3655:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3640:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3640:24:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3666:3:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "3623:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "3623:47:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3600:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3600:71:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3600:71:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3680:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3690:3:30", + "type": "", + "value": "320" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "3684:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3713:5:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "3720:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3709:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3709:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3747:9:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "3758:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3743:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3743:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "3725:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "3725:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3702:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3702:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3702:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3772:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3782:3:30", + "type": "", + "value": "352" + }, + "variables": [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "3776:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3805:5:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "3812:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3801:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3801:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3838:9:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "3849:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3834:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3834:18:30" + } + ], + "functionName": { + "name": "abi_decode_int64", + "nodeType": "YulIdentifier", + "src": "3817:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "3817:36:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3794:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3794:60:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3794:60:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3863:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3873:3:30", + "type": "", + "value": "384" + }, + "variables": [ + { + "name": "_6", + "nodeType": "YulTypedName", + "src": "3867:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3896:5:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "3903:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3892:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3892:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3925:9:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "3936:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3921:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3921:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3908:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3908:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3885:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3885:56:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3885:56:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3950:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3960:3:30", + "type": "", + "value": "416" + }, + "variables": [ + { + "name": "_7", + "nodeType": "YulTypedName", + "src": "3954:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3983:5:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "3990:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3979:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3979:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4017:9:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "4028:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4013:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4013:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "3995:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "3995:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3972:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3972:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3972:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4042:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4052:3:30", + "type": "", + "value": "448" + }, + "variables": [ + { + "name": "_8", + "nodeType": "YulTypedName", + "src": "4046:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4075:5:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "4082:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4071:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4071:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4109:9:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "4120:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4105:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4105:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "4087:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "4087:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4064:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4064:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4064:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4134:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4144:3:30", + "type": "", + "value": "480" + }, + "variables": [ + { + "name": "_9", + "nodeType": "YulTypedName", + "src": "4138:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4167:5:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "4174:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4163:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4163:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4201:9:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "4212:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4197:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4197:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "4179:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "4179:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4156:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4156:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4156:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4226:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4237:3:30", + "type": "", + "value": "512" + }, + "variables": [ + { + "name": "_10", + "nodeType": "YulTypedName", + "src": "4230:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4260:5:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "4267:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4256:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4256:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4295:9:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "4306:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4291:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4291:19:30" + } + ], + "functionName": { + "name": "abi_decode_uint16", + "nodeType": "YulIdentifier", + "src": "4273:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "4273:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4249:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4249:63:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4249:63:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4321:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4332:3:30", + "type": "", + "value": "544" + }, + "variables": [ + { + "name": "_11", + "nodeType": "YulTypedName", + "src": "4325:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4355:5:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "4362:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4351:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4351:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4388:9:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "4399:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4384:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4384:19:30" + } + ], + "functionName": { + "name": "abi_decode_bool", + "nodeType": "YulIdentifier", + "src": "4368:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "4368:36:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4344:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4344:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4344:61:30" + } + ] + }, + "name": "abi_decode_struct_PeginQuote", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2444:9:30", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2455:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2463:5:30", + "type": "" + } + ], + "src": "2406:2005:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4531:304:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4577:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4586:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4589:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4579:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4579:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4579:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4552:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4561:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4548:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4548:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4573:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4544:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4544:32:30" + }, + "nodeType": "YulIf", + "src": "4541:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4602:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4629:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4616:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "4616:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4606:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4682:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4691:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4694:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4684:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4684:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4684:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4654:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4670:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4674:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "4666:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4666:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4678:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4662:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4662:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4651:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "4651:30:30" + }, + "nodeType": "YulIf", + "src": "4648:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "4707:71:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4750:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4761:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4746:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4746:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4770:7:30" + } + ], + "functionName": { + "name": "abi_decode_struct_PeginQuote", + "nodeType": "YulIdentifier", + "src": "4717:28:30" + }, + "nodeType": "YulFunctionCall", + "src": "4717:61:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4707:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4787:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4814:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4825:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4810:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4810:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4797:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "4797:32:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "4787:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_PeginQuote_$9884_memory_ptrt_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4489:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4500:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4512:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "4520:6:30", + "type": "" + } + ], + "src": "4416:419:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4938:253:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4984:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4993:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4996:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4986:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4986:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4986:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4959:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4968:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4955:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4955:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4980:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4951:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4951:32:30" + }, + "nodeType": "YulIf", + "src": "4948:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5009:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5036:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5023:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "5023:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5013:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5089:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5098:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5101:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5091:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5091:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5091:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5061:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5077:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5081:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "5073:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5073:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5085:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5069:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5069:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5058:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "5058:30:30" + }, + "nodeType": "YulIf", + "src": "5055:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "5114:71:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5157:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5168:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5153:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5153:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5177:7:30" + } + ], + "functionName": { + "name": "abi_decode_struct_PeginQuote", + "nodeType": "YulIdentifier", + "src": "5124:28:30" + }, + "nodeType": "YulFunctionCall", + "src": "5124:61:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5114:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_PeginQuote_$9884_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4904:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4915:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4927:6:30", + "type": "" + } + ], + "src": "4840:351:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5245:373:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5255:26:30", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5275:5:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5269:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "5269:12:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "5259:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5297:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5302:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5290:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5290:19:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5290:19:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5318:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5327:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "5322:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5389:110:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5403:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5413:4:30", + "type": "", + "value": "0x20" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "5407:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5445:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5450:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5441:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5441:11:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "5454:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5437:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5437:20:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5473:5:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5480:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5469:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5469:13:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "5484:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5465:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5465:22:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5459:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "5459:29:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5430:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5430:59:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5430:59:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5348:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5351:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "5345:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "5345:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "5359:21:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5361:17:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5370:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5373:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5366:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5366:12:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5361:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "5341:3:30", + "statements": [] + }, + "src": "5337:162:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5523:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5528:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5519:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5519:16:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5537:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5515:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5515:27:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5544:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5508:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5508:38:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5508:38:30" + }, + { + "nodeType": "YulAssignment", + "src": "5555:57:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5570:3:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5583:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5591:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5579:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5579:15:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5600:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "5596:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5596:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5575:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5575:29:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5566:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5566:39:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5607:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5562:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5562:50:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5555:3:30" + } + ] + } + ] + }, + "name": "abi_encode_bytes", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5222:5:30", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5229:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "5237:3:30", + "type": "" + } + ], + "src": "5196:422:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5750:98:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5767:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5778:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5760:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5760:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5760:21:30" + }, + { + "nodeType": "YulAssignment", + "src": "5790:52:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5815:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5827:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5838:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5823:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5823:18:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "5798:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "5798:44:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5790:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5719:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5730:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5741:4:30", + "type": "" + } + ], + "src": "5623:225:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5952:1935:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5998:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6007:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6010:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6000:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6000:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6000:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5973:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5982:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5969:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5969:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5994:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5965:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5965:32:30" + }, + "nodeType": "YulIf", + "src": "5962:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6023:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6050:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6037:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6037:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6027:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6069:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6087:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6091:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "6083:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6083:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6095:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6079:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6079:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "6073:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6124:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6133:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6136:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6126:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6126:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6126:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6112:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6120:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6109:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6109:14:30" + }, + "nodeType": "YulIf", + "src": "6106:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6149:32:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6163:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6174:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6159:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6159:22:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "6153:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6223:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6232:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6235:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6225:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6225:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6225:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6201:7:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6210:2:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6197:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6197:16:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6215:6:30", + "type": "", + "value": "0x0220" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6193:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6193:29:30" + }, + "nodeType": "YulIf", + "src": "6190:49:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6248:30:30", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "6261:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "6261:17:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6252:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6294:5:30" + }, + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6320:2:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "6301:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "6301:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6287:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6287:37:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6287:37:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6344:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6351:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6340:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6340:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6379:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6383:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6375:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6375:11:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "6356:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "6356:31:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6333:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6333:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6333:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6397:41:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6430:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6434:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6426:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6426:11:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6413:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6413:25:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "6401:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6467:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6476:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6479:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6469:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6469:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6469:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "6453:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6463:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6450:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6450:16:30" + }, + "nodeType": "YulIf", + "src": "6447:36:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6503:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6510:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6499:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6499:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6536:2:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "6540:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6532:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6532:17:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6551:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "6515:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "6515:44:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6492:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6492:68:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6492:68:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6580:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6587:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6576:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6576:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6615:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6619:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6611:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6611:11:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "6592:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "6592:31:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6569:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6569:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6569:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6633:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6666:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6670:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6662:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6662:12:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6649:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6649:26:30" + }, + "variables": [ + { + "name": "offset_2", + "nodeType": "YulTypedName", + "src": "6637:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6704:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6713:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6716:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6706:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6706:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6706:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "6690:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6700:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6687:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6687:16:30" + }, + "nodeType": "YulIf", + "src": "6684:36:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6740:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6747:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6736:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6736:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6774:2:30" + }, + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "6778:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6770:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6770:17:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6789:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "6753:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "6753:44:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6729:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6729:69:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6729:69:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6818:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6825:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6814:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6814:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6848:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6852:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6844:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6844:12:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6831:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6831:26:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6807:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6807:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6807:51:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6878:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6885:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6874:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6874:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6908:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6912:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6904:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6904:12:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6891:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6891:26:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6867:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6867:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6867:51:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6938:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6945:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6934:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6934:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6972:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6976:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6968:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6968:12:30" + } + ], + "functionName": { + "name": "abi_decode_int64", + "nodeType": "YulIdentifier", + "src": "6951:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "6951:30:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6927:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6927:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6927:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6991:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7001:3:30", + "type": "", + "value": "256" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "6995:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7013:41:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7046:2:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "7050:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7042:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7042:11:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7029:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "7029:25:30" + }, + "variables": [ + { + "name": "offset_3", + "nodeType": "YulTypedName", + "src": "7017:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7083:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7092:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7095:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7085:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7085:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7085:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_3", + "nodeType": "YulIdentifier", + "src": "7069:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "7079:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7066:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "7066:16:30" + }, + "nodeType": "YulIf", + "src": "7063:36:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7119:5:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "7126:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7115:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7115:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7152:2:30" + }, + { + "name": "offset_3", + "nodeType": "YulIdentifier", + "src": "7156:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7148:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7148:17:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7167:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "7131:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "7131:44:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7108:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7108:68:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7108:68:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7185:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7195:3:30", + "type": "", + "value": "288" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "7189:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7218:5:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "7225:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7214:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7214:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7247:2:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "7251:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7243:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7243:11:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7230:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "7230:25:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7207:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7207:49:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7207:49:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7265:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7275:3:30", + "type": "", + "value": "320" + }, + "variables": [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "7269:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7298:5:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "7305:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7294:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7294:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7332:2:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "7336:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7328:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7328:11:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "7310:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "7310:30:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7287:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7287:54:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7287:54:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7350:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7360:3:30", + "type": "", + "value": "352" + }, + "variables": [ + { + "name": "_6", + "nodeType": "YulTypedName", + "src": "7354:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7383:5:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "7390:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7379:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7379:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7417:2:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "7421:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7413:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7413:11:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "7395:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "7395:30:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7372:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7372:54:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7372:54:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7435:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7445:3:30", + "type": "", + "value": "384" + }, + "variables": [ + { + "name": "_7", + "nodeType": "YulTypedName", + "src": "7439:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7468:5:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "7475:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7464:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7464:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7502:2:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "7506:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7498:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7498:11:30" + } + ], + "functionName": { + "name": "abi_decode_uint16", + "nodeType": "YulIdentifier", + "src": "7480:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "7480:30:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7457:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7457:54:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7457:54:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7520:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7530:3:30", + "type": "", + "value": "416" + }, + "variables": [ + { + "name": "_8", + "nodeType": "YulTypedName", + "src": "7524:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7553:5:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "7560:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7549:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7549:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7587:2:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "7591:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7583:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7583:11:30" + } + ], + "functionName": { + "name": "abi_decode_uint16", + "nodeType": "YulIdentifier", + "src": "7565:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "7565:30:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7542:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7542:54:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7542:54:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7605:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7615:3:30", + "type": "", + "value": "448" + }, + "variables": [ + { + "name": "_9", + "nodeType": "YulTypedName", + "src": "7609:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7638:5:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "7645:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7634:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7634:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7672:2:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "7676:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7668:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7668:11:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "7650:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "7650:30:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7627:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7627:54:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7627:54:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7690:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7701:3:30", + "type": "", + "value": "480" + }, + "variables": [ + { + "name": "_10", + "nodeType": "YulTypedName", + "src": "7694:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7724:5:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "7731:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7720:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7720:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7759:2:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "7763:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7755:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7755:12:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "7737:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "7737:31:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7713:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7713:56:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7713:56:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7778:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7789:3:30", + "type": "", + "value": "512" + }, + "variables": [ + { + "name": "_11", + "nodeType": "YulTypedName", + "src": "7782:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7812:5:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "7819:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7808:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7808:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7847:2:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "7851:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7843:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7843:12:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "7825:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "7825:31:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7801:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7801:56:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7801:56:30" + }, + { + "nodeType": "YulAssignment", + "src": "7866:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7876:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7866:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_PegOutQuote_$9919_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5918:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5929:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5941:6:30", + "type": "" + } + ], + "src": "5853:2034:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7924:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7941:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7948:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7953:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "7944:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7944:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7934:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7934:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7934:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7981:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7984:4:30", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7974:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7974:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7974:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8005:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8008:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7998:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7998:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7998:15:30" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "7892:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8072:77:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8082:16:30", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "8093:1:30" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "8096:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8089:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8089:9:30" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "8082:3:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8121:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "8123:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "8123:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8123:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "8113:1:30" + }, + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "8116:3:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8110:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "8110:10:30" + }, + "nodeType": "YulIf", + "src": "8107:36:30" + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "8055:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "8058:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "8064:3:30", + "type": "" + } + ], + "src": "8024:125:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8200:171:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "8231:111:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8252:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8259:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8264:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "8255:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8255:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8245:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8245:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8245:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8296:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8299:4:30", + "type": "", + "value": "0x12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8289:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8289:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8289:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8324:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8327:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8317:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8317:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8317:15:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "8220:1:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "8213:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8213:9:30" + }, + "nodeType": "YulIf", + "src": "8210:132:30" + }, + { + "nodeType": "YulAssignment", + "src": "8351:14:30", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "8360:1:30" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "8363:1:30" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "8356:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8356:9:30" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "8351:1:30" + } + ] + } + ] + }, + "name": "checked_div_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "8185:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "8188:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "r", + "nodeType": "YulTypedName", + "src": "8194:1:30", + "type": "" + } + ], + "src": "8154:217:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8425:79:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8435:17:30", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "8447:1:30" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "8450:1:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8443:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8443:9:30" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "8435:4:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8476:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "8478:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "8478:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8478:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "8467:4:30" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "8473:1:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8464:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "8464:11:30" + }, + "nodeType": "YulIf", + "src": "8461:37:30" + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "8407:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "8410:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "8416:4:30", + "type": "" + } + ], + "src": "8376:128:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8683:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8700:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8711:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8693:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8693:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8693:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8734:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8745:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8730:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8730:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8750:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8723:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8723:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8723:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8772:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8783:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8768:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8768:18:30" + }, + { + "hexValue": "4c4243303537", + "kind": "string", + "nodeType": "YulLiteral", + "src": "8788:8:30", + "type": "", + "value": "LBC057" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8761:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8761:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8761:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "8806:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8818:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8829:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8814:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8814:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8806:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_edc8872f52a3fbd4c102c7239a16e50d62a454725123fb252e7131b6a2223277__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8660:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8674:4:30", + "type": "" + } + ], + "src": "8509:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9008:212:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9025:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9036:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9018:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9018:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9018:21:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9048:58:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9079:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9091:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9102:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9087:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9087:18:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "9062:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "9062:44:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "9052:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9126:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9137:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9122:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9122:18:30" + }, + { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "9146:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9154:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9142:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9142:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9115:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9115:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9115:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "9174:40:30", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "9199:6:30" + }, + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "9207:6:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "9182:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "9182:32:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9174:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8969:9:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "8980:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8988:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8999:4:30", + "type": "" + } + ], + "src": "8843:377:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9602:644:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9612:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9622:3:30", + "type": "", + "value": "288" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "9616:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9641:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9656:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9676:2:30", + "type": "", + "value": "96" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9680:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "9672:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9672:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9684:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9668:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9668:18:30" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "9664:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9664:23:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "9652:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9652:36:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9634:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9634:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9634:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9698:29:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9716:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9721:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "9712:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9712:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9725:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9708:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9708:19:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "9702:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9747:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9758:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9743:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9743:18:30" + }, + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "9767:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "9775:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "9763:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9763:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9736:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9736:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9736:43:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9799:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9810:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9795:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9795:18:30" + }, + { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "9819:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "9827:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "9815:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9815:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9788:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9788:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9788:43:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9851:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9862:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9847:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9847:18:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "9867:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9840:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9840:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9840:30:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9879:58:30", + "value": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "9910:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9922:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "9933:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9918:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9918:18:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "9893:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "9893:44:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "9883:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9957:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9968:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9953:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9953:19:30" + }, + { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "9978:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "9986:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "9974:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9974:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9946:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9946:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9946:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10010:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10021:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10006:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10006:19:30" + }, + { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "10031:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10039:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10027:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10027:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9999:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9999:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9999:51:30" + }, + { + "nodeType": "YulAssignment", + "src": "10059:40:30", + "value": { + "arguments": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "10084:6:30" + }, + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "10092:6:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "10067:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "10067:32:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10059:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10119:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10130:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10115:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10115:19:30" + }, + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "10136:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10108:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10108:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10108:35:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10163:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10174:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10159:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10159:19:30" + }, + { + "name": "value7", + "nodeType": "YulIdentifier", + "src": "10180:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10152:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10152:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10152:35:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10207:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10218:3:30", + "type": "", + "value": "256" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10203:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10203:19:30" + }, + { + "arguments": [ + { + "name": "value8", + "nodeType": "YulIdentifier", + "src": "10228:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "10236:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10224:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10224:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10196:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10196:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10196:44:30" + } + ] + }, + "name": "abi_encode_tuple_t_bytes20_t_address_t_address_t_bytes_memory_ptr_t_address_payable_t_bytes_memory_ptr_t_uint256_t_uint256_t_address__to_t_bytes20_t_address_t_address_t_bytes_memory_ptr_t_address_payable_t_bytes_memory_ptr_t_uint256_t_uint256_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9507:9:30", + "type": "" + }, + { + "name": "value8", + "nodeType": "YulTypedName", + "src": "9518:6:30", + "type": "" + }, + { + "name": "value7", + "nodeType": "YulTypedName", + "src": "9526:6:30", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "9534:6:30", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "9542:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "9550:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "9558:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "9566:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "9574:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9582:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9593:4:30", + "type": "" + } + ], + "src": "9225:1021:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10574:578:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10584:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10594:3:30", + "type": "", + "value": "288" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "10588:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10613:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "10624:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10606:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10606:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10606:21:30" + }, + { + "nodeType": "YulAssignment", + "src": "10636:52:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10661:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10673:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "10684:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10669:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10669:18:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "10644:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "10644:44:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10636:4:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "10697:20:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10707:10:30", + "type": "", + "value": "0xffffffff" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "10701:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10737:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10748:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10733:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10733:18:30" + }, + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "10757:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "10765:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10753:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10753:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10726:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10726:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10726:43:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10789:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10800:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10785:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10785:18:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10816:1:30", + "type": "", + "value": "7" + }, + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "10819:6:30" + } + ], + "functionName": { + "name": "signextend", + "nodeType": "YulIdentifier", + "src": "10805:10:30" + }, + "nodeType": "YulFunctionCall", + "src": "10805:21:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10778:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10778:49:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10778:49:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10847:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10858:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10843:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10843:18:30" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "10863:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10836:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10836:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10836:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10890:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10901:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10886:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10886:19:30" + }, + { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "10911:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "10919:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10907:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10907:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10879:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10879:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10879:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10943:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10954:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10939:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10939:19:30" + }, + { + "arguments": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "10964:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "10972:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10960:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10960:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10932:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10932:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10932:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10996:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11007:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10992:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10992:19:30" + }, + { + "arguments": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "11017:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "11025:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "11013:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11013:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10985:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10985:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10985:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11049:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11060:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11045:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11045:19:30" + }, + { + "arguments": [ + { + "name": "value7", + "nodeType": "YulIdentifier", + "src": "11070:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11078:6:30", + "type": "", + "value": "0xffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "11066:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11066:19:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11038:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11038:48:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11038:48:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11106:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11117:3:30", + "type": "", + "value": "256" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11102:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11102:19:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value8", + "nodeType": "YulIdentifier", + "src": "11137:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "11130:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11130:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "11123:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11123:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11095:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11095:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11095:51:30" + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr_t_uint32_t_int64_t_uint256_t_uint32_t_uint32_t_uint32_t_uint16_t_bool__to_t_bytes_memory_ptr_t_uint32_t_int64_t_uint256_t_uint32_t_uint32_t_uint32_t_uint16_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10479:9:30", + "type": "" + }, + { + "name": "value8", + "nodeType": "YulTypedName", + "src": "10490:6:30", + "type": "" + }, + { + "name": "value7", + "nodeType": "YulTypedName", + "src": "10498:6:30", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "10506:6:30", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "10514:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "10522:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "10530:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "10538:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "10546:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10554:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "10565:4:30", + "type": "" + } + ], + "src": "10251:901:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11532:691:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11542:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11552:3:30", + "type": "", + "value": "288" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "11546:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11564:29:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11582:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11587:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "11578:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11578:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11591:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11574:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11574:19:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "11568:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11609:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11624:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "11632:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "11620:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11620:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11602:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11602:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11602:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11656:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11667:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11652:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11652:18:30" + }, + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "11676:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "11684:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "11672:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11672:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11645:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11645:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11645:43:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11708:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11719:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11704:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11704:18:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "11724:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11697:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11697:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11697:30:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11736:58:30", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "11767:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11779:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "11790:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11775:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11775:18:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "11750:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "11750:44:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "11740:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11814:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11825:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11810:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11810:18:30" + }, + { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "11834:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "11842:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "11830:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11830:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11803:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11803:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11803:43:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11866:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11877:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11862:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11862:19:30" + }, + { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "11887:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11895:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11883:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11883:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11855:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11855:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11855:51:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11915:46:30", + "value": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "11946:6:30" + }, + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "11954:6:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "11929:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "11929:32:30" + }, + "variables": [ + { + "name": "tail_2", + "nodeType": "YulTypedName", + "src": "11919:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11981:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11992:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11977:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11977:19:30" + }, + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "11998:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11970:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11970:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11970:35:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12025:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12036:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12021:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12021:19:30" + }, + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "12042:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12014:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12014:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12014:35:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12069:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12080:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12065:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12065:19:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12097:1:30", + "type": "", + "value": "7" + }, + { + "name": "value7", + "nodeType": "YulIdentifier", + "src": "12100:6:30" + } + ], + "functionName": { + "name": "signextend", + "nodeType": "YulIdentifier", + "src": "12086:10:30" + }, + "nodeType": "YulFunctionCall", + "src": "12086:21:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12058:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12058:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12058:50:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12128:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12139:3:30", + "type": "", + "value": "256" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12124:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12124:19:30" + }, + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "12149:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12157:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12145:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12145:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12117:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12117:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12117:51:30" + }, + { + "nodeType": "YulAssignment", + "src": "12177:40:30", + "value": { + "arguments": [ + { + "name": "value8", + "nodeType": "YulIdentifier", + "src": "12202:6:30" + }, + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "12210:6:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "12185:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "12185:32:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12177:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address_t_bytes_memory_ptr_t_address_t_bytes_memory_ptr_t_uint256_t_uint256_t_int64_t_bytes_memory_ptr__to_t_address_t_address_t_bytes_memory_ptr_t_address_t_bytes_memory_ptr_t_uint256_t_uint256_t_int64_t_bytes_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11437:9:30", + "type": "" + }, + { + "name": "value8", + "nodeType": "YulTypedName", + "src": "11448:6:30", + "type": "" + }, + { + "name": "value7", + "nodeType": "YulTypedName", + "src": "11456:6:30", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "11464:6:30", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "11472:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "11480:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "11488:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "11496:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "11504:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11512:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "11523:4:30", + "type": "" + } + ], + "src": "11157:1066:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12511:499:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12521:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12533:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12544:3:30", + "type": "", + "value": "256" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12529:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12529:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12521:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12564:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12575:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12557:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12557:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12557:25:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12591:20:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12601:10:30", + "type": "", + "value": "0xffffffff" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "12595:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12631:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12642:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12627:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12627:18:30" + }, + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "12651:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "12659:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "12647:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12647:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12620:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12620:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12620:43:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12683:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12694:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12679:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12679:18:30" + }, + { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "12703:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "12711:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "12699:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12699:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12672:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12672:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12672:43:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12724:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12734:6:30", + "type": "", + "value": "0xffff" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "12728:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12760:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12771:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12756:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12756:18:30" + }, + { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "12780:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "12788:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "12776:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12776:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12749:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12749:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12749:43:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12812:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12823:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12808:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12808:19:30" + }, + { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "12833:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "12841:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "12829:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12829:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12801:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12801:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12801:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12865:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12876:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12861:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12861:19:30" + }, + { + "arguments": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "12886:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "12894:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "12882:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12882:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12854:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12854:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12854:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12918:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12929:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12914:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12914:19:30" + }, + { + "arguments": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "12939:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "12947:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "12935:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12935:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12907:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12907:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12907:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12971:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12982:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12967:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12967:19:30" + }, + { + "arguments": [ + { + "name": "value7", + "nodeType": "YulIdentifier", + "src": "12992:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "13000:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "12988:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12988:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12960:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12960:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12960:44:30" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_uint32_t_uint32_t_uint16_t_uint16_t_uint32_t_uint32_t_uint32__to_t_uint256_t_uint32_t_uint32_t_uint16_t_uint16_t_uint32_t_uint32_t_uint32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12424:9:30", + "type": "" + }, + { + "name": "value7", + "nodeType": "YulTypedName", + "src": "12435:6:30", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "12443:6:30", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "12451:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "12459:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "12467:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "12475:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "12483:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "12491:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "12502:4:30", + "type": "" + } + ], + "src": "12228:782:30" + } + ] + }, + "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_1507() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0x0240)\n if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function allocate_memory() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0x0220)\n if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function abi_decode_bytes20(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, not(sub(shl(96, 1), 1))))) { revert(0, 0) }\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_bytes(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(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 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_uint32(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffffffff))) { revert(0, 0) }\n }\n function abi_decode_int64(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, signextend(7, value))) { revert(0, 0) }\n }\n function abi_decode_uint16(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffff))) { revert(0, 0) }\n }\n function abi_decode_bool(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_struct_PeginQuote(headStart, end) -> value\n {\n if slt(sub(end, headStart), 0x0240) { revert(0, 0) }\n value := allocate_memory_1507()\n mstore(value, abi_decode_bytes20(headStart))\n mstore(add(value, 32), abi_decode_address(add(headStart, 32)))\n mstore(add(value, 64), abi_decode_address(add(headStart, 64)))\n let offset := calldataload(add(headStart, 96))\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n mstore(add(value, 96), abi_decode_bytes(add(headStart, offset), end))\n mstore(add(value, 128), abi_decode_address(add(headStart, 128)))\n let offset_1 := calldataload(add(headStart, 160))\n if gt(offset_1, _1) { revert(0, 0) }\n mstore(add(value, 160), abi_decode_bytes(add(headStart, offset_1), end))\n mstore(add(value, 192), calldataload(add(headStart, 192)))\n mstore(add(value, 224), calldataload(add(headStart, 224)))\n let _2 := 256\n mstore(add(value, _2), abi_decode_address(add(headStart, _2)))\n let _3 := 288\n let offset_2 := calldataload(add(headStart, _3))\n if gt(offset_2, _1) { revert(0, 0) }\n mstore(add(value, _3), abi_decode_bytes(add(headStart, offset_2), end))\n let _4 := 320\n mstore(add(value, _4), abi_decode_uint32(add(headStart, _4)))\n let _5 := 352\n mstore(add(value, _5), abi_decode_int64(add(headStart, _5)))\n let _6 := 384\n mstore(add(value, _6), calldataload(add(headStart, _6)))\n let _7 := 416\n mstore(add(value, _7), abi_decode_uint32(add(headStart, _7)))\n let _8 := 448\n mstore(add(value, _8), abi_decode_uint32(add(headStart, _8)))\n let _9 := 480\n mstore(add(value, _9), abi_decode_uint32(add(headStart, _9)))\n let _10 := 512\n mstore(add(value, _10), abi_decode_uint16(add(headStart, _10)))\n let _11 := 544\n mstore(add(value, _11), abi_decode_bool(add(headStart, _11)))\n }\n function abi_decode_tuple_t_struct$_PeginQuote_$9884_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n value0 := abi_decode_struct_PeginQuote(add(headStart, offset), dataEnd)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_struct$_PeginQuote_$9884_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, sub(shl(64, 1), 1)) { revert(0, 0) }\n value0 := abi_decode_struct_PeginQuote(add(headStart, offset), dataEnd)\n }\n function abi_encode_bytes(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 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_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_bytes(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_struct$_PegOutQuote_$9919_memory_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if slt(sub(dataEnd, _2), 0x0220) { revert(0, 0) }\n let value := allocate_memory()\n mstore(value, abi_decode_address(_2))\n mstore(add(value, 32), abi_decode_address(add(_2, 32)))\n let offset_1 := calldataload(add(_2, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n mstore(add(value, 64), abi_decode_bytes(add(_2, offset_1), dataEnd))\n mstore(add(value, 96), abi_decode_address(add(_2, 96)))\n let offset_2 := calldataload(add(_2, 128))\n if gt(offset_2, _1) { revert(0, 0) }\n mstore(add(value, 128), abi_decode_bytes(add(_2, offset_2), dataEnd))\n mstore(add(value, 160), calldataload(add(_2, 160)))\n mstore(add(value, 192), calldataload(add(_2, 192)))\n mstore(add(value, 224), abi_decode_int64(add(_2, 224)))\n let _3 := 256\n let offset_3 := calldataload(add(_2, _3))\n if gt(offset_3, _1) { revert(0, 0) }\n mstore(add(value, _3), abi_decode_bytes(add(_2, offset_3), dataEnd))\n let _4 := 288\n mstore(add(value, _4), calldataload(add(_2, _4)))\n let _5 := 320\n mstore(add(value, _5), abi_decode_uint32(add(_2, _5)))\n let _6 := 352\n mstore(add(value, _6), abi_decode_uint32(add(_2, _6)))\n let _7 := 384\n mstore(add(value, _7), abi_decode_uint16(add(_2, _7)))\n let _8 := 416\n mstore(add(value, _8), abi_decode_uint16(add(_2, _8)))\n let _9 := 448\n mstore(add(value, _9), abi_decode_uint32(add(_2, _9)))\n let _10 := 480\n mstore(add(value, _10), abi_decode_uint32(add(_2, _10)))\n let _11 := 512\n mstore(add(value, _11), abi_decode_uint32(add(_2, _11)))\n value0 := value\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n r := div(x, y)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_edc8872f52a3fbd4c102c7239a16e50d62a454725123fb252e7131b6a2223277__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC057\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 64)\n let tail_1 := abi_encode_bytes(value0, add(headStart, 64))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n tail := abi_encode_bytes(value1, tail_1)\n }\n function abi_encode_tuple_t_bytes20_t_address_t_address_t_bytes_memory_ptr_t_address_payable_t_bytes_memory_ptr_t_uint256_t_uint256_t_address__to_t_bytes20_t_address_t_address_t_bytes_memory_ptr_t_address_payable_t_bytes_memory_ptr_t_uint256_t_uint256_t_address__fromStack_reversed(headStart, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 288\n mstore(headStart, and(value0, not(sub(shl(96, 1), 1))))\n let _2 := sub(shl(160, 1), 1)\n mstore(add(headStart, 32), and(value1, _2))\n mstore(add(headStart, 64), and(value2, _2))\n mstore(add(headStart, 96), _1)\n let tail_1 := abi_encode_bytes(value3, add(headStart, _1))\n mstore(add(headStart, 128), and(value4, _2))\n mstore(add(headStart, 160), sub(tail_1, headStart))\n tail := abi_encode_bytes(value5, tail_1)\n mstore(add(headStart, 192), value6)\n mstore(add(headStart, 224), value7)\n mstore(add(headStart, 256), and(value8, _2))\n }\n function abi_encode_tuple_t_bytes_memory_ptr_t_uint32_t_int64_t_uint256_t_uint32_t_uint32_t_uint32_t_uint16_t_bool__to_t_bytes_memory_ptr_t_uint32_t_int64_t_uint256_t_uint32_t_uint32_t_uint32_t_uint16_t_bool__fromStack_reversed(headStart, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 288\n mstore(headStart, _1)\n tail := abi_encode_bytes(value0, add(headStart, _1))\n let _2 := 0xffffffff\n mstore(add(headStart, 32), and(value1, _2))\n mstore(add(headStart, 64), signextend(7, value2))\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), and(value4, _2))\n mstore(add(headStart, 160), and(value5, _2))\n mstore(add(headStart, 192), and(value6, _2))\n mstore(add(headStart, 224), and(value7, 0xffff))\n mstore(add(headStart, 256), iszero(iszero(value8)))\n }\n function abi_encode_tuple_t_address_t_address_t_bytes_memory_ptr_t_address_t_bytes_memory_ptr_t_uint256_t_uint256_t_int64_t_bytes_memory_ptr__to_t_address_t_address_t_bytes_memory_ptr_t_address_t_bytes_memory_ptr_t_uint256_t_uint256_t_int64_t_bytes_memory_ptr__fromStack_reversed(headStart, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 288\n let _2 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _2))\n mstore(add(headStart, 32), and(value1, _2))\n mstore(add(headStart, 64), _1)\n let tail_1 := abi_encode_bytes(value2, add(headStart, _1))\n mstore(add(headStart, 96), and(value3, _2))\n mstore(add(headStart, 128), sub(tail_1, headStart))\n let tail_2 := abi_encode_bytes(value4, tail_1)\n mstore(add(headStart, 160), value5)\n mstore(add(headStart, 192), value6)\n mstore(add(headStart, 224), signextend(7, value7))\n mstore(add(headStart, 256), sub(tail_2, headStart))\n tail := abi_encode_bytes(value8, tail_2)\n }\n function abi_encode_tuple_t_uint256_t_uint32_t_uint32_t_uint16_t_uint16_t_uint32_t_uint32_t_uint32__to_t_uint256_t_uint32_t_uint32_t_uint16_t_uint16_t_uint32_t_uint32_t_uint32__fromStack_reversed(headStart, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 256)\n mstore(headStart, value0)\n let _1 := 0xffffffff\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), and(value2, _1))\n let _2 := 0xffff\n mstore(add(headStart, 96), and(value3, _2))\n mstore(add(headStart, 128), and(value4, _2))\n mstore(add(headStart, 160), and(value5, _1))\n mstore(add(headStart, 192), and(value6, _1))\n mstore(add(headStart, 224), and(value7, _1))\n }\n}", + "id": 30, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "58:4167:25:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;58:4167:25;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "58:4167:25:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3756:466;;;;;;:::i;:::-;;:::i;:::-;;1202:284;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1492:303;;;;;;:::i;:::-;;:::i;3756:466::-;3878:17;3912:5;:13;;;3898:5;:11;;;:27;;;;:::i;:::-;3878:47;-1:-1:-1;3935:10:25;3948:20;3963:5;3878:47;3948:20;:::i;:::-;3935:33;-1:-1:-1;4163:20:25;3935:33;4163:12;:20;:::i;:::-;4142:17;:41;;4121:94;;;;-1:-1:-1;;;4121:94:25;;8711:2:30;4121:94:25;;;8693:21:30;8750:1;8730:18;;;8723:29;-1:-1:-1;;;8768:18:30;;;8761:36;8814:18;;4121:94:25;;;;;;;;3868:354;;3756:466;;:::o;1202:284::-;1285:12;1440:18;1452:5;1440:11;:18::i;:::-;1460;1472:5;1460:11;:18::i;:::-;1429:50;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1422:57;;1202:284;;;:::o;1492:303::-;1582:12;1737:24;1755:5;1737:17;:24::i;:::-;1763;1781:5;1763:17;:24::i;1801:513::-;1883:12;1954:5;:19;;;1991:5;:16;;;2025:5;:33;;;2076:5;:22;;;2116:5;:22;;;2156:5;:33;;;2207:5;:13;;;2238:5;:16;;;2272:5;:21;;;1926:381;;;;;;;;;;;;;;;;:::i;2320:468::-;2402:12;2473:5;:10;;;2501:5;:14;;;2533:5;:11;;;2562:5;:11;;;2591:5;:24;;;2633:5;:20;;;2671:5;:14;;;2703:5;:26;;;2747:5;:20;;;2445:336;;;;;;;;;;;;;;;;:::i;2794:482::-;2883:12;2954:5;:16;;;2988:5;:18;;;3024:5;:22;;;3064:5;:22;;;3104:5;:18;;;3140:5;:13;;;3171:5;:16;;;3205:5;:11;;;3234:5;:21;;;2926:343;;;;;;;;;;;;;;;;:::i;3282:468::-;3442:11;;;;;3471:24;;;;3513:22;;;;3553:26;;;;3597:27;;;;3642:18;;;;3678:16;;;;3712:17;;;;3414:329;;;;;;12557:25:30;;;;12601:10;12647:15;;;12627:18;;;12620:43;12699:15;;;3371:12:25;12679:18:30;;;12672:43;;;;12734:6;12776:15;;;12756:18;;;12749:43;12829:15;;;;12808:19;;;12801:44;12882:15;;12861:19;;;12854:44;12935:15;;12914:19;;;12907:44;12988:15;;-1:-1:-1;12967:19:30;;12960:44;3371:12:25;12529:19:30;3414:329:25;12228:782:30;14:127;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:255;218:2;212:9;260:6;248:19;;-1:-1:-1;;;;;282:34:30;;318:22;;;279:62;276:88;;;344:18;;:::i;:::-;380:2;373:22;146:255;:::o;406:250::-;473:2;467:9;515:6;503:19;;-1:-1:-1;;;;;537:34:30;;573:22;;;534:62;531:88;;;599:18;;:::i;661:177::-;729:20;;-1:-1:-1;;;;;;778:35:30;;768:46;;758:74;;828:1;825;818:12;758:74;661:177;;;:::o;843:173::-;911:20;;-1:-1:-1;;;;;960:31:30;;950:42;;940:70;;1006:1;1003;996:12;1021:718;1063:5;1116:3;1109:4;1101:6;1097:17;1093:27;1083:55;;1134:1;1131;1124:12;1083:55;1157:20;;-1:-1:-1;;;;;1226:10:30;;;1223:36;;;1239:18;;:::i;:::-;1314:2;1308:9;1282:2;1368:13;;-1:-1:-1;;1364:22:30;;;1388:2;1360:31;1356:40;1344:53;;;1412:18;;;1432:22;;;1409:46;1406:72;;;1458:18;;:::i;:::-;1498:10;1494:2;1487:22;1533:2;1525:6;1518:18;1579:3;1572:4;1567:2;1559:6;1555:15;1551:26;1548:35;1545:55;;;1596:1;1593;1586:12;1545:55;1660:2;1653:4;1645:6;1641:17;1634:4;1626:6;1622:17;1609:54;1707:1;1700:4;1695:2;1687:6;1683:15;1679:26;1672:37;1727:6;1718:15;;;;;;1021:718;;;;:::o;1744:163::-;1811:20;;1871:10;1860:22;;1850:33;;1840:61;;1897:1;1894;1887:12;1912:160;1978:20;;2038:1;2027:20;;;2017:31;;2007:59;;2062:1;2059;2052:12;2077:159;2144:20;;2204:6;2193:18;;2183:29;;2173:57;;2226:1;2223;2216:12;2241:160;2306:20;;2362:13;;2355:21;2345:32;;2335:60;;2391:1;2388;2381:12;2406:2005;2463:5;2511:6;2499:9;2494:3;2490:19;2486:32;2483:52;;;2531:1;2528;2521:12;2483:52;2553:22;;:::i;:::-;2544:31;;2598:29;2617:9;2598:29;:::i;:::-;2591:5;2584:44;2660:38;2694:2;2683:9;2679:18;2660:38;:::i;:::-;2655:2;2648:5;2644:14;2637:62;2731:38;2765:2;2754:9;2750:18;2731:38;:::i;:::-;2726:2;2715:14;;2708:62;2821:2;2806:18;;2793:32;-1:-1:-1;;;;;2874:14:30;;;2871:34;;;2901:1;2898;2891:12;2871:34;2937:45;2978:3;2969:6;2958:9;2954:22;2937:45;:::i;:::-;2932:2;2925:5;2921:14;2914:69;3016:39;3050:3;3039:9;3035:19;3016:39;:::i;:::-;3010:3;3003:5;2999:15;2992:64;3109:3;3098:9;3094:19;3081:33;3065:49;;3139:2;3129:8;3126:16;3123:36;;;3155:1;3152;3145:12;3123:36;3192:47;3235:3;3224:8;3213:9;3209:24;3192:47;:::i;:::-;3186:3;3179:5;3175:15;3168:72;3301:3;3290:9;3286:19;3273:33;3267:3;3260:5;3256:15;3249:58;3368:3;3357:9;3353:19;3340:33;3334:3;3327:5;3323:15;3316:58;3393:3;3383:13;;3428:38;3462:2;3451:9;3447:18;3428:38;:::i;:::-;3423:2;3416:5;3412:14;3405:62;3486:3;3476:13;;3542:2;3531:9;3527:18;3514:32;3571:2;3561:8;3558:16;3555:36;;;3587:1;3584;3577:12;3555:36;3623:47;3666:3;3655:8;3644:9;3640:24;3623:47;:::i;:::-;3618:2;3611:5;3607:14;3600:71;;;;3690:3;3725:37;3758:2;3747:9;3743:18;3725:37;:::i;:::-;3709:14;;;3702:61;3782:3;3817:36;3834:18;;;3817:36;:::i;:::-;3801:14;;;3794:60;3873:3;3921:18;;;3908:32;3892:14;;;3885:56;3960:3;3995:37;4013:18;;;3995:37;:::i;:::-;3979:14;;;3972:61;4052:3;4087:37;4105:18;;;4087:37;:::i;:::-;4071:14;;;4064:61;4144:3;4179:37;4197:18;;;4179:37;:::i;:::-;4163:14;;;4156:61;4237:3;4273:38;4291:19;;;4273:38;:::i;:::-;4256:15;;;4249:63;4332:3;4368:36;4384:19;;;4368:36;:::i;:::-;4351:15;;;4344:61;4355:5;2406:2005;-1:-1:-1;;2406:2005:30:o;4416:419::-;4512:6;4520;4573:2;4561:9;4552:7;4548:23;4544:32;4541:52;;;4589:1;4586;4579:12;4541:52;4616:23;;-1:-1:-1;;;;;4651:30:30;;4648:50;;;4694:1;4691;4684:12;4648:50;4717:61;4770:7;4761:6;4750:9;4746:22;4717:61;:::i;:::-;4707:71;4825:2;4810:18;;;;4797:32;;-1:-1:-1;;;;4416:419:30:o;4840:351::-;4927:6;4980:2;4968:9;4959:7;4955:23;4951:32;4948:52;;;4996:1;4993;4986:12;4948:52;5023:23;;-1:-1:-1;;;;;5058:30:30;;5055:50;;;5101:1;5098;5091:12;5055:50;5124:61;5177:7;5168:6;5157:9;5153:22;5124:61;:::i;:::-;5114:71;4840:351;-1:-1:-1;;;;4840:351:30:o;5196:422::-;5237:3;5275:5;5269:12;5302:6;5297:3;5290:19;5327:1;5337:162;5351:6;5348:1;5345:13;5337:162;;;5413:4;5469:13;;;5465:22;;5459:29;5441:11;;;5437:20;;5430:59;5366:12;5337:162;;;5341:3;5544:1;5537:4;5528:6;5523:3;5519:16;5515:27;5508:38;5607:4;5600:2;5596:7;5591:2;5583:6;5579:15;5575:29;5570:3;5566:39;5562:50;5555:57;;;5196:422;;;;:::o;5623:225::-;5778:2;5767:9;5760:21;5741:4;5798:44;5838:2;5827:9;5823:18;5815:6;5798:44;:::i;:::-;5790:52;5623:225;-1:-1:-1;;;5623:225:30:o;5853:2034::-;5941:6;5994:2;5982:9;5973:7;5969:23;5965:32;5962:52;;;6010:1;6007;6000:12;5962:52;6037:23;;-1:-1:-1;;;;;6109:14:30;;;6106:34;;;6136:1;6133;6126:12;6106:34;6159:22;;;;6215:6;6197:16;;;6193:29;6190:49;;;6235:1;6232;6225:12;6190:49;6261:17;;:::i;:::-;6301:22;6320:2;6301:22;:::i;:::-;6294:5;6287:37;6356:31;6383:2;6379;6375:11;6356:31;:::i;:::-;6351:2;6344:5;6340:14;6333:55;6434:2;6430;6426:11;6413:25;6463:2;6453:8;6450:16;6447:36;;;6479:1;6476;6469:12;6447:36;6515:44;6551:7;6540:8;6536:2;6532:17;6515:44;:::i;:::-;6510:2;6503:5;6499:14;6492:68;;6592:31;6619:2;6615;6611:11;6592:31;:::i;:::-;6587:2;6580:5;6576:14;6569:55;6670:3;6666:2;6662:12;6649:26;6700:2;6690:8;6687:16;6684:36;;;6716:1;6713;6706:12;6684:36;6753:44;6789:7;6778:8;6774:2;6770:17;6753:44;:::i;:::-;6747:3;6740:5;6736:15;6729:69;;6852:3;6848:2;6844:12;6831:26;6825:3;6818:5;6814:15;6807:51;6912:3;6908:2;6904:12;6891:26;6885:3;6878:5;6874:15;6867:51;6951:30;6976:3;6972:2;6968:12;6951:30;:::i;:::-;6945:3;6938:5;6934:15;6927:55;7001:3;7050:2;7046;7042:11;7029:25;7079:2;7069:8;7066:16;7063:36;;;7095:1;7092;7085:12;7063:36;7131:44;7167:7;7156:8;7152:2;7148:17;7131:44;:::i;:::-;7126:2;7119:5;7115:14;7108:68;;;7195:3;7185:13;;7251:2;7247;7243:11;7230:25;7225:2;7218:5;7214:14;7207:49;7275:3;7265:13;;7310:30;7336:2;7332;7328:11;7310:30;:::i;:::-;7305:2;7298:5;7294:14;7287:54;7360:3;7350:13;;7395:30;7421:2;7417;7413:11;7395:30;:::i;:::-;7390:2;7383:5;7379:14;7372:54;7445:3;7435:13;;7480:30;7506:2;7502;7498:11;7480:30;:::i;:::-;7475:2;7468:5;7464:14;7457:54;7530:3;7520:13;;7565:30;7591:2;7587;7583:11;7565:30;:::i;:::-;7560:2;7553:5;7549:14;7542:54;7615:3;7605:13;;7650:30;7676:2;7672;7668:11;7650:30;:::i;:::-;7645:2;7638:5;7634:14;7627:54;7701:3;7690:14;;7737:31;7763:3;7759:2;7755:12;7737:31;:::i;:::-;7731:3;7724:5;7720:15;7713:56;7789:3;7778:14;;7825:31;7851:3;7847:2;7843:12;7825:31;:::i;:::-;7808:15;;;7801:56;;;;7812:5;5853:2034;-1:-1:-1;;;;5853:2034:30:o;7892:127::-;7953:10;7948:3;7944:20;7941:1;7934:31;7984:4;7981:1;7974:15;8008:4;8005:1;7998:15;8024:125;8089:9;;;8110:10;;;8107:36;;;8123:18;;:::i;:::-;8024:125;;;;:::o;8154:217::-;8194:1;8220;8210:132;;8264:10;8259:3;8255:20;8252:1;8245:31;8299:4;8296:1;8289:15;8327:4;8324:1;8317:15;8210:132;-1:-1:-1;8356:9:30;;8154:217::o;8376:128::-;8443:9;;;8464:11;;;8461:37;;;8478:18;;:::i;8843:377::-;9036:2;9025:9;9018:21;8999:4;9062:44;9102:2;9091:9;9087:18;9079:6;9062:44;:::i;:::-;9154:9;9146:6;9142:22;9137:2;9126:9;9122:18;9115:50;9182:32;9207:6;9199;9182:32;:::i;:::-;9174:40;8843:377;-1:-1:-1;;;;;8843:377:30:o;9225:1021::-;-1:-1:-1;;;;;;9652:36:30;;9634:55;;-1:-1:-1;;;;;9763:15:30;;;9758:2;9743:18;;9736:43;9815:15;;;9810:2;9795:18;;9788:43;9622:3;9676:2;9847:18;;9840:30;;;9593:4;;9893:44;9918:18;;;9910:6;9893:44;:::i;:::-;9879:58;;9986:2;9978:6;9974:15;9968:3;9957:9;9953:19;9946:44;10039:9;10031:6;10027:22;10021:3;10010:9;10006:19;9999:51;10067:32;10092:6;10084;10067:32;:::i;:::-;10130:3;10115:19;;10108:35;;;;10174:3;10159:19;;10152:35;;;;-1:-1:-1;;10224:15:30;;10218:3;10203:19;;;10196:44;10059:40;9225:1021;-1:-1:-1;;;;;;9225:1021:30:o;10251:901::-;10565:4;10594:3;10624:2;10613:9;10606:21;10644:44;10684:2;10673:9;10669:18;10661:6;10644:44;:::i;:::-;10707:10;10753:15;;;10748:2;10733:18;;10726:43;10816:1;10805:21;;;;10800:2;10785:18;;10778:49;-1:-1:-1;;10858:2:30;10843:18;;10836:34;;;;10907:15;;;10901:3;10886:19;;10879:44;10960:15;;;10954:3;10939:19;;10932:44;11013:15;;;11007:3;10992:19;;10985:44;11078:6;11066:19;;;11060:3;11045:19;;11038:48;11130:14;;11123:22;11117:3;11102:19;;;11095:51;;;;10805:21;10636:52;-1:-1:-1;10251:901:30:o;11157:1066::-;-1:-1:-1;;;;;11620:15:30;;;11602:34;;11672:15;;;11667:2;11652:18;;11645:43;11552:3;11719:2;11704:18;;11697:30;;;11523:4;;11750:44;11775:18;;;11767:6;11750:44;:::i;:::-;11830:15;;;11825:2;11810:18;;11803:43;11883:22;;;11877:3;11862:19;;11855:51;11736:58;-1:-1:-1;11929:32:30;11736:58;11946:6;11929:32;:::i;:::-;11915:46;;11998:6;11992:3;11981:9;11977:19;11970:35;12042:6;12036:3;12025:9;12021:19;12014:35;12100:6;12097:1;12086:21;12080:3;12069:9;12065:19;12058:50;12157:9;12149:6;12145:22;12139:3;12128:9;12124:19;12117:51;12185:32;12210:6;12202;12185:32;:::i;:::-;12177:40;11157:1066;-1:-1:-1;;;;;;;;;;;;11157:1066:30:o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.18;\n\nlibrary Quotes {\n struct PeginQuote {\n bytes20 fedBtcAddress;\n address lbcAddress;\n address liquidityProviderRskAddress;\n bytes btcRefundAddress;\n address payable rskRefundAddress;\n bytes liquidityProviderBtcAddress;\n uint256 callFee;\n uint256 penaltyFee;\n address contractAddress;\n bytes data;\n uint32 gasLimit;\n int64 nonce;\n uint256 value;\n uint32 agreementTimestamp;\n uint32 timeForDeposit;\n uint32 callTime;\n uint16 depositConfirmations;\n bool callOnRegister;\n }\n\n struct PegOutQuote {\n address lbcAddress;\n address lpRskAddress;\n bytes btcRefundAddress;\n address rskRefundAddress;\n bytes lpBtcAddress;\n uint256 callFee;\n uint256 penaltyFee;\n int64 nonce;\n bytes deposityAddress;\n uint256 value;\n uint32 agreementTimestamp;\n uint32 depositDateLimit;\n uint16 depositConfirmations;\n uint16 transferConfirmations;\n uint32 transferTime;\n uint32 expireDate;\n uint32 expireBlock;\n }\n\n function encodeQuote(\n PeginQuote memory quote\n ) external pure returns (bytes memory) {\n // Encode in two parts because abi.encode cannot take more than 12 parameters due to stack depth limits.\n return abi.encode(encodePart1(quote), encodePart2(quote));\n }\n\n function encodePegOutQuote(\n PegOutQuote memory quote\n ) external pure returns (bytes memory) {\n // Encode in two parts because abi.encode cannot take more than 12 parameters due to stack depth limits.\n return abi.encode(encodePegOutPart1(quote), encodePegOutPart2(quote));\n }\n\n function encodePart1(\n PeginQuote memory quote\n ) private pure returns (bytes memory) {\n return\n abi.encode(\n quote.fedBtcAddress,\n quote.lbcAddress,\n quote.liquidityProviderRskAddress,\n quote.btcRefundAddress,\n quote.rskRefundAddress,\n quote.liquidityProviderBtcAddress,\n quote.callFee,\n quote.penaltyFee,\n quote.contractAddress\n );\n }\n\n function encodePart2(\n PeginQuote memory quote\n ) private pure returns (bytes memory) {\n return\n abi.encode(\n quote.data,\n quote.gasLimit,\n quote.nonce,\n quote.value,\n quote.agreementTimestamp,\n quote.timeForDeposit,\n quote.callTime,\n quote.depositConfirmations,\n quote.callOnRegister\n );\n }\n\n function encodePegOutPart1(\n PegOutQuote memory quote\n ) private pure returns (bytes memory) {\n return\n abi.encode(\n quote.lbcAddress,\n quote.lpRskAddress,\n quote.btcRefundAddress,\n quote.rskRefundAddress,\n quote.lpBtcAddress,\n quote.callFee,\n quote.penaltyFee,\n quote.nonce,\n quote.deposityAddress\n );\n }\n\n function encodePegOutPart2(\n PegOutQuote memory quote\n ) private pure returns (bytes memory) {\n return\n abi.encode(\n quote.value,\n quote.agreementTimestamp,\n quote.depositDateLimit,\n quote.depositConfirmations,\n quote.transferConfirmations,\n quote.transferTime,\n quote.expireDate,\n quote.expireBlock\n );\n }\n\n function checkAgreedAmount(\n PeginQuote memory quote,\n uint transferredAmount\n ) external pure {\n uint agreedAmount = quote.value + quote.callFee;\n uint delta = agreedAmount / 10000;\n // transferred amount should not be lower than (agreed amount - delta),\n // where delta is intended to tackle rounding problems\n require(\n transferredAmount >= agreedAmount - delta,\n \"LBC057\"\n );\n }\n\n}", + "sourcePath": "/Users/luischavez/iov/liquidity-bridge-contract/contracts/Quotes.sol", + "ast": { + "absolutePath": "project:/contracts/Quotes.sol", + "exportedSymbols": { + "Quotes": [ + 10112 + ] + }, + "id": 10113, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9847, + "literals": [ + "solidity", + "^", + "0.8", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "32:24:25" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Quotes", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "id": 10112, + "linearizedBaseContracts": [ + 10112 + ], + "name": "Quotes", + "nameLocation": "66:6:25", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Quotes.PeginQuote", + "id": 9884, + "members": [ + { + "constant": false, + "id": 9849, + "mutability": "mutable", + "name": "fedBtcAddress", + "nameLocation": "115:13:25", + "nodeType": "VariableDeclaration", + "scope": 9884, + "src": "107:21:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + }, + "typeName": { + "id": 9848, + "name": "bytes20", + "nodeType": "ElementaryTypeName", + "src": "107:7:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9851, + "mutability": "mutable", + "name": "lbcAddress", + "nameLocation": "146:10:25", + "nodeType": "VariableDeclaration", + "scope": 9884, + "src": "138:18:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9850, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "138:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9853, + "mutability": "mutable", + "name": "liquidityProviderRskAddress", + "nameLocation": "174:27:25", + "nodeType": "VariableDeclaration", + "scope": 9884, + "src": "166:35:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9852, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "166:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9855, + "mutability": "mutable", + "name": "btcRefundAddress", + "nameLocation": "217:16:25", + "nodeType": "VariableDeclaration", + "scope": 9884, + "src": "211:22:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9854, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "211:5:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9857, + "mutability": "mutable", + "name": "rskRefundAddress", + "nameLocation": "259:16:25", + "nodeType": "VariableDeclaration", + "scope": 9884, + "src": "243:32:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 9856, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "243:15:25", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9859, + "mutability": "mutable", + "name": "liquidityProviderBtcAddress", + "nameLocation": "291:27:25", + "nodeType": "VariableDeclaration", + "scope": 9884, + "src": "285:33:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9858, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "285:5:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9861, + "mutability": "mutable", + "name": "callFee", + "nameLocation": "336:7:25", + "nodeType": "VariableDeclaration", + "scope": 9884, + "src": "328:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9860, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "328:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9863, + "mutability": "mutable", + "name": "penaltyFee", + "nameLocation": "361:10:25", + "nodeType": "VariableDeclaration", + "scope": 9884, + "src": "353:18:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9862, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "353:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9865, + "mutability": "mutable", + "name": "contractAddress", + "nameLocation": "389:15:25", + "nodeType": "VariableDeclaration", + "scope": 9884, + "src": "381:23:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9864, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "381:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9867, + "mutability": "mutable", + "name": "data", + "nameLocation": "420:4:25", + "nodeType": "VariableDeclaration", + "scope": 9884, + "src": "414:10:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9866, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "414:5:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9869, + "mutability": "mutable", + "name": "gasLimit", + "nameLocation": "441:8:25", + "nodeType": "VariableDeclaration", + "scope": 9884, + "src": "434:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 9868, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "434:6:25", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9871, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "465:5:25", + "nodeType": "VariableDeclaration", + "scope": 9884, + "src": "459:11:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 9870, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "459:5:25", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9873, + "mutability": "mutable", + "name": "value", + "nameLocation": "488:5:25", + "nodeType": "VariableDeclaration", + "scope": 9884, + "src": "480:13:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9872, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "480:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9875, + "mutability": "mutable", + "name": "agreementTimestamp", + "nameLocation": "510:18:25", + "nodeType": "VariableDeclaration", + "scope": 9884, + "src": "503:25:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 9874, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "503:6:25", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9877, + "mutability": "mutable", + "name": "timeForDeposit", + "nameLocation": "545:14:25", + "nodeType": "VariableDeclaration", + "scope": 9884, + "src": "538:21:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 9876, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "538:6:25", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9879, + "mutability": "mutable", + "name": "callTime", + "nameLocation": "576:8:25", + "nodeType": "VariableDeclaration", + "scope": 9884, + "src": "569:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 9878, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "569:6:25", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9881, + "mutability": "mutable", + "name": "depositConfirmations", + "nameLocation": "601:20:25", + "nodeType": "VariableDeclaration", + "scope": 9884, + "src": "594:27:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 9880, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "594:6:25", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9883, + "mutability": "mutable", + "name": "callOnRegister", + "nameLocation": "636:14:25", + "nodeType": "VariableDeclaration", + "scope": 9884, + "src": "631:19:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9882, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "631:4:25", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "name": "PeginQuote", + "nameLocation": "86:10:25", + "nodeType": "StructDefinition", + "scope": 10112, + "src": "79:578:25", + "visibility": "public" + }, + { + "canonicalName": "Quotes.PegOutQuote", + "id": 9919, + "members": [ + { + "constant": false, + "id": 9886, + "mutability": "mutable", + "name": "lbcAddress", + "nameLocation": "700:10:25", + "nodeType": "VariableDeclaration", + "scope": 9919, + "src": "692:18:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9885, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "692:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9888, + "mutability": "mutable", + "name": "lpRskAddress", + "nameLocation": "728:12:25", + "nodeType": "VariableDeclaration", + "scope": 9919, + "src": "720:20:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9887, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "720:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9890, + "mutability": "mutable", + "name": "btcRefundAddress", + "nameLocation": "756:16:25", + "nodeType": "VariableDeclaration", + "scope": 9919, + "src": "750:22:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9889, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "750:5:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9892, + "mutability": "mutable", + "name": "rskRefundAddress", + "nameLocation": "790:16:25", + "nodeType": "VariableDeclaration", + "scope": 9919, + "src": "782:24:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9891, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "782:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9894, + "mutability": "mutable", + "name": "lpBtcAddress", + "nameLocation": "822:12:25", + "nodeType": "VariableDeclaration", + "scope": 9919, + "src": "816:18:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9893, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "816:5:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9896, + "mutability": "mutable", + "name": "callFee", + "nameLocation": "852:7:25", + "nodeType": "VariableDeclaration", + "scope": 9919, + "src": "844:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9895, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "844:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9898, + "mutability": "mutable", + "name": "penaltyFee", + "nameLocation": "877:10:25", + "nodeType": "VariableDeclaration", + "scope": 9919, + "src": "869:18:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9897, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "869:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9900, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "903:5:25", + "nodeType": "VariableDeclaration", + "scope": 9919, + "src": "897:11:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 9899, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "897:5:25", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9902, + "mutability": "mutable", + "name": "deposityAddress", + "nameLocation": "924:15:25", + "nodeType": "VariableDeclaration", + "scope": 9919, + "src": "918:21:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9901, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "918:5:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9904, + "mutability": "mutable", + "name": "value", + "nameLocation": "957:5:25", + "nodeType": "VariableDeclaration", + "scope": 9919, + "src": "949:13:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9903, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "949:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9906, + "mutability": "mutable", + "name": "agreementTimestamp", + "nameLocation": "979:18:25", + "nodeType": "VariableDeclaration", + "scope": 9919, + "src": "972:25:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 9905, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "972:6:25", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9908, + "mutability": "mutable", + "name": "depositDateLimit", + "nameLocation": "1014:16:25", + "nodeType": "VariableDeclaration", + "scope": 9919, + "src": "1007:23:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 9907, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1007:6:25", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9910, + "mutability": "mutable", + "name": "depositConfirmations", + "nameLocation": "1047:20:25", + "nodeType": "VariableDeclaration", + "scope": 9919, + "src": "1040:27:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 9909, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "1040:6:25", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9912, + "mutability": "mutable", + "name": "transferConfirmations", + "nameLocation": "1084:21:25", + "nodeType": "VariableDeclaration", + "scope": 9919, + "src": "1077:28:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 9911, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "1077:6:25", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9914, + "mutability": "mutable", + "name": "transferTime", + "nameLocation": "1122:12:25", + "nodeType": "VariableDeclaration", + "scope": 9919, + "src": "1115:19:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 9913, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1115:6:25", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9916, + "mutability": "mutable", + "name": "expireDate", + "nameLocation": "1151:10:25", + "nodeType": "VariableDeclaration", + "scope": 9919, + "src": "1144:17:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 9915, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1144:6:25", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9918, + "mutability": "mutable", + "name": "expireBlock", + "nameLocation": "1178:11:25", + "nodeType": "VariableDeclaration", + "scope": 9919, + "src": "1171:18:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 9917, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1171:6:25", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "name": "PegOutQuote", + "nameLocation": "670:11:25", + "nodeType": "StructDefinition", + "scope": 10112, + "src": "663:533:25", + "visibility": "public" + }, + { + "body": { + "id": 9937, + "nodeType": "Block", + "src": "1299:187:25", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 9930, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9922, + "src": "1452:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + ], + "id": 9929, + "name": "encodePart1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9988, + "src": "1440:11:25", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PeginQuote_$9884_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct Quotes.PeginQuote memory) pure returns (bytes memory)" + } + }, + "id": 9931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1440:18:25", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "arguments": [ + { + "id": 9933, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9922, + "src": "1472:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + ], + "id": 9932, + "name": "encodePart2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10019, + "src": "1460:11:25", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PeginQuote_$9884_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct Quotes.PeginQuote memory) pure returns (bytes memory)" + } + }, + "id": 9934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1460:18:25", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 9927, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "1429:3:25", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9928, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1433:6:25", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "1429:10:25", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 9935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1429:50:25", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 9926, + "id": 9936, + "nodeType": "Return", + "src": "1422:57:25" + } + ] + }, + "functionSelector": "3f7acc2c", + "id": 9938, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "encodeQuote", + "nameLocation": "1211:11:25", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9923, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9922, + "mutability": "mutable", + "name": "quote", + "nameLocation": "1250:5:25", + "nodeType": "VariableDeclaration", + "scope": 9938, + "src": "1232:23:25", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote" + }, + "typeName": { + "id": 9921, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9920, + "name": "PeginQuote", + "nameLocations": [ + "1232:10:25" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9884, + "src": "1232:10:25" + }, + "referencedDeclaration": 9884, + "src": "1232:10:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_storage_ptr", + "typeString": "struct Quotes.PeginQuote" + } + }, + "visibility": "internal" + } + ], + "src": "1222:39:25" + }, + "returnParameters": { + "id": 9926, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9925, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9938, + "src": "1285:12:25", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9924, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1285:5:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1284:14:25" + }, + "scope": 10112, + "src": "1202:284:25", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 9956, + "nodeType": "Block", + "src": "1596:199:25", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 9949, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9941, + "src": "1755:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + ], + "id": 9948, + "name": "encodePegOutPart1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10050, + "src": "1737:17:25", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PegOutQuote_$9919_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct Quotes.PegOutQuote memory) pure returns (bytes memory)" + } + }, + "id": 9950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1737:24:25", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "arguments": [ + { + "id": 9952, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9941, + "src": "1781:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + ], + "id": 9951, + "name": "encodePegOutPart2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10079, + "src": "1763:17:25", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PegOutQuote_$9919_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct Quotes.PegOutQuote memory) pure returns (bytes memory)" + } + }, + "id": 9953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1763:24:25", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 9946, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "1726:3:25", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1730:6:25", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "1726:10:25", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 9954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1726:62:25", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 9945, + "id": 9955, + "nodeType": "Return", + "src": "1719:69:25" + } + ] + }, + "functionSelector": "fb19b88b", + "id": 9957, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "encodePegOutQuote", + "nameLocation": "1501:17:25", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9942, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9941, + "mutability": "mutable", + "name": "quote", + "nameLocation": "1547:5:25", + "nodeType": "VariableDeclaration", + "scope": 9957, + "src": "1528:24:25", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote" + }, + "typeName": { + "id": 9940, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9939, + "name": "PegOutQuote", + "nameLocations": [ + "1528:11:25" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9919, + "src": "1528:11:25" + }, + "referencedDeclaration": 9919, + "src": "1528:11:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote" + } + }, + "visibility": "internal" + } + ], + "src": "1518:40:25" + }, + "returnParameters": { + "id": 9945, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9944, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9957, + "src": "1582:12:25", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9943, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1582:5:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1581:14:25" + }, + "scope": 10112, + "src": "1492:303:25", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 9987, + "nodeType": "Block", + "src": "1897:417:25", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 9967, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9960, + "src": "1954:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 9968, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1960:13:25", + "memberName": "fedBtcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9849, + "src": "1954:19:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + }, + { + "expression": { + "id": 9969, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9960, + "src": "1991:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 9970, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1997:10:25", + "memberName": "lbcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9851, + "src": "1991:16:25", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 9971, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9960, + "src": "2025:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 9972, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2031:27:25", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9853, + "src": "2025:33:25", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 9973, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9960, + "src": "2076:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 9974, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2082:16:25", + "memberName": "btcRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9855, + "src": "2076:22:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "expression": { + "id": 9975, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9960, + "src": "2116:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 9976, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2122:16:25", + "memberName": "rskRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9857, + "src": "2116:22:25", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "expression": { + "id": 9977, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9960, + "src": "2156:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 9978, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2162:27:25", + "memberName": "liquidityProviderBtcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9859, + "src": "2156:33:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "expression": { + "id": 9979, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9960, + "src": "2207:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 9980, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2213:7:25", + "memberName": "callFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 9861, + "src": "2207:13:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 9981, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9960, + "src": "2238:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 9982, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2244:10:25", + "memberName": "penaltyFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 9863, + "src": "2238:16:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 9983, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9960, + "src": "2272:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 9984, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2278:15:25", + "memberName": "contractAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9865, + "src": "2272:21:25", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 9965, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "1926:3:25", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9966, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1930:6:25", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "1926:10:25", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 9985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1926:381:25", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 9964, + "id": 9986, + "nodeType": "Return", + "src": "1907:400:25" + } + ] + }, + "id": 9988, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "encodePart1", + "nameLocation": "1810:11:25", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9961, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9960, + "mutability": "mutable", + "name": "quote", + "nameLocation": "1849:5:25", + "nodeType": "VariableDeclaration", + "scope": 9988, + "src": "1831:23:25", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote" + }, + "typeName": { + "id": 9959, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9958, + "name": "PeginQuote", + "nameLocations": [ + "1831:10:25" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9884, + "src": "1831:10:25" + }, + "referencedDeclaration": 9884, + "src": "1831:10:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_storage_ptr", + "typeString": "struct Quotes.PeginQuote" + } + }, + "visibility": "internal" + } + ], + "src": "1821:39:25" + }, + "returnParameters": { + "id": 9964, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9963, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 9988, + "src": "1883:12:25", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9962, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1883:5:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1882:14:25" + }, + "scope": 10112, + "src": "1801:513:25", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 10018, + "nodeType": "Block", + "src": "2416:372:25", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 9998, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9991, + "src": "2473:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 9999, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2479:4:25", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 9867, + "src": "2473:10:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "expression": { + "id": 10000, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9991, + "src": "2501:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 10001, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2507:8:25", + "memberName": "gasLimit", + "nodeType": "MemberAccess", + "referencedDeclaration": 9869, + "src": "2501:14:25", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 10002, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9991, + "src": "2533:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 10003, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2539:5:25", + "memberName": "nonce", + "nodeType": "MemberAccess", + "referencedDeclaration": 9871, + "src": "2533:11:25", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "expression": { + "id": 10004, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9991, + "src": "2562:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 10005, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2568:5:25", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 9873, + "src": "2562:11:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 10006, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9991, + "src": "2591:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 10007, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2597:18:25", + "memberName": "agreementTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 9875, + "src": "2591:24:25", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 10008, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9991, + "src": "2633:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 10009, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2639:14:25", + "memberName": "timeForDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 9877, + "src": "2633:20:25", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 10010, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9991, + "src": "2671:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 10011, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2677:8:25", + "memberName": "callTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 9879, + "src": "2671:14:25", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 10012, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9991, + "src": "2703:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 10013, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2709:20:25", + "memberName": "depositConfirmations", + "nodeType": "MemberAccess", + "referencedDeclaration": 9881, + "src": "2703:26:25", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "expression": { + "id": 10014, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9991, + "src": "2747:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 10015, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2753:14:25", + "memberName": "callOnRegister", + "nodeType": "MemberAccess", + "referencedDeclaration": 9883, + "src": "2747:20:25", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 9996, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "2445:3:25", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9997, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2449:6:25", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2445:10:25", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 10016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2445:336:25", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 9995, + "id": 10017, + "nodeType": "Return", + "src": "2426:355:25" + } + ] + }, + "id": 10019, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "encodePart2", + "nameLocation": "2329:11:25", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9992, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9991, + "mutability": "mutable", + "name": "quote", + "nameLocation": "2368:5:25", + "nodeType": "VariableDeclaration", + "scope": 10019, + "src": "2350:23:25", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote" + }, + "typeName": { + "id": 9990, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 9989, + "name": "PeginQuote", + "nameLocations": [ + "2350:10:25" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9884, + "src": "2350:10:25" + }, + "referencedDeclaration": 9884, + "src": "2350:10:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_storage_ptr", + "typeString": "struct Quotes.PeginQuote" + } + }, + "visibility": "internal" + } + ], + "src": "2340:39:25" + }, + "returnParameters": { + "id": 9995, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9994, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10019, + "src": "2402:12:25", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9993, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2402:5:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2401:14:25" + }, + "scope": 10112, + "src": "2320:468:25", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 10049, + "nodeType": "Block", + "src": "2897:379:25", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 10029, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10022, + "src": "2954:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 10030, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2960:10:25", + "memberName": "lbcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9886, + "src": "2954:16:25", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 10031, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10022, + "src": "2988:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 10032, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2994:12:25", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9888, + "src": "2988:18:25", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 10033, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10022, + "src": "3024:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 10034, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3030:16:25", + "memberName": "btcRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9890, + "src": "3024:22:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "expression": { + "id": 10035, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10022, + "src": "3064:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 10036, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3070:16:25", + "memberName": "rskRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9892, + "src": "3064:22:25", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 10037, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10022, + "src": "3104:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 10038, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3110:12:25", + "memberName": "lpBtcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9894, + "src": "3104:18:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "expression": { + "id": 10039, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10022, + "src": "3140:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 10040, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3146:7:25", + "memberName": "callFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 9896, + "src": "3140:13:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 10041, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10022, + "src": "3171:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 10042, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3177:10:25", + "memberName": "penaltyFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 9898, + "src": "3171:16:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 10043, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10022, + "src": "3205:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 10044, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3211:5:25", + "memberName": "nonce", + "nodeType": "MemberAccess", + "referencedDeclaration": 9900, + "src": "3205:11:25", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "expression": { + "id": 10045, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10022, + "src": "3234:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 10046, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3240:15:25", + "memberName": "deposityAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 9902, + "src": "3234:21:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 10027, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "2926:3:25", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10028, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2930:6:25", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2926:10:25", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 10047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2926:343:25", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 10026, + "id": 10048, + "nodeType": "Return", + "src": "2907:362:25" + } + ] + }, + "id": 10050, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "encodePegOutPart1", + "nameLocation": "2803:17:25", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10023, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10022, + "mutability": "mutable", + "name": "quote", + "nameLocation": "2849:5:25", + "nodeType": "VariableDeclaration", + "scope": 10050, + "src": "2830:24:25", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote" + }, + "typeName": { + "id": 10021, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10020, + "name": "PegOutQuote", + "nameLocations": [ + "2830:11:25" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9919, + "src": "2830:11:25" + }, + "referencedDeclaration": 9919, + "src": "2830:11:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote" + } + }, + "visibility": "internal" + } + ], + "src": "2820:40:25" + }, + "returnParameters": { + "id": 10026, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10025, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10050, + "src": "2883:12:25", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10024, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2883:5:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2882:14:25" + }, + "scope": 10112, + "src": "2794:482:25", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 10078, + "nodeType": "Block", + "src": "3385:365:25", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 10060, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10053, + "src": "3442:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 10061, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3448:5:25", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 9904, + "src": "3442:11:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 10062, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10053, + "src": "3471:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 10063, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3477:18:25", + "memberName": "agreementTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 9906, + "src": "3471:24:25", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 10064, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10053, + "src": "3513:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 10065, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3519:16:25", + "memberName": "depositDateLimit", + "nodeType": "MemberAccess", + "referencedDeclaration": 9908, + "src": "3513:22:25", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 10066, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10053, + "src": "3553:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 10067, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3559:20:25", + "memberName": "depositConfirmations", + "nodeType": "MemberAccess", + "referencedDeclaration": 9910, + "src": "3553:26:25", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "expression": { + "id": 10068, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10053, + "src": "3597:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 10069, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3603:21:25", + "memberName": "transferConfirmations", + "nodeType": "MemberAccess", + "referencedDeclaration": 9912, + "src": "3597:27:25", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "expression": { + "id": 10070, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10053, + "src": "3642:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 10071, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3648:12:25", + "memberName": "transferTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 9914, + "src": "3642:18:25", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 10072, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10053, + "src": "3678:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 10073, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3684:10:25", + "memberName": "expireDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 9916, + "src": "3678:16:25", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 10074, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10053, + "src": "3712:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote memory" + } + }, + "id": 10075, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3718:11:25", + "memberName": "expireBlock", + "nodeType": "MemberAccess", + "referencedDeclaration": 9918, + "src": "3712:17:25", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + ], + "expression": { + "id": 10058, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "3414:3:25", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10059, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3418:6:25", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "3414:10:25", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 10076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3414:329:25", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 10057, + "id": 10077, + "nodeType": "Return", + "src": "3395:348:25" + } + ] + }, + "id": 10079, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "encodePegOutPart2", + "nameLocation": "3291:17:25", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10054, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10053, + "mutability": "mutable", + "name": "quote", + "nameLocation": "3337:5:25", + "nodeType": "VariableDeclaration", + "scope": 10079, + "src": "3318:24:25", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_memory_ptr", + "typeString": "struct Quotes.PegOutQuote" + }, + "typeName": { + "id": 10052, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10051, + "name": "PegOutQuote", + "nameLocations": [ + "3318:11:25" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9919, + "src": "3318:11:25" + }, + "referencedDeclaration": 9919, + "src": "3318:11:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$9919_storage_ptr", + "typeString": "struct Quotes.PegOutQuote" + } + }, + "visibility": "internal" + } + ], + "src": "3308:40:25" + }, + "returnParameters": { + "id": 10057, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10056, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10079, + "src": "3371:12:25", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10055, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3371:5:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3370:14:25" + }, + "scope": 10112, + "src": "3282:468:25", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 10110, + "nodeType": "Block", + "src": "3868:354:25", + "statements": [ + { + "assignments": [ + 10088 + ], + "declarations": [ + { + "constant": false, + "id": 10088, + "mutability": "mutable", + "name": "agreedAmount", + "nameLocation": "3883:12:25", + "nodeType": "VariableDeclaration", + "scope": 10110, + "src": "3878:17:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10087, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3878:4:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 10094, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 10089, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10082, + "src": "3898:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 10090, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3904:5:25", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 9873, + "src": "3898:11:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 10091, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10082, + "src": "3912:5:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote memory" + } + }, + "id": 10092, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3918:7:25", + "memberName": "callFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 9861, + "src": "3912:13:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3898:27:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3878:47:25" + }, + { + "assignments": [ + 10096 + ], + "declarations": [ + { + "constant": false, + "id": 10096, + "mutability": "mutable", + "name": "delta", + "nameLocation": "3940:5:25", + "nodeType": "VariableDeclaration", + "scope": 10110, + "src": "3935:10:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10095, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3935:4:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 10100, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 10097, + "name": "agreedAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10088, + "src": "3948:12:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "hexValue": "3130303030", + "id": 10098, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3963:5:25", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000_by_1", + "typeString": "int_const 10000" + }, + "value": "10000" + }, + "src": "3948:20:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3935:33:25" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 10102, + "name": "transferredAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10084, + "src": "4142:17:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 10103, + "name": "agreedAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10088, + "src": "4163:12:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 10104, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10096, + "src": "4178:5:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4163:20:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4142:41:25", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303537", + "id": 10107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4197:8:25", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_edc8872f52a3fbd4c102c7239a16e50d62a454725123fb252e7131b6a2223277", + "typeString": "literal_string \"LBC057\"" + }, + "value": "LBC057" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_edc8872f52a3fbd4c102c7239a16e50d62a454725123fb252e7131b6a2223277", + "typeString": "literal_string \"LBC057\"" + } + ], + "id": 10101, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4121:7:25", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 10108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4121:94:25", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10109, + "nodeType": "ExpressionStatement", + "src": "4121:94:25" + } + ] + }, + "functionSelector": "039e8de4", + "id": 10111, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "checkAgreedAmount", + "nameLocation": "3765:17:25", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10085, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10082, + "mutability": "mutable", + "name": "quote", + "nameLocation": "3810:5:25", + "nodeType": "VariableDeclaration", + "scope": 10111, + "src": "3792:23:25", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_memory_ptr", + "typeString": "struct Quotes.PeginQuote" + }, + "typeName": { + "id": 10081, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10080, + "name": "PeginQuote", + "nameLocations": [ + "3792:10:25" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 9884, + "src": "3792:10:25" + }, + "referencedDeclaration": 9884, + "src": "3792:10:25", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$9884_storage_ptr", + "typeString": "struct Quotes.PeginQuote" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10084, + "mutability": "mutable", + "name": "transferredAmount", + "nameLocation": "3830:17:25", + "nodeType": "VariableDeclaration", + "scope": 10111, + "src": "3825:22:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10083, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3825:4:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3782:71:25" + }, + "returnParameters": { + "id": 10086, + "nodeType": "ParameterList", + "parameters": [], + "src": "3868:0:25" + }, + "scope": 10112, + "src": "3756:466:25", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + } + ], + "scope": 10113, + "src": "58:4167:25", + "usedErrors": [] + } + ], + "src": "32:4193:25" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": { + "31": { + "events": {}, + "links": {}, + "address": "0x82Ae9f2609FA360D73B12D735356eE467eC1445e", + "transactionHash": "0x72d9bc2ed72811e691de83e5e208e7decfaf25ecd2e41addf472bb77d4cf4d05" + } + }, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.710Z", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/QuotesV2.json b/build/contracts/QuotesV2.json new file mode 100644 index 0000000..efa4f91 --- /dev/null +++ b/build/contracts/QuotesV2.json @@ -0,0 +1,16138 @@ +{ + "contractName": "QuotesV2", + "abi": [ + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes20", + "name": "fedBtcAddress", + "type": "bytes20" + }, + { + "internalType": "address", + "name": "lbcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidityProviderRskAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "btcRefundAddress", + "type": "bytes" + }, + { + "internalType": "address payable", + "name": "rskRefundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "liquidityProviderBtcAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penaltyFee", + "type": "uint256" + }, + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint32", + "name": "gasLimit", + "type": "uint32" + }, + { + "internalType": "int64", + "name": "nonce", + "type": "int64" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "agreementTimestamp", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "timeForDeposit", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "callTime", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "depositConfirmations", + "type": "uint16" + }, + { + "internalType": "bool", + "name": "callOnRegister", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "productFeeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasFee", + "type": "uint256" + } + ], + "internalType": "struct QuotesV2.PeginQuote", + "name": "quote", + "type": "tuple" + } + ], + "name": "encodeQuote", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "lbcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "lpRskAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "btcRefundAddress", + "type": "bytes" + }, + { + "internalType": "address", + "name": "rskRefundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "lpBtcAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penaltyFee", + "type": "uint256" + }, + { + "internalType": "int64", + "name": "nonce", + "type": "int64" + }, + { + "internalType": "bytes", + "name": "deposityAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "agreementTimestamp", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "depositDateLimit", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "depositConfirmations", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "transferConfirmations", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "transferTime", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "expireDate", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "expireBlock", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "productFeeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasFee", + "type": "uint256" + } + ], + "internalType": "struct QuotesV2.PegOutQuote", + "name": "quote", + "type": "tuple" + } + ], + "name": "encodePegOutQuote", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes20", + "name": "fedBtcAddress", + "type": "bytes20" + }, + { + "internalType": "address", + "name": "lbcAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "liquidityProviderRskAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "btcRefundAddress", + "type": "bytes" + }, + { + "internalType": "address payable", + "name": "rskRefundAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "liquidityProviderBtcAddress", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "callFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "penaltyFee", + "type": "uint256" + }, + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint32", + "name": "gasLimit", + "type": "uint32" + }, + { + "internalType": "int64", + "name": "nonce", + "type": "int64" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "agreementTimestamp", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "timeForDeposit", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "callTime", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "depositConfirmations", + "type": "uint16" + }, + { + "internalType": "bool", + "name": "callOnRegister", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "productFeeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasFee", + "type": "uint256" + } + ], + "internalType": "struct QuotesV2.PeginQuote", + "name": "quote", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "transferredAmount", + "type": "uint256" + } + ], + "name": "checkAgreedAmount", + "outputs": [], + "stateMutability": "pure", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"bytes20\",\"name\":\"fedBtcAddress\",\"type\":\"bytes20\"},{\"internalType\":\"address\",\"name\":\"lbcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"liquidityProviderRskAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"btcRefundAddress\",\"type\":\"bytes\"},{\"internalType\":\"address payable\",\"name\":\"rskRefundAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"liquidityProviderBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"penaltyFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"int64\",\"name\":\"nonce\",\"type\":\"int64\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"agreementTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"timeForDeposit\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"callTime\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"depositConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"callOnRegister\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"productFeeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasFee\",\"type\":\"uint256\"}],\"internalType\":\"struct QuotesV2.PeginQuote\",\"name\":\"quote\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"transferredAmount\",\"type\":\"uint256\"}],\"name\":\"checkAgreedAmount\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"lbcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"lpRskAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"btcRefundAddress\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"rskRefundAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"lpBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"penaltyFee\",\"type\":\"uint256\"},{\"internalType\":\"int64\",\"name\":\"nonce\",\"type\":\"int64\"},{\"internalType\":\"bytes\",\"name\":\"deposityAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"agreementTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"depositDateLimit\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"depositConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"transferConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"transferTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"expireDate\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"expireBlock\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"productFeeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasFee\",\"type\":\"uint256\"}],\"internalType\":\"struct QuotesV2.PegOutQuote\",\"name\":\"quote\",\"type\":\"tuple\"}],\"name\":\"encodePegOutQuote\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes20\",\"name\":\"fedBtcAddress\",\"type\":\"bytes20\"},{\"internalType\":\"address\",\"name\":\"lbcAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"liquidityProviderRskAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"btcRefundAddress\",\"type\":\"bytes\"},{\"internalType\":\"address payable\",\"name\":\"rskRefundAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"liquidityProviderBtcAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"penaltyFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"int64\",\"name\":\"nonce\",\"type\":\"int64\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"agreementTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"timeForDeposit\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"callTime\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"depositConfirmations\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"callOnRegister\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"productFeeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasFee\",\"type\":\"uint256\"}],\"internalType\":\"struct QuotesV2.PeginQuote\",\"name\":\"quote\",\"type\":\"tuple\"}],\"name\":\"encodeQuote\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/QuotesV2.sol\":\"QuotesV2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"project:/contracts/QuotesV2.sol\":{\"keccak256\":\"0xda3afec2b2b9aae5c1747ffcd7646fd0680965743702961b08236e0cce699d35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e751b7128c53b32303e573fb14796eb0e8912d50114c8824ad307ac632725ee\",\"dweb:/ipfs/QmTyF3Dmw1d7crXtSALUsaQcHtp5cCzUo1xEtyG3uBtXAY\"]}},\"version\":1}", + "bytecode": "0x610b0661003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004a5760003560e01c8062773b791461004f5780631280c73814610078578063fa6ea3e71461008b575b600080fd5b61006261005d366004610620565b6100a0565b60405161006f91906106a2565b60405180910390f35b6100626100863660046106bc565b6100db565b61009e61009936600461087e565b6100ef565b005b60606100ab82610184565b6100b4836101cc565b6040516020016100c59291906108c2565b6040516020818303038152906040529050919050565b60606100e68261022a565b6100b483610272565b60008261026001518361024001518460c001518561018001516101129190610906565b61011c9190610906565b6101269190610906565b905060006101366127108361091f565b90506101428183610941565b83101561017e5760405162461bcd60e51b81526020600482015260066024820152654c424330353760d01b604482015260640160405180910390fd5b50505050565b6060816000015182602001518360400151846060015185608001518660a001518760c001518860e001518961010001516040516020016100c599989796959493929190610954565b6060816101200151826101400151836101600151846101800151856101a00151866101c00151876101e001518861020001518961022001518a61024001518b61026001516040516020016100c59b9a999897969594939291906109d3565b6060816000015182602001518360400151846060015185608001518660a001518760c001518860e001518961010001516040516020016100c599989796959493929190610a4c565b6101208082015161014080840151610160808601516101808701516101a08801516101c08901516101e08a01516102008b01516102208c01516102408d015160408051602081019d909d5263ffffffff9a8b16908d015296891660608c81019190915261ffff96871660808d01529590941660a08b015291871660c08a0152861660e0890152949094166101008701529585019290925291830152016100c5565b634e487b7160e01b600052604160045260246000fd5b60405161028081016001600160401b038111828210171561034c5761034c610313565b60405290565b60405161026081016001600160401b038111828210171561034c5761034c610313565b80356001600160601b03198116811461038d57600080fd5b919050565b80356001600160a01b038116811461038d57600080fd5b600082601f8301126103ba57600080fd5b81356001600160401b03808211156103d4576103d4610313565b604051601f8301601f19908116603f011681019082821181831017156103fc576103fc610313565b8160405283815286602085880101111561041557600080fd5b836020870160208301376000602085830101528094505050505092915050565b803563ffffffff8116811461038d57600080fd5b8035600781900b811461038d57600080fd5b803561ffff8116811461038d57600080fd5b8035801515811461038d57600080fd5b6000610280828403121561049057600080fd5b610498610329565b90506104a382610375565b81526104b160208301610392565b60208201526104c260408301610392565b604082015260608201356001600160401b03808211156104e157600080fd5b6104ed858386016103a9565b60608401526104fe60808501610392565b608084015260a084013591508082111561051757600080fd5b610523858386016103a9565b60a084015260c084013560c084015260e084013560e0840152610100915061054c828501610392565b828401526101209150818401358181111561056657600080fd5b610572868287016103a9565b83850152505050610140610587818401610435565b90820152610160610599838201610449565b9082015261018082810135908201526101a06105b6818401610435565b908201526101c06105c8838201610435565b908201526101e06105da838201610435565b908201526102006105ec83820161045b565b908201526102206105fe83820161046d565b9082015261024082810135908201526102609182013591810191909152919050565b60006020828403121561063257600080fd5b81356001600160401b0381111561064857600080fd5b6106548482850161047d565b949350505050565b6000815180845260005b8181101561068257602081850181015186830182015201610666565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106b5602083018461065c565b9392505050565b6000602082840312156106ce57600080fd5b81356001600160401b03808211156106e557600080fd5b9083019061026082860312156106fa57600080fd5b610702610352565b61070b83610392565b815261071960208401610392565b602082015260408301358281111561073057600080fd5b61073c878286016103a9565b60408301525061074e60608401610392565b606082015260808301358281111561076557600080fd5b610771878286016103a9565b60808301525060a083013560a082015260c083013560c082015261079760e08401610449565b60e082015261010080840135838111156107b057600080fd5b6107bc888287016103a9565b8284015250506101209150818301358282015261014091506107df828401610435565b8282015261016091506107f3828401610435565b82820152610180915061080782840161045b565b828201526101a0915061081b82840161045b565b828201526101c0915061082f828401610435565b828201526101e09150610843828401610435565b828201526102009150610857828401610435565b91810191909152610220828101359082015261024091820135918101919091529392505050565b6000806040838503121561089157600080fd5b82356001600160401b038111156108a757600080fd5b6108b38582860161047d565b95602094909401359450505050565b6040815260006108d5604083018561065c565b82810360208401526108e7818561065c565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610919576109196108f0565b92915050565b60008261093c57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610919576109196108f0565b6001600160601b03198a1681526001600160a01b0389811660208301528881166040830152610120606083018190526000916109928483018b61065c565b9150808916608085015283820360a08501526109ae828961065c565b60c085019790975260e084019590955250509116610100909101529695505050505050565b60006101608083526109e78184018f61065c565b63ffffffff9d8e16602085015260079c909c0b604084015250506060810198909852958916608088015293881660a08701529190961660c085015261ffff90951660e08401529315156101008301526101208201939093526101400191909152919050565b6001600160a01b038a81168252898116602083015261012060408301819052600091610a7a8483018c61065c565b908a16606085015283810360808501529050610a96818961065c565b90508660a08401528560c08401528460070b60e0840152828103610100840152610ac0818561065c565b9c9b50505050505050505050505056fea2646970667358221220e38a59a1f3773a883d7a22896f663f27f410c865d9addabfd56a0a26ca7916e064736f6c63430008120033", + "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061004a5760003560e01c8062773b791461004f5780631280c73814610078578063fa6ea3e71461008b575b600080fd5b61006261005d366004610620565b6100a0565b60405161006f91906106a2565b60405180910390f35b6100626100863660046106bc565b6100db565b61009e61009936600461087e565b6100ef565b005b60606100ab82610184565b6100b4836101cc565b6040516020016100c59291906108c2565b6040516020818303038152906040529050919050565b60606100e68261022a565b6100b483610272565b60008261026001518361024001518460c001518561018001516101129190610906565b61011c9190610906565b6101269190610906565b905060006101366127108361091f565b90506101428183610941565b83101561017e5760405162461bcd60e51b81526020600482015260066024820152654c424330353760d01b604482015260640160405180910390fd5b50505050565b6060816000015182602001518360400151846060015185608001518660a001518760c001518860e001518961010001516040516020016100c599989796959493929190610954565b6060816101200151826101400151836101600151846101800151856101a00151866101c00151876101e001518861020001518961022001518a61024001518b61026001516040516020016100c59b9a999897969594939291906109d3565b6060816000015182602001518360400151846060015185608001518660a001518760c001518860e001518961010001516040516020016100c599989796959493929190610a4c565b6101208082015161014080840151610160808601516101808701516101a08801516101c08901516101e08a01516102008b01516102208c01516102408d015160408051602081019d909d5263ffffffff9a8b16908d015296891660608c81019190915261ffff96871660808d01529590941660a08b015291871660c08a0152861660e0890152949094166101008701529585019290925291830152016100c5565b634e487b7160e01b600052604160045260246000fd5b60405161028081016001600160401b038111828210171561034c5761034c610313565b60405290565b60405161026081016001600160401b038111828210171561034c5761034c610313565b80356001600160601b03198116811461038d57600080fd5b919050565b80356001600160a01b038116811461038d57600080fd5b600082601f8301126103ba57600080fd5b81356001600160401b03808211156103d4576103d4610313565b604051601f8301601f19908116603f011681019082821181831017156103fc576103fc610313565b8160405283815286602085880101111561041557600080fd5b836020870160208301376000602085830101528094505050505092915050565b803563ffffffff8116811461038d57600080fd5b8035600781900b811461038d57600080fd5b803561ffff8116811461038d57600080fd5b8035801515811461038d57600080fd5b6000610280828403121561049057600080fd5b610498610329565b90506104a382610375565b81526104b160208301610392565b60208201526104c260408301610392565b604082015260608201356001600160401b03808211156104e157600080fd5b6104ed858386016103a9565b60608401526104fe60808501610392565b608084015260a084013591508082111561051757600080fd5b610523858386016103a9565b60a084015260c084013560c084015260e084013560e0840152610100915061054c828501610392565b828401526101209150818401358181111561056657600080fd5b610572868287016103a9565b83850152505050610140610587818401610435565b90820152610160610599838201610449565b9082015261018082810135908201526101a06105b6818401610435565b908201526101c06105c8838201610435565b908201526101e06105da838201610435565b908201526102006105ec83820161045b565b908201526102206105fe83820161046d565b9082015261024082810135908201526102609182013591810191909152919050565b60006020828403121561063257600080fd5b81356001600160401b0381111561064857600080fd5b6106548482850161047d565b949350505050565b6000815180845260005b8181101561068257602081850181015186830182015201610666565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106b5602083018461065c565b9392505050565b6000602082840312156106ce57600080fd5b81356001600160401b03808211156106e557600080fd5b9083019061026082860312156106fa57600080fd5b610702610352565b61070b83610392565b815261071960208401610392565b602082015260408301358281111561073057600080fd5b61073c878286016103a9565b60408301525061074e60608401610392565b606082015260808301358281111561076557600080fd5b610771878286016103a9565b60808301525060a083013560a082015260c083013560c082015261079760e08401610449565b60e082015261010080840135838111156107b057600080fd5b6107bc888287016103a9565b8284015250506101209150818301358282015261014091506107df828401610435565b8282015261016091506107f3828401610435565b82820152610180915061080782840161045b565b828201526101a0915061081b82840161045b565b828201526101c0915061082f828401610435565b828201526101e09150610843828401610435565b828201526102009150610857828401610435565b91810191909152610220828101359082015261024091820135918101919091529392505050565b6000806040838503121561089157600080fd5b82356001600160401b038111156108a757600080fd5b6108b38582860161047d565b95602094909401359450505050565b6040815260006108d5604083018561065c565b82810360208401526108e7818561065c565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610919576109196108f0565b92915050565b60008261093c57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610919576109196108f0565b6001600160601b03198a1681526001600160a01b0389811660208301528881166040830152610120606083018190526000916109928483018b61065c565b9150808916608085015283820360a08501526109ae828961065c565b60c085019790975260e084019590955250509116610100909101529695505050505050565b60006101608083526109e78184018f61065c565b63ffffffff9d8e16602085015260079c909c0b604084015250506060810198909852958916608088015293881660a08701529190961660c085015261ffff90951660e08401529315156101008301526101208201939093526101400191909152919050565b6001600160a01b038a81168252898116602083015261012060408301819052600091610a7a8483018c61065c565b908a16606085015283810360808501529050610a96818961065c565b90508660a08401528560c08401528460070b60e0840152828103610100840152610ac0818561065c565b9c9b50505050505050505050505056fea2646970667358221220e38a59a1f3773a883d7a22896f663f27f410c865d9addabfd56a0a26ca7916e064736f6c63430008120033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:13651:30", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:30", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "70:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "75:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "66:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "66:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "56:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "103:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "106:4:30", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "96:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "96:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "96:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "127:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "130:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "120:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "120:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "120:15:30" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "14:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "192:209:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "202:19:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "218:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "212:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "212:9:30" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "202:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "230:37:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "252:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "260:6:30", + "type": "", + "value": "0x0280" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "248:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "248:19:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "234:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "342:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "344:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "344:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "344:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "285:10:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "305:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "309:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "301:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "301:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "313:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "297:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "297:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "282:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "282:34:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "321:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "333:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "318:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "318:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "279:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "279:62:30" + }, + "nodeType": "YulIf", + "src": "276:88:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "380:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "384:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "373:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "373:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "373:22:30" + } + ] + }, + "name": "allocate_memory_1569", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "181:6:30", + "type": "" + } + ], + "src": "146:255:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "447:209:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "457:19:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "473:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "467:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "467:9:30" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "457:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "485:37:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "507:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "515:6:30", + "type": "", + "value": "0x0260" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "503:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "503:19:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "489:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "597:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "599:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "599:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "599:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "540:10:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "560:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "564:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "556:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "556:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "568:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "552:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "552:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "537:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "537:34:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "576:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "588:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "573:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "573:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "534:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "534:62:30" + }, + "nodeType": "YulIf", + "src": "531:88:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "635:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "639:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "628:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "628:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "628:22:30" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "436:6:30", + "type": "" + } + ], + "src": "406:250:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "710:128:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "720:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "742:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "729:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "729:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "720:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "816:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "825:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "828:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "818:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "818:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "818:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "771:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "782:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "801:2:30", + "type": "", + "value": "96" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "805:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "797:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "797:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "809:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "793:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "793:18:30" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "789:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "789:23:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "778:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "778:35:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "768:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "768:46:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "761:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "761:54:30" + }, + "nodeType": "YulIf", + "src": "758:74:30" + } + ] + }, + "name": "abi_decode_bytes20", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "689:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "700:5:30", + "type": "" + } + ], + "src": "661:177:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "892:124:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "902:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "924:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "911:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "911:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "902:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "994:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1003:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1006:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "996:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "996:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "996:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "953:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "964:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "979:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "984:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "975:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "975:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "988:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "971:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "971:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "960:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "960:31:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "950:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "950:42:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "943:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "943:50:30" + }, + "nodeType": "YulIf", + "src": "940:70:30" + } + ] + }, + "name": "abi_decode_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "871:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "882:5:30", + "type": "" + } + ], + "src": "843:173:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1073:666:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1122:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1131:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1134:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1124:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1124:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1124:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1101:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1109:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1097:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1097:17:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1116:3:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1093:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1093:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1086:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1086:35:30" + }, + "nodeType": "YulIf", + "src": "1083:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1147:30:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1170:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1157:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1157:20:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "1151:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1186:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1204:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1208:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1200:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1200:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1212:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1196:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1196:18:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "1190:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1237:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1239:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "1239:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1239:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1229:2:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1233:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1226:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1226:10:30" + }, + "nodeType": "YulIf", + "src": "1223:36:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1268:17:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1282:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "1278:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1278:7:30" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "1272:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1294:23:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1314:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1308:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "1308:9:30" + }, + "variables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1298:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1326:71:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1348:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1372:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1376:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1368:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1368:13:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1383:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1364:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1364:22:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1388:2:30", + "type": "", + "value": "63" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1360:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1360:31:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1393:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1356:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1356:40:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1344:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1344:53:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "1330:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1456:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1458:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "1458:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1458:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1415:10:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1427:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1412:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1412:18:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1435:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1447:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1432:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1432:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1409:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1409:46:30" + }, + "nodeType": "YulIf", + "src": "1406:72:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1494:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1498:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1487:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1487:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1487:22:30" + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1525:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1533:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1518:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1518:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1518:18:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1584:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1593:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1596:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1586:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1586:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1586:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1559:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1567:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1555:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1555:15:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1572:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1551:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1551:26:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1579:3:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1548:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1548:35:30" + }, + "nodeType": "YulIf", + "src": "1545:55:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1626:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1634:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1622:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1622:17:30" + }, + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1645:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1653:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1641:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1641:17:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1660:2:30" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "1609:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1609:54:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1609:54:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1687:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1695:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1683:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1683:15:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1700:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1679:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1679:26:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1707:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1672:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1672:37:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1672:37:30" + }, + { + "nodeType": "YulAssignment", + "src": "1718:15:30", + "value": { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1727:6:30" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "1718:5:30" + } + ] + } + ] + }, + "name": "abi_decode_bytes", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1047:6:30", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1055:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "1063:5:30", + "type": "" + } + ], + "src": "1021:718:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1792:115:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1802:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1824:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1811:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1811:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1802:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1885:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1894:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1897:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1887:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1887:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1887:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1853:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1864:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1871:10:30", + "type": "", + "value": "0xffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1860:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1860:22:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "1850:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1850:33:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1843:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1843:41:30" + }, + "nodeType": "YulIf", + "src": "1840:61:30" + } + ] + }, + "name": "abi_decode_uint32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1771:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1782:5:30", + "type": "" + } + ], + "src": "1744:163:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1959:113:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1969:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1991:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1978:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1978:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1969:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2050:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2059:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2062:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2052:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2052:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2052:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2020:5:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2038:1:30", + "type": "", + "value": "7" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2041:5:30" + } + ], + "functionName": { + "name": "signextend", + "nodeType": "YulIdentifier", + "src": "2027:10:30" + }, + "nodeType": "YulFunctionCall", + "src": "2027:20:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2017:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2017:31:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2010:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2010:39:30" + }, + "nodeType": "YulIf", + "src": "2007:59:30" + } + ] + }, + "name": "abi_decode_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1938:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1949:5:30", + "type": "" + } + ], + "src": "1912:160:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2125:111:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2135:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2157:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2144:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2144:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2135:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2214:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2223:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2226:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2216:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2216:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2216:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2186:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2197:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2204:6:30", + "type": "", + "value": "0xffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2193:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2193:18:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2183:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2183:29:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2176:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2176:37:30" + }, + "nodeType": "YulIf", + "src": "2173:57:30" + } + ] + }, + "name": "abi_decode_uint16", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2104:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2115:5:30", + "type": "" + } + ], + "src": "2077:159:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2287:114:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2297:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2319:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2306:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2306:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2297:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2379:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2388:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2391:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2381:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2381:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2381:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2348:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2369:5:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2362:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2362:13:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2355:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2355:21:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2345:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2345:32:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2338:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2338:40:30" + }, + "nodeType": "YulIf", + "src": "2335:60:30" + } + ] + }, + "name": "abi_decode_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2266:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2277:5:30", + "type": "" + } + ], + "src": "2241:160:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2473:2118:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2519:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2528:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2531:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2521:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2521:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2521:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2494:3:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2499:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2490:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2490:19:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2511:6:30", + "type": "", + "value": "0x0280" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2486:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2486:32:30" + }, + "nodeType": "YulIf", + "src": "2483:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "2544:31:30", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_memory_1569", + "nodeType": "YulIdentifier", + "src": "2553:20:30" + }, + "nodeType": "YulFunctionCall", + "src": "2553:22:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2544:5:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2591:5:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2617:9:30" + } + ], + "functionName": { + "name": "abi_decode_bytes20", + "nodeType": "YulIdentifier", + "src": "2598:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "2598:29:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2584:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2584:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2584:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2648:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2655:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2644:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2644:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2683:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2694:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2679:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2679:18:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "2660:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "2660:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2637:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2637:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2637:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2719:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2726:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2715:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2715:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2754:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2765:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2750:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2750:18:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "2731:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "2731:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2708:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2708:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2708:62:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2779:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2810:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2821:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2806:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2806:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2793:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "2793:32:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2783:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2834:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2852:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2856:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "2848:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2848:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2860:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2844:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2844:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "2838:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2889:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2898:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2901:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2891:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2891:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2891:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2877:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2885:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2874:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2874:14:30" + }, + "nodeType": "YulIf", + "src": "2871:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2925:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2932:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2921:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2921:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2958:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2969:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2954:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2954:22:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2978:3:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "2937:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "2937:45:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2914:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2914:69:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2914:69:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3003:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3010:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2999:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2999:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3039:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3050:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3035:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3035:19:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "3016:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "3016:39:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2992:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2992:64:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2992:64:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3065:49:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3098:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3109:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3094:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3094:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3081:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3081:33:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "3069:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3143:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3152:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3155:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3145:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3145:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3145:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "3129:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "3139:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3126:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "3126:16:30" + }, + "nodeType": "YulIf", + "src": "3123:36:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3179:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3186:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3175:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3175:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3213:9:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "3224:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3209:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3209:24:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3235:3:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "3192:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "3192:47:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3168:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3168:72:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3168:72:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3260:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3267:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3256:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3256:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3290:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3301:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3286:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3286:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3273:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3273:33:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3249:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3249:58:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3249:58:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3327:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3334:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3323:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3323:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3357:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3368:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3353:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3353:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3340:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3340:33:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3316:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3316:58:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3316:58:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3383:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3393:3:30", + "type": "", + "value": "256" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "3387:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3416:5:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "3423:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3412:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3412:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3451:9:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "3462:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3447:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3447:18:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "3428:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "3428:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3405:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3405:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3405:62:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3476:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3486:3:30", + "type": "", + "value": "288" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "3480:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3498:48:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3531:9:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "3542:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3527:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3527:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3514:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3514:32:30" + }, + "variables": [ + { + "name": "offset_2", + "nodeType": "YulTypedName", + "src": "3502:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3575:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3584:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3587:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3577:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3577:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3577:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "3561:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "3571:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3558:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "3558:16:30" + }, + "nodeType": "YulIf", + "src": "3555:36:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3611:5:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "3618:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3607:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3607:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3644:9:30" + }, + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "3655:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3640:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3640:24:30" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3666:3:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "3623:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "3623:47:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3600:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3600:71:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3600:71:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3680:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3690:3:30", + "type": "", + "value": "320" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "3684:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3713:5:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "3720:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3709:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3709:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3747:9:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "3758:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3743:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3743:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "3725:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "3725:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3702:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3702:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3702:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3772:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3782:3:30", + "type": "", + "value": "352" + }, + "variables": [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "3776:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3805:5:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "3812:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3801:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3801:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3838:9:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "3849:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3834:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3834:18:30" + } + ], + "functionName": { + "name": "abi_decode_int64", + "nodeType": "YulIdentifier", + "src": "3817:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "3817:36:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3794:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3794:60:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3794:60:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3863:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3873:3:30", + "type": "", + "value": "384" + }, + "variables": [ + { + "name": "_6", + "nodeType": "YulTypedName", + "src": "3867:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3896:5:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "3903:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3892:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3892:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3925:9:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "3936:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3921:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3921:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3908:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "3908:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3885:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3885:56:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3885:56:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3950:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3960:3:30", + "type": "", + "value": "416" + }, + "variables": [ + { + "name": "_7", + "nodeType": "YulTypedName", + "src": "3954:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3983:5:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "3990:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3979:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3979:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4017:9:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "4028:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4013:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4013:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "3995:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "3995:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3972:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3972:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3972:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4042:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4052:3:30", + "type": "", + "value": "448" + }, + "variables": [ + { + "name": "_8", + "nodeType": "YulTypedName", + "src": "4046:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4075:5:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "4082:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4071:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4071:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4109:9:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "4120:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4105:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4105:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "4087:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "4087:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4064:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4064:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4064:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4134:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4144:3:30", + "type": "", + "value": "480" + }, + "variables": [ + { + "name": "_9", + "nodeType": "YulTypedName", + "src": "4138:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4167:5:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "4174:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4163:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4163:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4201:9:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "4212:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4197:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4197:18:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "4179:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "4179:37:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4156:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4156:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4156:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4226:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4237:3:30", + "type": "", + "value": "512" + }, + "variables": [ + { + "name": "_10", + "nodeType": "YulTypedName", + "src": "4230:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4260:5:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "4267:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4256:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4256:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4295:9:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "4306:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4291:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4291:19:30" + } + ], + "functionName": { + "name": "abi_decode_uint16", + "nodeType": "YulIdentifier", + "src": "4273:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "4273:38:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4249:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4249:63:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4249:63:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4321:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4332:3:30", + "type": "", + "value": "544" + }, + "variables": [ + { + "name": "_11", + "nodeType": "YulTypedName", + "src": "4325:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4355:5:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "4362:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4351:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4351:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4388:9:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "4399:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4384:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4384:19:30" + } + ], + "functionName": { + "name": "abi_decode_bool", + "nodeType": "YulIdentifier", + "src": "4368:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "4368:36:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4344:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4344:61:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4344:61:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4414:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4425:3:30", + "type": "", + "value": "576" + }, + "variables": [ + { + "name": "_12", + "nodeType": "YulTypedName", + "src": "4418:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4448:5:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "4455:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4444:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4444:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4478:9:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "4489:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4474:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4474:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4461:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "4461:33:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4437:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4437:58:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4437:58:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4504:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4515:3:30", + "type": "", + "value": "608" + }, + "variables": [ + { + "name": "_13", + "nodeType": "YulTypedName", + "src": "4508:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4538:5:30" + }, + { + "name": "_13", + "nodeType": "YulIdentifier", + "src": "4545:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4534:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4534:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4568:9:30" + }, + { + "name": "_13", + "nodeType": "YulIdentifier", + "src": "4579:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4564:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4564:19:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4551:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "4551:33:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4527:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4527:58:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4527:58:30" + } + ] + }, + "name": "abi_decode_struct_PeginQuote", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2444:9:30", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2455:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2463:5:30", + "type": "" + } + ], + "src": "2406:2185:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4695:253:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4741:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4750:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4753:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4743:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4743:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4743:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4716:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4725:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4712:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4712:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4737:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4708:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4708:32:30" + }, + "nodeType": "YulIf", + "src": "4705:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4766:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4793:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4780:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "4780:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4770:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4846:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4855:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4858:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4848:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "4848:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4848:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4818:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4834:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4838:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "4830:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4830:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4842:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4826:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4826:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4815:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "4815:30:30" + }, + "nodeType": "YulIf", + "src": "4812:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "4871:71:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4914:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4925:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4910:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4910:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4934:7:30" + } + ], + "functionName": { + "name": "abi_decode_struct_PeginQuote", + "nodeType": "YulIdentifier", + "src": "4881:28:30" + }, + "nodeType": "YulFunctionCall", + "src": "4881:61:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4871:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_PeginQuote_$10155_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4661:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4672:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4684:6:30", + "type": "" + } + ], + "src": "4596:352:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5002:373:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5012:26:30", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5032:5:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5026:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "5026:12:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "5016:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5054:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5059:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5047:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5047:19:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5047:19:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5075:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5084:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "5079:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5146:110:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5160:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5170:4:30", + "type": "", + "value": "0x20" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "5164:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5202:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5207:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5198:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5198:11:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "5211:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5194:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5194:20:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5230:5:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5237:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5226:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5226:13:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "5241:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5222:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5222:22:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5216:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "5216:29:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5187:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5187:59:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5187:59:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5105:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5108:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "5102:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "5102:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "5116:21:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5118:17:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5127:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5130:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5123:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5123:12:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "5118:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "5098:3:30", + "statements": [] + }, + "src": "5094:162:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5280:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5285:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5276:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5276:16:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5294:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5272:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5272:27:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5301:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5265:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5265:38:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5265:38:30" + }, + { + "nodeType": "YulAssignment", + "src": "5312:57:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5327:3:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5340:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5348:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5336:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5336:15:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5357:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "5353:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5353:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5332:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5332:29:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5323:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5323:39:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5364:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5319:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5319:50:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5312:3:30" + } + ] + } + ] + }, + "name": "abi_encode_bytes", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4979:5:30", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4986:3:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4994:3:30", + "type": "" + } + ], + "src": "4953:422:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5507:98:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5524:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5535:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5517:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5517:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5517:21:30" + }, + { + "nodeType": "YulAssignment", + "src": "5547:52:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5572:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5584:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5595:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5580:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5580:18:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "5555:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "5555:44:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5547:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5476:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5487:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5498:4:30", + "type": "" + } + ], + "src": "5380:225:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5710:2101:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5756:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5765:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5768:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5758:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5758:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5758:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5731:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5740:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5727:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5727:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5752:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5723:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5723:32:30" + }, + "nodeType": "YulIf", + "src": "5720:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5781:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5808:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5795:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "5795:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5785:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5827:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5845:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5849:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "5841:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5841:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5853:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5837:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5837:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "5831:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5882:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5891:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5894:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5884:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5884:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5884:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5870:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "5878:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5867:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "5867:14:30" + }, + "nodeType": "YulIf", + "src": "5864:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5907:32:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5921:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5932:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5917:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5917:22:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "5911:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5981:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5990:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5993:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5983:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "5983:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "5983:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5959:7:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "5968:2:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5955:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5955:16:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5973:6:30", + "type": "", + "value": "0x0260" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5951:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "5951:29:30" + }, + "nodeType": "YulIf", + "src": "5948:49:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6006:30:30", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "6019:15:30" + }, + "nodeType": "YulFunctionCall", + "src": "6019:17:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6010:5:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6052:5:30" + }, + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6078:2:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "6059:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "6059:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6045:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6045:37:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6045:37:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6102:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6109:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6098:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6098:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6137:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6141:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6133:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6133:11:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "6114:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "6114:31:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6091:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6091:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6091:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6155:41:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6188:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6192:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6184:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6184:11:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6171:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6171:25:30" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "6159:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6225:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6234:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6237:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6227:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6227:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6227:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "6211:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6221:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6208:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6208:16:30" + }, + "nodeType": "YulIf", + "src": "6205:36:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6261:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6268:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6257:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6257:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6294:2:30" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "6298:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6290:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6290:17:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6309:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "6273:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "6273:44:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6250:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6250:68:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6250:68:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6338:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6345:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6334:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6334:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6373:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6377:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6369:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6369:11:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "6350:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "6350:31:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6327:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6327:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6327:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6391:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6424:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6428:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6420:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6420:12:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6407:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6407:26:30" + }, + "variables": [ + { + "name": "offset_2", + "nodeType": "YulTypedName", + "src": "6395:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6462:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6471:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6474:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6464:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6464:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6464:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "6448:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6458:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6445:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6445:16:30" + }, + "nodeType": "YulIf", + "src": "6442:36:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6498:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6505:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6494:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6494:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6532:2:30" + }, + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "6536:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6528:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6528:17:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6547:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "6511:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "6511:44:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6487:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6487:69:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6487:69:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6576:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6583:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6572:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6572:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6606:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6610:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6602:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6602:12:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6589:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6589:26:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6565:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6565:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6565:51:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6636:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6643:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6632:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6632:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6666:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6670:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6662:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6662:12:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6649:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6649:26:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6625:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6625:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6625:51:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6696:5:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6703:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6692:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6692:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6730:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6734:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6726:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6726:12:30" + } + ], + "functionName": { + "name": "abi_decode_int64", + "nodeType": "YulIdentifier", + "src": "6709:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "6709:30:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6685:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6685:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6685:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6749:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6759:3:30", + "type": "", + "value": "256" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "6753:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6771:41:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6804:2:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "6808:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6800:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6800:11:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6787:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6787:25:30" + }, + "variables": [ + { + "name": "offset_3", + "nodeType": "YulTypedName", + "src": "6775:8:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6841:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6850:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6853:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6843:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6843:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6843:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_3", + "nodeType": "YulIdentifier", + "src": "6827:8:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6837:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6824:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "6824:16:30" + }, + "nodeType": "YulIf", + "src": "6821:36:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6877:5:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "6884:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6873:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6873:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "6910:2:30" + }, + { + "name": "offset_3", + "nodeType": "YulIdentifier", + "src": "6914:8:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6906:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6906:17:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6925:7:30" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "6889:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "6889:44:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6866:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6866:68:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6866:68:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6943:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6953:3:30", + "type": "", + "value": "288" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "6947:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6976:5:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "6983:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6972:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "6972:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7005:2:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "7009:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7001:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7001:11:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6988:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "6988:25:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6965:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "6965:49:30" + }, + "nodeType": "YulExpressionStatement", + "src": "6965:49:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7023:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7033:3:30", + "type": "", + "value": "320" + }, + "variables": [ + { + "name": "_5", + "nodeType": "YulTypedName", + "src": "7027:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7056:5:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "7063:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7052:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7052:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7090:2:30" + }, + { + "name": "_5", + "nodeType": "YulIdentifier", + "src": "7094:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7086:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7086:11:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "7068:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "7068:30:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7045:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7045:54:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7045:54:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7108:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7118:3:30", + "type": "", + "value": "352" + }, + "variables": [ + { + "name": "_6", + "nodeType": "YulTypedName", + "src": "7112:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7141:5:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "7148:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7137:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7137:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7175:2:30" + }, + { + "name": "_6", + "nodeType": "YulIdentifier", + "src": "7179:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7171:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7171:11:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "7153:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "7153:30:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7130:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7130:54:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7130:54:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7193:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7203:3:30", + "type": "", + "value": "384" + }, + "variables": [ + { + "name": "_7", + "nodeType": "YulTypedName", + "src": "7197:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7226:5:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "7233:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7222:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7222:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7260:2:30" + }, + { + "name": "_7", + "nodeType": "YulIdentifier", + "src": "7264:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7256:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7256:11:30" + } + ], + "functionName": { + "name": "abi_decode_uint16", + "nodeType": "YulIdentifier", + "src": "7238:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "7238:30:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7215:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7215:54:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7215:54:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7278:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7288:3:30", + "type": "", + "value": "416" + }, + "variables": [ + { + "name": "_8", + "nodeType": "YulTypedName", + "src": "7282:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7311:5:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "7318:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7307:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7307:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7345:2:30" + }, + { + "name": "_8", + "nodeType": "YulIdentifier", + "src": "7349:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7341:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7341:11:30" + } + ], + "functionName": { + "name": "abi_decode_uint16", + "nodeType": "YulIdentifier", + "src": "7323:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "7323:30:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7300:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7300:54:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7300:54:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7363:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7373:3:30", + "type": "", + "value": "448" + }, + "variables": [ + { + "name": "_9", + "nodeType": "YulTypedName", + "src": "7367:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7396:5:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "7403:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7392:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7392:14:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7430:2:30" + }, + { + "name": "_9", + "nodeType": "YulIdentifier", + "src": "7434:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7426:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7426:11:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "7408:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "7408:30:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7385:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7385:54:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7385:54:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7448:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7459:3:30", + "type": "", + "value": "480" + }, + "variables": [ + { + "name": "_10", + "nodeType": "YulTypedName", + "src": "7452:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7482:5:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "7489:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7478:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7478:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7517:2:30" + }, + { + "name": "_10", + "nodeType": "YulIdentifier", + "src": "7521:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7513:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7513:12:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "7495:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "7495:31:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7471:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7471:56:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7471:56:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7536:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7547:3:30", + "type": "", + "value": "512" + }, + "variables": [ + { + "name": "_11", + "nodeType": "YulTypedName", + "src": "7540:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7570:5:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "7577:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7566:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7566:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7605:2:30" + }, + { + "name": "_11", + "nodeType": "YulIdentifier", + "src": "7609:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7601:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7601:12:30" + } + ], + "functionName": { + "name": "abi_decode_uint32", + "nodeType": "YulIdentifier", + "src": "7583:17:30" + }, + "nodeType": "YulFunctionCall", + "src": "7583:31:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7559:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7559:56:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7559:56:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7624:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7635:3:30", + "type": "", + "value": "544" + }, + "variables": [ + { + "name": "_12", + "nodeType": "YulTypedName", + "src": "7628:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7658:5:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "7665:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7654:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7654:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7688:2:30" + }, + { + "name": "_12", + "nodeType": "YulIdentifier", + "src": "7692:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7684:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7684:12:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7671:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "7671:26:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7647:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7647:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7647:51:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7707:14:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7718:3:30", + "type": "", + "value": "576" + }, + "variables": [ + { + "name": "_13", + "nodeType": "YulTypedName", + "src": "7711:3:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7741:5:30" + }, + { + "name": "_13", + "nodeType": "YulIdentifier", + "src": "7748:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7737:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7737:15:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "7771:2:30" + }, + { + "name": "_13", + "nodeType": "YulIdentifier", + "src": "7775:3:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7767:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7767:12:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7754:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "7754:26:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7730:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7730:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7730:51:30" + }, + { + "nodeType": "YulAssignment", + "src": "7790:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7800:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7790:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_PegOutQuote_$10194_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5676:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5687:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5699:6:30", + "type": "" + } + ], + "src": "5610:2201:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7932:304:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7978:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7987:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7990:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7980:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "7980:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "7980:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7953:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7962:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7949:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7949:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7974:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "7945:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "7945:32:30" + }, + "nodeType": "YulIf", + "src": "7942:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8003:37:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8030:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8017:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "8017:23:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8007:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8083:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8092:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8095:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8085:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8085:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8085:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8055:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8071:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8075:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "8067:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8067:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8079:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8063:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8063:18:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8052:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "8052:30:30" + }, + "nodeType": "YulIf", + "src": "8049:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "8108:71:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8151:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8162:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8147:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8147:22:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8171:7:30" + } + ], + "functionName": { + "name": "abi_decode_struct_PeginQuote", + "nodeType": "YulIdentifier", + "src": "8118:28:30" + }, + "nodeType": "YulFunctionCall", + "src": "8118:61:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8108:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8188:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8215:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8226:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8211:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8211:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8198:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "8198:32:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "8188:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_PeginQuote_$10155_memory_ptrt_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7890:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "7901:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7913:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "7921:6:30", + "type": "" + } + ], + "src": "7816:420:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8406:212:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8423:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8434:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8416:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8416:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8416:21:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8446:58:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8477:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8489:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8500:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8485:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8485:18:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "8460:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "8460:44:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "8450:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8524:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8535:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8520:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8520:18:30" + }, + { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "8544:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8552:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8540:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8540:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8513:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8513:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8513:50:30" + }, + { + "nodeType": "YulAssignment", + "src": "8572:40:30", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "8597:6:30" + }, + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "8605:6:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "8580:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "8580:32:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8572:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8367:9:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "8378:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8386:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8397:4:30", + "type": "" + } + ], + "src": "8241:377:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8655:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8672:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8679:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8684:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "8675:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8675:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8665:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8665:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8665:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8712:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8715:4:30", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8705:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8705:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8705:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8736:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8739:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8729:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8729:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8729:15:30" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "8623:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8803:77:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8813:16:30", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "8824:1:30" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "8827:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8820:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8820:9:30" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "8813:3:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8852:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "8854:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "8854:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8854:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "8844:1:30" + }, + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "8847:3:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8841:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "8841:10:30" + }, + "nodeType": "YulIf", + "src": "8838:36:30" + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "8786:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "8789:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "8795:3:30", + "type": "" + } + ], + "src": "8755:125:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8931:171:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "8962:111:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8983:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8990:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8995:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "8986:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "8986:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8976:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8976:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "8976:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9027:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9030:4:30", + "type": "", + "value": "0x12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9020:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9020:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9020:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9055:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9058:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9048:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9048:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9048:15:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "8951:1:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "8944:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "8944:9:30" + }, + "nodeType": "YulIf", + "src": "8941:132:30" + }, + { + "nodeType": "YulAssignment", + "src": "9082:14:30", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "9091:1:30" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "9094:1:30" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "9087:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9087:9:30" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "9082:1:30" + } + ] + } + ] + }, + "name": "checked_div_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "8916:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "8919:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "r", + "nodeType": "YulTypedName", + "src": "8925:1:30", + "type": "" + } + ], + "src": "8885:217:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9156:79:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9166:17:30", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "9178:1:30" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "9181:1:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9174:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9174:9:30" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "9166:4:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9207:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "9209:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "9209:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9209:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "9198:4:30" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "9204:1:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9195:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "9195:11:30" + }, + "nodeType": "YulIf", + "src": "9192:37:30" + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "9138:1:30", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "9141:1:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "9147:4:30", + "type": "" + } + ], + "src": "9107:128:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9414:155:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9431:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9442:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9424:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9424:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9424:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9465:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9476:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9461:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9461:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9481:1:30", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9454:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9454:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9454:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9503:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9514:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9499:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9499:18:30" + }, + { + "hexValue": "4c4243303537", + "kind": "string", + "nodeType": "YulLiteral", + "src": "9519:8:30", + "type": "", + "value": "LBC057" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9492:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9492:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9492:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "9537:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9549:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9560:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9545:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "9545:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9537:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_edc8872f52a3fbd4c102c7239a16e50d62a454725123fb252e7131b6a2223277__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9391:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9405:4:30", + "type": "" + } + ], + "src": "9240:329:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9951:644:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9961:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9971:3:30", + "type": "", + "value": "288" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "9965:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9990:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10005:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10025:2:30", + "type": "", + "value": "96" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10029:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "10021:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10021:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10033:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10017:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10017:18:30" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "10013:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10013:23:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10001:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10001:36:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9983:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "9983:55:30" + }, + "nodeType": "YulExpressionStatement", + "src": "9983:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "10047:29:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10065:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10070:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "10061:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10061:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10074:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10057:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10057:19:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "10051:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10096:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10107:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10092:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10092:18:30" + }, + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "10116:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "10124:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10112:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10112:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10085:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10085:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10085:43:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10148:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10159:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10144:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10144:18:30" + }, + { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "10168:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "10176:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10164:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10164:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10137:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10137:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10137:43:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10200:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10211:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10196:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10196:18:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "10216:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10189:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10189:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10189:30:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "10228:58:30", + "value": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "10259:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10271:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "10282:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10267:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10267:18:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "10242:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "10242:44:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "10232:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10306:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10317:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10302:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10302:19:30" + }, + { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "10327:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "10335:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10323:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10323:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10295:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10295:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10295:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10359:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10370:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10355:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10355:19:30" + }, + { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "10380:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10388:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10376:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10376:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10348:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10348:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10348:51:30" + }, + { + "nodeType": "YulAssignment", + "src": "10408:40:30", + "value": { + "arguments": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "10433:6:30" + }, + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "10441:6:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "10416:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "10416:32:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10408:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10468:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10479:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10464:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10464:19:30" + }, + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "10485:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10457:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10457:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10457:35:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10512:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10523:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10508:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10508:19:30" + }, + { + "name": "value7", + "nodeType": "YulIdentifier", + "src": "10529:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10501:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10501:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10501:35:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10556:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10567:3:30", + "type": "", + "value": "256" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10552:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10552:19:30" + }, + { + "arguments": [ + { + "name": "value8", + "nodeType": "YulIdentifier", + "src": "10577:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "10585:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10573:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "10573:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10545:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "10545:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "10545:44:30" + } + ] + }, + "name": "abi_encode_tuple_t_bytes20_t_address_t_address_t_bytes_memory_ptr_t_address_payable_t_bytes_memory_ptr_t_uint256_t_uint256_t_address__to_t_bytes20_t_address_t_address_t_bytes_memory_ptr_t_address_payable_t_bytes_memory_ptr_t_uint256_t_uint256_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9856:9:30", + "type": "" + }, + { + "name": "value8", + "nodeType": "YulTypedName", + "src": "9867:6:30", + "type": "" + }, + { + "name": "value7", + "nodeType": "YulTypedName", + "src": "9875:6:30", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "9883:6:30", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "9891:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "9899:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "9907:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "9915:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "9923:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9931:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9942:4:30", + "type": "" + } + ], + "src": "9574:1021:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10980:667:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10990:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11000:3:30", + "type": "", + "value": "352" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "10994:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11019:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "11030:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11012:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11012:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11012:21:30" + }, + { + "nodeType": "YulAssignment", + "src": "11042:52:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11067:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11079:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "11090:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11075:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11075:18:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "11050:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "11050:44:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11042:4:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11103:20:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11113:10:30", + "type": "", + "value": "0xffffffff" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "11107:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11143:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11154:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11139:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11139:18:30" + }, + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "11163:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "11171:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "11159:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11159:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11132:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11132:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11132:43:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11195:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11206:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11191:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11191:18:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11222:1:30", + "type": "", + "value": "7" + }, + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "11225:6:30" + } + ], + "functionName": { + "name": "signextend", + "nodeType": "YulIdentifier", + "src": "11211:10:30" + }, + "nodeType": "YulFunctionCall", + "src": "11211:21:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11184:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11184:49:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11184:49:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11253:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11264:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11249:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11249:18:30" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "11269:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11242:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11242:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11242:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11296:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11307:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11292:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11292:19:30" + }, + { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "11317:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "11325:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "11313:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11313:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11285:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11285:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11285:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11349:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11360:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11345:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11345:19:30" + }, + { + "arguments": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "11370:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "11378:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "11366:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11366:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11338:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11338:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11338:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11402:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11413:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11398:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11398:19:30" + }, + { + "arguments": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "11423:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "11431:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "11419:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11419:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11391:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11391:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11391:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11455:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11466:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11451:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11451:19:30" + }, + { + "arguments": [ + { + "name": "value7", + "nodeType": "YulIdentifier", + "src": "11476:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11484:6:30", + "type": "", + "value": "0xffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "11472:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11472:19:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11444:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11444:48:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11444:48:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11512:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11523:3:30", + "type": "", + "value": "256" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11508:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11508:19:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value8", + "nodeType": "YulIdentifier", + "src": "11543:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "11536:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11536:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "11529:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11529:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11501:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11501:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11501:51:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11572:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11583:3:30", + "type": "", + "value": "288" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11568:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11568:19:30" + }, + { + "name": "value9", + "nodeType": "YulIdentifier", + "src": "11589:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11561:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11561:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11561:35:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11616:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11627:3:30", + "type": "", + "value": "320" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11612:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "11612:19:30" + }, + { + "name": "value10", + "nodeType": "YulIdentifier", + "src": "11633:7:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11605:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "11605:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "11605:36:30" + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr_t_uint32_t_int64_t_uint256_t_uint32_t_uint32_t_uint32_t_uint16_t_bool_t_uint256_t_uint256__to_t_bytes_memory_ptr_t_uint32_t_int64_t_uint256_t_uint32_t_uint32_t_uint32_t_uint16_t_bool_t_uint256_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10868:9:30", + "type": "" + }, + { + "name": "value10", + "nodeType": "YulTypedName", + "src": "10879:7:30", + "type": "" + }, + { + "name": "value9", + "nodeType": "YulTypedName", + "src": "10888:6:30", + "type": "" + }, + { + "name": "value8", + "nodeType": "YulTypedName", + "src": "10896:6:30", + "type": "" + }, + { + "name": "value7", + "nodeType": "YulTypedName", + "src": "10904:6:30", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "10912:6:30", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "10920:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "10928:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "10936:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "10944:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "10952:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10960:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "10971:4:30", + "type": "" + } + ], + "src": "10600:1047:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12027:691:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12037:13:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12047:3:30", + "type": "", + "value": "288" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "12041:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12059:29:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12077:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12082:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "12073:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12073:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12086:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12069:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12069:19:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "12063:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12104:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12119:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "12127:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "12115:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12115:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12097:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12097:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12097:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12151:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12162:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12147:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12147:18:30" + }, + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "12171:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "12179:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "12167:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12167:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12140:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12140:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12140:43:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12203:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12214:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12199:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12199:18:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "12219:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12192:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12192:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12192:30:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12231:58:30", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "12262:6:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12274:9:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "12285:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12270:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12270:18:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "12245:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "12245:44:30" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "12235:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12309:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12320:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12305:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12305:18:30" + }, + { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "12329:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "12337:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "12325:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12325:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12298:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12298:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12298:43:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12361:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12372:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12357:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12357:19:30" + }, + { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "12382:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12390:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12378:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12378:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12350:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12350:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12350:51:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12410:46:30", + "value": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "12441:6:30" + }, + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "12449:6:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "12424:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "12424:32:30" + }, + "variables": [ + { + "name": "tail_2", + "nodeType": "YulTypedName", + "src": "12414:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12476:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12487:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12472:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12472:19:30" + }, + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "12493:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12465:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12465:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12465:35:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12520:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12531:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12516:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12516:19:30" + }, + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "12537:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12509:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12509:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12509:35:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12564:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12575:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12560:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12560:19:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12592:1:30", + "type": "", + "value": "7" + }, + { + "name": "value7", + "nodeType": "YulIdentifier", + "src": "12595:6:30" + } + ], + "functionName": { + "name": "signextend", + "nodeType": "YulIdentifier", + "src": "12581:10:30" + }, + "nodeType": "YulFunctionCall", + "src": "12581:21:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12553:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12553:50:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12553:50:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12623:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12634:3:30", + "type": "", + "value": "256" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12619:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12619:19:30" + }, + { + "arguments": [ + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "12644:6:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12652:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12640:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "12640:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12612:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "12612:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "12612:51:30" + }, + { + "nodeType": "YulAssignment", + "src": "12672:40:30", + "value": { + "arguments": [ + { + "name": "value8", + "nodeType": "YulIdentifier", + "src": "12697:6:30" + }, + { + "name": "tail_2", + "nodeType": "YulIdentifier", + "src": "12705:6:30" + } + ], + "functionName": { + "name": "abi_encode_bytes", + "nodeType": "YulIdentifier", + "src": "12680:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "12680:32:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12672:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address_t_bytes_memory_ptr_t_address_t_bytes_memory_ptr_t_uint256_t_uint256_t_int64_t_bytes_memory_ptr__to_t_address_t_address_t_bytes_memory_ptr_t_address_t_bytes_memory_ptr_t_uint256_t_uint256_t_int64_t_bytes_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11932:9:30", + "type": "" + }, + { + "name": "value8", + "nodeType": "YulTypedName", + "src": "11943:6:30", + "type": "" + }, + { + "name": "value7", + "nodeType": "YulTypedName", + "src": "11951:6:30", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "11959:6:30", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "11967:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "11975:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "11983:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "11991:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "11999:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "12007:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "12018:4:30", + "type": "" + } + ], + "src": "11652:1066:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13062:587:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13072:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13084:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13095:3:30", + "type": "", + "value": "320" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13080:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13080:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13072:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13115:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13126:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13108:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13108:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13108:25:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13142:20:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13152:10:30", + "type": "", + "value": "0xffffffff" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "13146:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13182:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13193:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13178:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13178:18:30" + }, + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "13202:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "13210:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "13198:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13198:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13171:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13171:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13171:43:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13234:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13245:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13230:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13230:18:30" + }, + { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "13254:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "13262:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "13250:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13250:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13223:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13223:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13223:43:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13275:16:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13285:6:30", + "type": "", + "value": "0xffff" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "13279:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13311:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13322:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13307:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13307:18:30" + }, + { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "13331:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "13339:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "13327:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13327:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13300:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13300:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13300:43:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13363:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13374:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13359:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13359:19:30" + }, + { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "13384:6:30" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "13392:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "13380:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13380:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13352:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13352:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13352:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13416:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13427:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13412:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13412:19:30" + }, + { + "arguments": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "13437:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "13445:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "13433:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13433:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13405:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13405:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13405:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13469:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13480:3:30", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13465:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13465:19:30" + }, + { + "arguments": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "13490:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "13498:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "13486:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13486:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13458:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13458:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13458:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13522:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13533:3:30", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13518:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13518:19:30" + }, + { + "arguments": [ + { + "name": "value7", + "nodeType": "YulIdentifier", + "src": "13543:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "13551:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "13539:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13539:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13511:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13511:44:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13511:44:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13575:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13586:3:30", + "type": "", + "value": "256" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13571:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13571:19:30" + }, + { + "name": "value8", + "nodeType": "YulIdentifier", + "src": "13592:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13564:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13564:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13564:35:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13619:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13630:3:30", + "type": "", + "value": "288" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13615:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "13615:19:30" + }, + { + "name": "value9", + "nodeType": "YulIdentifier", + "src": "13636:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13608:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "13608:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "13608:35:30" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_uint32_t_uint32_t_uint16_t_uint16_t_uint32_t_uint32_t_uint32_t_uint256_t_uint256__to_t_uint256_t_uint32_t_uint32_t_uint16_t_uint16_t_uint32_t_uint32_t_uint32_t_uint256_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12959:9:30", + "type": "" + }, + { + "name": "value9", + "nodeType": "YulTypedName", + "src": "12970:6:30", + "type": "" + }, + { + "name": "value8", + "nodeType": "YulTypedName", + "src": "12978:6:30", + "type": "" + }, + { + "name": "value7", + "nodeType": "YulTypedName", + "src": "12986:6:30", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "12994:6:30", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "13002:6:30", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "13010:6:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "13018:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "13026:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "13034:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13042:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "13053:4:30", + "type": "" + } + ], + "src": "12723:926:30" + } + ] + }, + "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_1569() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0x0280)\n if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function allocate_memory() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0x0260)\n if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function abi_decode_bytes20(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, not(sub(shl(96, 1), 1))))) { revert(0, 0) }\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_bytes(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(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 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_uint32(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffffffff))) { revert(0, 0) }\n }\n function abi_decode_int64(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, signextend(7, value))) { revert(0, 0) }\n }\n function abi_decode_uint16(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffff))) { revert(0, 0) }\n }\n function abi_decode_bool(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_struct_PeginQuote(headStart, end) -> value\n {\n if slt(sub(end, headStart), 0x0280) { revert(0, 0) }\n value := allocate_memory_1569()\n mstore(value, abi_decode_bytes20(headStart))\n mstore(add(value, 32), abi_decode_address(add(headStart, 32)))\n mstore(add(value, 64), abi_decode_address(add(headStart, 64)))\n let offset := calldataload(add(headStart, 96))\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n mstore(add(value, 96), abi_decode_bytes(add(headStart, offset), end))\n mstore(add(value, 128), abi_decode_address(add(headStart, 128)))\n let offset_1 := calldataload(add(headStart, 160))\n if gt(offset_1, _1) { revert(0, 0) }\n mstore(add(value, 160), abi_decode_bytes(add(headStart, offset_1), end))\n mstore(add(value, 192), calldataload(add(headStart, 192)))\n mstore(add(value, 224), calldataload(add(headStart, 224)))\n let _2 := 256\n mstore(add(value, _2), abi_decode_address(add(headStart, _2)))\n let _3 := 288\n let offset_2 := calldataload(add(headStart, _3))\n if gt(offset_2, _1) { revert(0, 0) }\n mstore(add(value, _3), abi_decode_bytes(add(headStart, offset_2), end))\n let _4 := 320\n mstore(add(value, _4), abi_decode_uint32(add(headStart, _4)))\n let _5 := 352\n mstore(add(value, _5), abi_decode_int64(add(headStart, _5)))\n let _6 := 384\n mstore(add(value, _6), calldataload(add(headStart, _6)))\n let _7 := 416\n mstore(add(value, _7), abi_decode_uint32(add(headStart, _7)))\n let _8 := 448\n mstore(add(value, _8), abi_decode_uint32(add(headStart, _8)))\n let _9 := 480\n mstore(add(value, _9), abi_decode_uint32(add(headStart, _9)))\n let _10 := 512\n mstore(add(value, _10), abi_decode_uint16(add(headStart, _10)))\n let _11 := 544\n mstore(add(value, _11), abi_decode_bool(add(headStart, _11)))\n let _12 := 576\n mstore(add(value, _12), calldataload(add(headStart, _12)))\n let _13 := 608\n mstore(add(value, _13), calldataload(add(headStart, _13)))\n }\n function abi_decode_tuple_t_struct$_PeginQuote_$10155_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, sub(shl(64, 1), 1)) { revert(0, 0) }\n value0 := abi_decode_struct_PeginQuote(add(headStart, offset), dataEnd)\n }\n function abi_encode_bytes(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 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_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_bytes(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_struct$_PegOutQuote_$10194_memory_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if slt(sub(dataEnd, _2), 0x0260) { revert(0, 0) }\n let value := allocate_memory()\n mstore(value, abi_decode_address(_2))\n mstore(add(value, 32), abi_decode_address(add(_2, 32)))\n let offset_1 := calldataload(add(_2, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n mstore(add(value, 64), abi_decode_bytes(add(_2, offset_1), dataEnd))\n mstore(add(value, 96), abi_decode_address(add(_2, 96)))\n let offset_2 := calldataload(add(_2, 128))\n if gt(offset_2, _1) { revert(0, 0) }\n mstore(add(value, 128), abi_decode_bytes(add(_2, offset_2), dataEnd))\n mstore(add(value, 160), calldataload(add(_2, 160)))\n mstore(add(value, 192), calldataload(add(_2, 192)))\n mstore(add(value, 224), abi_decode_int64(add(_2, 224)))\n let _3 := 256\n let offset_3 := calldataload(add(_2, _3))\n if gt(offset_3, _1) { revert(0, 0) }\n mstore(add(value, _3), abi_decode_bytes(add(_2, offset_3), dataEnd))\n let _4 := 288\n mstore(add(value, _4), calldataload(add(_2, _4)))\n let _5 := 320\n mstore(add(value, _5), abi_decode_uint32(add(_2, _5)))\n let _6 := 352\n mstore(add(value, _6), abi_decode_uint32(add(_2, _6)))\n let _7 := 384\n mstore(add(value, _7), abi_decode_uint16(add(_2, _7)))\n let _8 := 416\n mstore(add(value, _8), abi_decode_uint16(add(_2, _8)))\n let _9 := 448\n mstore(add(value, _9), abi_decode_uint32(add(_2, _9)))\n let _10 := 480\n mstore(add(value, _10), abi_decode_uint32(add(_2, _10)))\n let _11 := 512\n mstore(add(value, _11), abi_decode_uint32(add(_2, _11)))\n let _12 := 544\n mstore(add(value, _12), calldataload(add(_2, _12)))\n let _13 := 576\n mstore(add(value, _13), calldataload(add(_2, _13)))\n value0 := value\n }\n function abi_decode_tuple_t_struct$_PeginQuote_$10155_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n value0 := abi_decode_struct_PeginQuote(add(headStart, offset), dataEnd)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 64)\n let tail_1 := abi_encode_bytes(value0, add(headStart, 64))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n tail := abi_encode_bytes(value1, tail_1)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n r := div(x, y)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_edc8872f52a3fbd4c102c7239a16e50d62a454725123fb252e7131b6a2223277__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 6)\n mstore(add(headStart, 64), \"LBC057\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_bytes20_t_address_t_address_t_bytes_memory_ptr_t_address_payable_t_bytes_memory_ptr_t_uint256_t_uint256_t_address__to_t_bytes20_t_address_t_address_t_bytes_memory_ptr_t_address_payable_t_bytes_memory_ptr_t_uint256_t_uint256_t_address__fromStack_reversed(headStart, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 288\n mstore(headStart, and(value0, not(sub(shl(96, 1), 1))))\n let _2 := sub(shl(160, 1), 1)\n mstore(add(headStart, 32), and(value1, _2))\n mstore(add(headStart, 64), and(value2, _2))\n mstore(add(headStart, 96), _1)\n let tail_1 := abi_encode_bytes(value3, add(headStart, _1))\n mstore(add(headStart, 128), and(value4, _2))\n mstore(add(headStart, 160), sub(tail_1, headStart))\n tail := abi_encode_bytes(value5, tail_1)\n mstore(add(headStart, 192), value6)\n mstore(add(headStart, 224), value7)\n mstore(add(headStart, 256), and(value8, _2))\n }\n function abi_encode_tuple_t_bytes_memory_ptr_t_uint32_t_int64_t_uint256_t_uint32_t_uint32_t_uint32_t_uint16_t_bool_t_uint256_t_uint256__to_t_bytes_memory_ptr_t_uint32_t_int64_t_uint256_t_uint32_t_uint32_t_uint32_t_uint16_t_bool_t_uint256_t_uint256__fromStack_reversed(headStart, value10, value9, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 352\n mstore(headStart, _1)\n tail := abi_encode_bytes(value0, add(headStart, _1))\n let _2 := 0xffffffff\n mstore(add(headStart, 32), and(value1, _2))\n mstore(add(headStart, 64), signextend(7, value2))\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), and(value4, _2))\n mstore(add(headStart, 160), and(value5, _2))\n mstore(add(headStart, 192), and(value6, _2))\n mstore(add(headStart, 224), and(value7, 0xffff))\n mstore(add(headStart, 256), iszero(iszero(value8)))\n mstore(add(headStart, 288), value9)\n mstore(add(headStart, 320), value10)\n }\n function abi_encode_tuple_t_address_t_address_t_bytes_memory_ptr_t_address_t_bytes_memory_ptr_t_uint256_t_uint256_t_int64_t_bytes_memory_ptr__to_t_address_t_address_t_bytes_memory_ptr_t_address_t_bytes_memory_ptr_t_uint256_t_uint256_t_int64_t_bytes_memory_ptr__fromStack_reversed(headStart, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 288\n let _2 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _2))\n mstore(add(headStart, 32), and(value1, _2))\n mstore(add(headStart, 64), _1)\n let tail_1 := abi_encode_bytes(value2, add(headStart, _1))\n mstore(add(headStart, 96), and(value3, _2))\n mstore(add(headStart, 128), sub(tail_1, headStart))\n let tail_2 := abi_encode_bytes(value4, tail_1)\n mstore(add(headStart, 160), value5)\n mstore(add(headStart, 192), value6)\n mstore(add(headStart, 224), signextend(7, value7))\n mstore(add(headStart, 256), sub(tail_2, headStart))\n tail := abi_encode_bytes(value8, tail_2)\n }\n function abi_encode_tuple_t_uint256_t_uint32_t_uint32_t_uint16_t_uint16_t_uint32_t_uint32_t_uint32_t_uint256_t_uint256__to_t_uint256_t_uint32_t_uint32_t_uint16_t_uint16_t_uint32_t_uint32_t_uint32_t_uint256_t_uint256__fromStack_reversed(headStart, value9, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 320)\n mstore(headStart, value0)\n let _1 := 0xffffffff\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), and(value2, _1))\n let _2 := 0xffff\n mstore(add(headStart, 96), and(value3, _2))\n mstore(add(headStart, 128), and(value4, _2))\n mstore(add(headStart, 160), and(value5, _1))\n mstore(add(headStart, 192), and(value6, _1))\n mstore(add(headStart, 224), and(value7, _1))\n mstore(add(headStart, 256), value8)\n mstore(add(headStart, 288), value9)\n }\n}", + "id": 30, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "58:4493:26:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;58:4493:26;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "58:4493:26:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1320:284;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1610:303;;;;;;:::i;:::-;;:::i;4014:534::-;;;;;;:::i;:::-;;:::i;:::-;;1320:284;1403:12;1558:18;1570:5;1558:11;:18::i;:::-;1578;1590:5;1578:11;:18::i;:::-;1547:50;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1540:57;;1320:284;;;:::o;1610:303::-;1700:12;1855:24;1873:5;1855:17;:24::i;:::-;1881;1899:5;1881:17;:24::i;4014:534::-;4136:17;4237:5;:12;;;4212:5;:22;;;4196:5;:13;;;4182:5;:11;;;:27;;;;:::i;:::-;:52;;;;:::i;:::-;:67;;;;:::i;:::-;4167:82;-1:-1:-1;4261:10:26;4274:20;4289:5;4167:82;4274:20;:::i;:::-;4261:33;-1:-1:-1;4489:20:26;4261:33;4489:12;:20;:::i;:::-;4468:17;:41;;4447:94;;;;-1:-1:-1;;;4447:94:26;;9442:2:30;4447:94:26;;;9424:21:30;9481:1;9461:18;;;9454:29;-1:-1:-1;;;9499:18:30;;;9492:36;9545:18;;4447:94:26;;;;;;;;4126:422;;4014:534;;:::o;1919:513::-;2001:12;2072:5;:19;;;2109:5;:16;;;2143:5;:33;;;2194:5;:22;;;2234:5;:22;;;2274:5;:33;;;2325:5;:13;;;2356:5;:16;;;2390:5;:21;;;2044:381;;;;;;;;;;;;;;;;:::i;2438:538::-;2520:12;2591:5;:10;;;2619:5;:14;;;2651:5;:11;;;2680:5;:11;;;2709:5;:24;;;2751:5;:20;;;2789:5;:14;;;2821:5;:26;;;2865:5;:20;;;2903:5;:22;;;2943:5;:12;;;2563:406;;;;;;;;;;;;;;;;;;:::i;2982:482::-;3071:12;3142:5;:16;;;3176:5;:18;;;3212:5;:22;;;3252:5;:22;;;3292:5;:18;;;3328:5;:13;;;3359:5;:16;;;3393:5;:11;;;3422:5;:21;;;3114:343;;;;;;;;;;;;;;;;:::i;3470:538::-;3630:11;;;;;3659:24;;;;;3701:22;;;;;3741:26;;;;3785:27;;;;3830:18;;;;3866:16;;;;3900:17;;;;3935:22;;;;3975:12;;;;3602:399;;;;;;13108:25:30;;;;13152:10;13198:15;;;13178:18;;;13171:43;13250:15;;;3559:12:26;13230:18:30;;;13223:43;;;;13285:6;13327:15;;;13307:18;;;13300:43;13380:15;;;;13359:19;;;13352:44;13433:15;;;13412:19;;;13405:44;13486:15;;13465:19;;;13458:44;13539:15;;;;-1:-1:-1;13518:19:30;;13511:44;13571:19;;;13564:35;;;;13615:19;;;13608:35;13080:19;3602:399:26;12723:926:30;14:127;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:255;218:2;212:9;260:6;248:19;;-1:-1:-1;;;;;282:34:30;;318:22;;;279:62;276:88;;;344:18;;:::i;:::-;380:2;373:22;146:255;:::o;406:250::-;473:2;467:9;515:6;503:19;;-1:-1:-1;;;;;537:34:30;;573:22;;;534:62;531:88;;;599:18;;:::i;661:177::-;729:20;;-1:-1:-1;;;;;;778:35:30;;768:46;;758:74;;828:1;825;818:12;758:74;661:177;;;:::o;843:173::-;911:20;;-1:-1:-1;;;;;960:31:30;;950:42;;940:70;;1006:1;1003;996:12;1021:718;1063:5;1116:3;1109:4;1101:6;1097:17;1093:27;1083:55;;1134:1;1131;1124:12;1083:55;1157:20;;-1:-1:-1;;;;;1226:10:30;;;1223:36;;;1239:18;;:::i;:::-;1314:2;1308:9;1282:2;1368:13;;-1:-1:-1;;1364:22:30;;;1388:2;1360:31;1356:40;1344:53;;;1412:18;;;1432:22;;;1409:46;1406:72;;;1458:18;;:::i;:::-;1498:10;1494:2;1487:22;1533:2;1525:6;1518:18;1579:3;1572:4;1567:2;1559:6;1555:15;1551:26;1548:35;1545:55;;;1596:1;1593;1586:12;1545:55;1660:2;1653:4;1645:6;1641:17;1634:4;1626:6;1622:17;1609:54;1707:1;1700:4;1695:2;1687:6;1683:15;1679:26;1672:37;1727:6;1718:15;;;;;;1021:718;;;;:::o;1744:163::-;1811:20;;1871:10;1860:22;;1850:33;;1840:61;;1897:1;1894;1887:12;1912:160;1978:20;;2038:1;2027:20;;;2017:31;;2007:59;;2062:1;2059;2052:12;2077:159;2144:20;;2204:6;2193:18;;2183:29;;2173:57;;2226:1;2223;2216:12;2241:160;2306:20;;2362:13;;2355:21;2345:32;;2335:60;;2391:1;2388;2381:12;2406:2185;2463:5;2511:6;2499:9;2494:3;2490:19;2486:32;2483:52;;;2531:1;2528;2521:12;2483:52;2553:22;;:::i;:::-;2544:31;;2598:29;2617:9;2598:29;:::i;:::-;2591:5;2584:44;2660:38;2694:2;2683:9;2679:18;2660:38;:::i;:::-;2655:2;2648:5;2644:14;2637:62;2731:38;2765:2;2754:9;2750:18;2731:38;:::i;:::-;2726:2;2715:14;;2708:62;2821:2;2806:18;;2793:32;-1:-1:-1;;;;;2874:14:30;;;2871:34;;;2901:1;2898;2891:12;2871:34;2937:45;2978:3;2969:6;2958:9;2954:22;2937:45;:::i;:::-;2932:2;2925:5;2921:14;2914:69;3016:39;3050:3;3039:9;3035:19;3016:39;:::i;:::-;3010:3;3003:5;2999:15;2992:64;3109:3;3098:9;3094:19;3081:33;3065:49;;3139:2;3129:8;3126:16;3123:36;;;3155:1;3152;3145:12;3123:36;3192:47;3235:3;3224:8;3213:9;3209:24;3192:47;:::i;:::-;3186:3;3179:5;3175:15;3168:72;3301:3;3290:9;3286:19;3273:33;3267:3;3260:5;3256:15;3249:58;3368:3;3357:9;3353:19;3340:33;3334:3;3327:5;3323:15;3316:58;3393:3;3383:13;;3428:38;3462:2;3451:9;3447:18;3428:38;:::i;:::-;3423:2;3416:5;3412:14;3405:62;3486:3;3476:13;;3542:2;3531:9;3527:18;3514:32;3571:2;3561:8;3558:16;3555:36;;;3587:1;3584;3577:12;3555:36;3623:47;3666:3;3655:8;3644:9;3640:24;3623:47;:::i;:::-;3618:2;3611:5;3607:14;3600:71;;;;3690:3;3725:37;3758:2;3747:9;3743:18;3725:37;:::i;:::-;3709:14;;;3702:61;3782:3;3817:36;3834:18;;;3817:36;:::i;:::-;3801:14;;;3794:60;3873:3;3921:18;;;3908:32;3892:14;;;3885:56;3960:3;3995:37;4013:18;;;3995:37;:::i;:::-;3979:14;;;3972:61;4052:3;4087:37;4105:18;;;4087:37;:::i;:::-;4071:14;;;4064:61;4144:3;4179:37;4197:18;;;4179:37;:::i;:::-;4163:14;;;4156:61;4237:3;4273:38;4291:19;;;4273:38;:::i;:::-;4256:15;;;4249:63;4332:3;4368:36;4384:19;;;4368:36;:::i;:::-;4351:15;;;4344:61;4425:3;4474:19;;;4461:33;4444:15;;;4437:58;4515:3;4564:19;;;4551:33;4534:15;;;4527:58;;;;4355:5;2406:2185;-1:-1:-1;2406:2185:30:o;4596:352::-;4684:6;4737:2;4725:9;4716:7;4712:23;4708:32;4705:52;;;4753:1;4750;4743:12;4705:52;4780:23;;-1:-1:-1;;;;;4815:30:30;;4812:50;;;4858:1;4855;4848:12;4812:50;4881:61;4934:7;4925:6;4914:9;4910:22;4881:61;:::i;:::-;4871:71;4596:352;-1:-1:-1;;;;4596:352:30:o;4953:422::-;4994:3;5032:5;5026:12;5059:6;5054:3;5047:19;5084:1;5094:162;5108:6;5105:1;5102:13;5094:162;;;5170:4;5226:13;;;5222:22;;5216:29;5198:11;;;5194:20;;5187:59;5123:12;5094:162;;;5098:3;5301:1;5294:4;5285:6;5280:3;5276:16;5272:27;5265:38;5364:4;5357:2;5353:7;5348:2;5340:6;5336:15;5332:29;5327:3;5323:39;5319:50;5312:57;;;4953:422;;;;:::o;5380:225::-;5535:2;5524:9;5517:21;5498:4;5555:44;5595:2;5584:9;5580:18;5572:6;5555:44;:::i;:::-;5547:52;5380:225;-1:-1:-1;;;5380:225:30:o;5610:2201::-;5699:6;5752:2;5740:9;5731:7;5727:23;5723:32;5720:52;;;5768:1;5765;5758:12;5720:52;5795:23;;-1:-1:-1;;;;;5867:14:30;;;5864:34;;;5894:1;5891;5884:12;5864:34;5917:22;;;;5973:6;5955:16;;;5951:29;5948:49;;;5993:1;5990;5983:12;5948:49;6019:17;;:::i;:::-;6059:22;6078:2;6059:22;:::i;:::-;6052:5;6045:37;6114:31;6141:2;6137;6133:11;6114:31;:::i;:::-;6109:2;6102:5;6098:14;6091:55;6192:2;6188;6184:11;6171:25;6221:2;6211:8;6208:16;6205:36;;;6237:1;6234;6227:12;6205:36;6273:44;6309:7;6298:8;6294:2;6290:17;6273:44;:::i;:::-;6268:2;6261:5;6257:14;6250:68;;6350:31;6377:2;6373;6369:11;6350:31;:::i;:::-;6345:2;6338:5;6334:14;6327:55;6428:3;6424:2;6420:12;6407:26;6458:2;6448:8;6445:16;6442:36;;;6474:1;6471;6464:12;6442:36;6511:44;6547:7;6536:8;6532:2;6528:17;6511:44;:::i;:::-;6505:3;6498:5;6494:15;6487:69;;6610:3;6606:2;6602:12;6589:26;6583:3;6576:5;6572:15;6565:51;6670:3;6666:2;6662:12;6649:26;6643:3;6636:5;6632:15;6625:51;6709:30;6734:3;6730:2;6726:12;6709:30;:::i;:::-;6703:3;6696:5;6692:15;6685:55;6759:3;6808:2;6804;6800:11;6787:25;6837:2;6827:8;6824:16;6821:36;;;6853:1;6850;6843:12;6821:36;6889:44;6925:7;6914:8;6910:2;6906:17;6889:44;:::i;:::-;6884:2;6877:5;6873:14;6866:68;;;6953:3;6943:13;;7009:2;7005;7001:11;6988:25;6983:2;6976:5;6972:14;6965:49;7033:3;7023:13;;7068:30;7094:2;7090;7086:11;7068:30;:::i;:::-;7063:2;7056:5;7052:14;7045:54;7118:3;7108:13;;7153:30;7179:2;7175;7171:11;7153:30;:::i;:::-;7148:2;7141:5;7137:14;7130:54;7203:3;7193:13;;7238:30;7264:2;7260;7256:11;7238:30;:::i;:::-;7233:2;7226:5;7222:14;7215:54;7288:3;7278:13;;7323:30;7349:2;7345;7341:11;7323:30;:::i;:::-;7318:2;7311:5;7307:14;7300:54;7373:3;7363:13;;7408:30;7434:2;7430;7426:11;7408:30;:::i;:::-;7403:2;7396:5;7392:14;7385:54;7459:3;7448:14;;7495:31;7521:3;7517:2;7513:12;7495:31;:::i;:::-;7489:3;7482:5;7478:15;7471:56;7547:3;7536:14;;7583:31;7609:3;7605:2;7601:12;7583:31;:::i;:::-;7566:15;;;7559:56;;;;7635:3;7684:12;;;7671:26;7654:15;;;7647:51;7718:3;7767:12;;;7754:26;7737:15;;;7730:51;;;;7570:5;5610:2201;-1:-1:-1;;;5610:2201:30:o;7816:420::-;7913:6;7921;7974:2;7962:9;7953:7;7949:23;7945:32;7942:52;;;7990:1;7987;7980:12;7942:52;8017:23;;-1:-1:-1;;;;;8052:30:30;;8049:50;;;8095:1;8092;8085:12;8049:50;8118:61;8171:7;8162:6;8151:9;8147:22;8118:61;:::i;:::-;8108:71;8226:2;8211:18;;;;8198:32;;-1:-1:-1;;;;7816:420:30:o;8241:377::-;8434:2;8423:9;8416:21;8397:4;8460:44;8500:2;8489:9;8485:18;8477:6;8460:44;:::i;:::-;8552:9;8544:6;8540:22;8535:2;8524:9;8520:18;8513:50;8580:32;8605:6;8597;8580:32;:::i;:::-;8572:40;8241:377;-1:-1:-1;;;;;8241:377:30:o;8623:127::-;8684:10;8679:3;8675:20;8672:1;8665:31;8715:4;8712:1;8705:15;8739:4;8736:1;8729:15;8755:125;8820:9;;;8841:10;;;8838:36;;;8854:18;;:::i;:::-;8755:125;;;;:::o;8885:217::-;8925:1;8951;8941:132;;8995:10;8990:3;8986:20;8983:1;8976:31;9030:4;9027:1;9020:15;9058:4;9055:1;9048:15;8941:132;-1:-1:-1;9087:9:30;;8885:217::o;9107:128::-;9174:9;;;9195:11;;;9192:37;;;9209:18;;:::i;9574:1021::-;-1:-1:-1;;;;;;10001:36:30;;9983:55;;-1:-1:-1;;;;;10112:15:30;;;10107:2;10092:18;;10085:43;10164:15;;;10159:2;10144:18;;10137:43;9971:3;10025:2;10196:18;;10189:30;;;9942:4;;10242:44;10267:18;;;10259:6;10242:44;:::i;:::-;10228:58;;10335:2;10327:6;10323:15;10317:3;10306:9;10302:19;10295:44;10388:9;10380:6;10376:22;10370:3;10359:9;10355:19;10348:51;10416:32;10441:6;10433;10416:32;:::i;:::-;10479:3;10464:19;;10457:35;;;;10523:3;10508:19;;10501:35;;;;-1:-1:-1;;10573:15:30;;10567:3;10552:19;;;10545:44;10408:40;9574:1021;-1:-1:-1;;;;;;9574:1021:30:o;10600:1047::-;10971:4;11000:3;11030:2;11019:9;11012:21;11050:44;11090:2;11079:9;11075:18;11067:6;11050:44;:::i;:::-;11113:10;11159:15;;;11154:2;11139:18;;11132:43;11222:1;11211:21;;;;11206:2;11191:18;;11184:49;-1:-1:-1;;11264:2:30;11249:18;;11242:34;;;;11313:15;;;11307:3;11292:19;;11285:44;11366:15;;;11360:3;11345:19;;11338:44;11419:15;;;;11413:3;11398:19;;11391:44;11484:6;11472:19;;;11466:3;11451:19;;11444:48;11536:14;;11529:22;11523:3;11508:19;;11501:51;11583:3;11568:19;;11561:35;;;;11627:3;11612:19;11605:36;;;;11211:21;11042:52;-1:-1:-1;10600:1047:30:o;11652:1066::-;-1:-1:-1;;;;;12115:15:30;;;12097:34;;12167:15;;;12162:2;12147:18;;12140:43;12047:3;12214:2;12199:18;;12192:30;;;12018:4;;12245:44;12270:18;;;12262:6;12245:44;:::i;:::-;12325:15;;;12320:2;12305:18;;12298:43;12378:22;;;12372:3;12357:19;;12350:51;12231:58;-1:-1:-1;12424:32:30;12231:58;12441:6;12424:32;:::i;:::-;12410:46;;12493:6;12487:3;12476:9;12472:19;12465:35;12537:6;12531:3;12520:9;12516:19;12509:35;12595:6;12592:1;12581:21;12575:3;12564:9;12560:19;12553:50;12652:9;12644:6;12640:22;12634:3;12623:9;12619:19;12612:51;12680:32;12705:6;12697;12680:32;:::i;:::-;12672:40;11652:1066;-1:-1:-1;;;;;;;;;;;;11652:1066:30:o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.18;\n\nlibrary QuotesV2 {\n struct PeginQuote {\n bytes20 fedBtcAddress;\n address lbcAddress;\n address liquidityProviderRskAddress;\n bytes btcRefundAddress;\n address payable rskRefundAddress;\n bytes liquidityProviderBtcAddress;\n uint256 callFee;\n uint256 penaltyFee;\n address contractAddress;\n bytes data;\n uint32 gasLimit;\n int64 nonce;\n uint256 value;\n uint32 agreementTimestamp;\n uint32 timeForDeposit;\n uint32 callTime;\n uint16 depositConfirmations;\n bool callOnRegister;\n uint256 productFeeAmount;\n uint256 gasFee;\n }\n\n struct PegOutQuote {\n address lbcAddress;\n address lpRskAddress;\n bytes btcRefundAddress;\n address rskRefundAddress;\n bytes lpBtcAddress;\n uint256 callFee;\n uint256 penaltyFee;\n int64 nonce;\n bytes deposityAddress;\n uint256 value;\n uint32 agreementTimestamp;\n uint32 depositDateLimit;\n uint16 depositConfirmations;\n uint16 transferConfirmations;\n uint32 transferTime;\n uint32 expireDate;\n uint32 expireBlock;\n uint256 productFeeAmount;\n uint256 gasFee;\n }\n\n function encodeQuote(\n PeginQuote memory quote\n ) external pure returns (bytes memory) {\n // Encode in two parts because abi.encode cannot take more than 12 parameters due to stack depth limits.\n return abi.encode(encodePart1(quote), encodePart2(quote));\n }\n\n function encodePegOutQuote(\n PegOutQuote memory quote\n ) external pure returns (bytes memory) {\n // Encode in two parts because abi.encode cannot take more than 12 parameters due to stack depth limits.\n return abi.encode(encodePegOutPart1(quote), encodePegOutPart2(quote));\n }\n\n function encodePart1(\n PeginQuote memory quote\n ) private pure returns (bytes memory) {\n return\n abi.encode(\n quote.fedBtcAddress,\n quote.lbcAddress,\n quote.liquidityProviderRskAddress,\n quote.btcRefundAddress,\n quote.rskRefundAddress,\n quote.liquidityProviderBtcAddress,\n quote.callFee,\n quote.penaltyFee,\n quote.contractAddress\n );\n }\n\n function encodePart2(\n PeginQuote memory quote\n ) private pure returns (bytes memory) {\n return\n abi.encode(\n quote.data,\n quote.gasLimit,\n quote.nonce,\n quote.value,\n quote.agreementTimestamp,\n quote.timeForDeposit,\n quote.callTime,\n quote.depositConfirmations,\n quote.callOnRegister,\n quote.productFeeAmount,\n quote.gasFee\n );\n }\n\n function encodePegOutPart1(\n PegOutQuote memory quote\n ) private pure returns (bytes memory) {\n return\n abi.encode(\n quote.lbcAddress,\n quote.lpRskAddress,\n quote.btcRefundAddress,\n quote.rskRefundAddress,\n quote.lpBtcAddress,\n quote.callFee,\n quote.penaltyFee,\n quote.nonce,\n quote.deposityAddress\n );\n }\n\n function encodePegOutPart2(\n PegOutQuote memory quote\n ) private pure returns (bytes memory) {\n return\n abi.encode(\n quote.value,\n quote.agreementTimestamp,\n quote.depositDateLimit,\n quote.depositConfirmations,\n quote.transferConfirmations,\n quote.transferTime,\n quote.expireDate,\n quote.expireBlock,\n quote.productFeeAmount,\n quote.gasFee\n );\n }\n\n function checkAgreedAmount(\n PeginQuote memory quote,\n uint transferredAmount\n ) external pure {\n uint agreedAmount = 0;\n agreedAmount = quote.value + quote.callFee + quote.productFeeAmount + quote.gasFee;\n\n\n uint delta = agreedAmount / 10000;\n // transferred amount should not be lower than (agreed amount - delta),\n // where delta is intended to tackle rounding problems\n require(\n transferredAmount >= agreedAmount - delta,\n \"LBC057\"\n );\n }\n\n}", + "sourcePath": "/Users/luischavez/iov/liquidity-bridge-contract/contracts/QuotesV2.sol", + "ast": { + "absolutePath": "project:/contracts/QuotesV2.sol", + "exportedSymbols": { + "QuotesV2": [ + 10405 + ] + }, + "id": 10406, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 10114, + "literals": [ + "solidity", + "^", + "0.8", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "32:24:26" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "QuotesV2", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "id": 10405, + "linearizedBaseContracts": [ + 10405 + ], + "name": "QuotesV2", + "nameLocation": "66:8:26", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "QuotesV2.PeginQuote", + "id": 10155, + "members": [ + { + "constant": false, + "id": 10116, + "mutability": "mutable", + "name": "fedBtcAddress", + "nameLocation": "117:13:26", + "nodeType": "VariableDeclaration", + "scope": 10155, + "src": "109:21:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + }, + "typeName": { + "id": 10115, + "name": "bytes20", + "nodeType": "ElementaryTypeName", + "src": "109:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10118, + "mutability": "mutable", + "name": "lbcAddress", + "nameLocation": "148:10:26", + "nodeType": "VariableDeclaration", + "scope": 10155, + "src": "140:18:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10117, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "140:7:26", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10120, + "mutability": "mutable", + "name": "liquidityProviderRskAddress", + "nameLocation": "176:27:26", + "nodeType": "VariableDeclaration", + "scope": 10155, + "src": "168:35:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10119, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "168:7:26", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10122, + "mutability": "mutable", + "name": "btcRefundAddress", + "nameLocation": "219:16:26", + "nodeType": "VariableDeclaration", + "scope": 10155, + "src": "213:22:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10121, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "213:5:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10124, + "mutability": "mutable", + "name": "rskRefundAddress", + "nameLocation": "261:16:26", + "nodeType": "VariableDeclaration", + "scope": 10155, + "src": "245:32:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 10123, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "245:15:26", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10126, + "mutability": "mutable", + "name": "liquidityProviderBtcAddress", + "nameLocation": "293:27:26", + "nodeType": "VariableDeclaration", + "scope": 10155, + "src": "287:33:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10125, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "287:5:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10128, + "mutability": "mutable", + "name": "callFee", + "nameLocation": "338:7:26", + "nodeType": "VariableDeclaration", + "scope": 10155, + "src": "330:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10127, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "330:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10130, + "mutability": "mutable", + "name": "penaltyFee", + "nameLocation": "363:10:26", + "nodeType": "VariableDeclaration", + "scope": 10155, + "src": "355:18:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "355:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10132, + "mutability": "mutable", + "name": "contractAddress", + "nameLocation": "391:15:26", + "nodeType": "VariableDeclaration", + "scope": 10155, + "src": "383:23:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10131, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "383:7:26", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10134, + "mutability": "mutable", + "name": "data", + "nameLocation": "422:4:26", + "nodeType": "VariableDeclaration", + "scope": 10155, + "src": "416:10:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10133, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "416:5:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10136, + "mutability": "mutable", + "name": "gasLimit", + "nameLocation": "443:8:26", + "nodeType": "VariableDeclaration", + "scope": 10155, + "src": "436:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 10135, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "436:6:26", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10138, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "467:5:26", + "nodeType": "VariableDeclaration", + "scope": 10155, + "src": "461:11:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 10137, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "461:5:26", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10140, + "mutability": "mutable", + "name": "value", + "nameLocation": "490:5:26", + "nodeType": "VariableDeclaration", + "scope": 10155, + "src": "482:13:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10139, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "482:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10142, + "mutability": "mutable", + "name": "agreementTimestamp", + "nameLocation": "512:18:26", + "nodeType": "VariableDeclaration", + "scope": 10155, + "src": "505:25:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 10141, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "505:6:26", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10144, + "mutability": "mutable", + "name": "timeForDeposit", + "nameLocation": "547:14:26", + "nodeType": "VariableDeclaration", + "scope": 10155, + "src": "540:21:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 10143, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "540:6:26", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10146, + "mutability": "mutable", + "name": "callTime", + "nameLocation": "578:8:26", + "nodeType": "VariableDeclaration", + "scope": 10155, + "src": "571:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 10145, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "571:6:26", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10148, + "mutability": "mutable", + "name": "depositConfirmations", + "nameLocation": "603:20:26", + "nodeType": "VariableDeclaration", + "scope": 10155, + "src": "596:27:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 10147, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "596:6:26", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10150, + "mutability": "mutable", + "name": "callOnRegister", + "nameLocation": "638:14:26", + "nodeType": "VariableDeclaration", + "scope": 10155, + "src": "633:19:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10149, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "633:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10152, + "mutability": "mutable", + "name": "productFeeAmount", + "nameLocation": "670:16:26", + "nodeType": "VariableDeclaration", + "scope": 10155, + "src": "662:24:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10151, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "662:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10154, + "mutability": "mutable", + "name": "gasFee", + "nameLocation": "704:6:26", + "nodeType": "VariableDeclaration", + "scope": 10155, + "src": "696:14:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10153, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "696:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "PeginQuote", + "nameLocation": "88:10:26", + "nodeType": "StructDefinition", + "scope": 10405, + "src": "81:636:26", + "visibility": "public" + }, + { + "canonicalName": "QuotesV2.PegOutQuote", + "id": 10194, + "members": [ + { + "constant": false, + "id": 10157, + "mutability": "mutable", + "name": "lbcAddress", + "nameLocation": "760:10:26", + "nodeType": "VariableDeclaration", + "scope": 10194, + "src": "752:18:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10156, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "752:7:26", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10159, + "mutability": "mutable", + "name": "lpRskAddress", + "nameLocation": "788:12:26", + "nodeType": "VariableDeclaration", + "scope": 10194, + "src": "780:20:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10158, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "780:7:26", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10161, + "mutability": "mutable", + "name": "btcRefundAddress", + "nameLocation": "816:16:26", + "nodeType": "VariableDeclaration", + "scope": 10194, + "src": "810:22:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10160, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "810:5:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10163, + "mutability": "mutable", + "name": "rskRefundAddress", + "nameLocation": "850:16:26", + "nodeType": "VariableDeclaration", + "scope": 10194, + "src": "842:24:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10162, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "842:7:26", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10165, + "mutability": "mutable", + "name": "lpBtcAddress", + "nameLocation": "882:12:26", + "nodeType": "VariableDeclaration", + "scope": 10194, + "src": "876:18:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10164, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "876:5:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10167, + "mutability": "mutable", + "name": "callFee", + "nameLocation": "912:7:26", + "nodeType": "VariableDeclaration", + "scope": 10194, + "src": "904:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10166, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "904:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10169, + "mutability": "mutable", + "name": "penaltyFee", + "nameLocation": "937:10:26", + "nodeType": "VariableDeclaration", + "scope": 10194, + "src": "929:18:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10168, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "929:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10171, + "mutability": "mutable", + "name": "nonce", + "nameLocation": "963:5:26", + "nodeType": "VariableDeclaration", + "scope": 10194, + "src": "957:11:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 10170, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "957:5:26", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10173, + "mutability": "mutable", + "name": "deposityAddress", + "nameLocation": "984:15:26", + "nodeType": "VariableDeclaration", + "scope": 10194, + "src": "978:21:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10172, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "978:5:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10175, + "mutability": "mutable", + "name": "value", + "nameLocation": "1017:5:26", + "nodeType": "VariableDeclaration", + "scope": 10194, + "src": "1009:13:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10174, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1009:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10177, + "mutability": "mutable", + "name": "agreementTimestamp", + "nameLocation": "1039:18:26", + "nodeType": "VariableDeclaration", + "scope": 10194, + "src": "1032:25:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 10176, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1032:6:26", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10179, + "mutability": "mutable", + "name": "depositDateLimit", + "nameLocation": "1074:16:26", + "nodeType": "VariableDeclaration", + "scope": 10194, + "src": "1067:23:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 10178, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1067:6:26", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10181, + "mutability": "mutable", + "name": "depositConfirmations", + "nameLocation": "1107:20:26", + "nodeType": "VariableDeclaration", + "scope": 10194, + "src": "1100:27:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 10180, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "1100:6:26", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10183, + "mutability": "mutable", + "name": "transferConfirmations", + "nameLocation": "1144:21:26", + "nodeType": "VariableDeclaration", + "scope": 10194, + "src": "1137:28:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + "typeName": { + "id": 10182, + "name": "uint16", + "nodeType": "ElementaryTypeName", + "src": "1137:6:26", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10185, + "mutability": "mutable", + "name": "transferTime", + "nameLocation": "1182:12:26", + "nodeType": "VariableDeclaration", + "scope": 10194, + "src": "1175:19:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 10184, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1175:6:26", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10187, + "mutability": "mutable", + "name": "expireDate", + "nameLocation": "1211:10:26", + "nodeType": "VariableDeclaration", + "scope": 10194, + "src": "1204:17:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 10186, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1204:6:26", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10189, + "mutability": "mutable", + "name": "expireBlock", + "nameLocation": "1238:11:26", + "nodeType": "VariableDeclaration", + "scope": 10194, + "src": "1231:18:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 10188, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1231:6:26", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10191, + "mutability": "mutable", + "name": "productFeeAmount", + "nameLocation": "1267:16:26", + "nodeType": "VariableDeclaration", + "scope": 10194, + "src": "1259:24:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10190, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1259:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10193, + "mutability": "mutable", + "name": "gasFee", + "nameLocation": "1301:6:26", + "nodeType": "VariableDeclaration", + "scope": 10194, + "src": "1293:14:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10192, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1293:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "PegOutQuote", + "nameLocation": "730:11:26", + "nodeType": "StructDefinition", + "scope": 10405, + "src": "723:591:26", + "visibility": "public" + }, + { + "body": { + "id": 10212, + "nodeType": "Block", + "src": "1417:187:26", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 10205, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10197, + "src": "1570:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + ], + "id": 10204, + "name": "encodePart1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10263, + "src": "1558:11:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PeginQuote_$10155_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct QuotesV2.PeginQuote memory) pure returns (bytes memory)" + } + }, + "id": 10206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1558:18:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "arguments": [ + { + "id": 10208, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10197, + "src": "1590:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + ], + "id": 10207, + "name": "encodePart2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10298, + "src": "1578:11:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PeginQuote_$10155_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct QuotesV2.PeginQuote memory) pure returns (bytes memory)" + } + }, + "id": 10209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1578:18:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 10202, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "1547:3:26", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10203, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1551:6:26", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "1547:10:26", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 10210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1547:50:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 10201, + "id": 10211, + "nodeType": "Return", + "src": "1540:57:26" + } + ] + }, + "functionSelector": "00773b79", + "id": 10213, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "encodeQuote", + "nameLocation": "1329:11:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10198, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10197, + "mutability": "mutable", + "name": "quote", + "nameLocation": "1368:5:26", + "nodeType": "VariableDeclaration", + "scope": 10213, + "src": "1350:23:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote" + }, + "typeName": { + "id": 10196, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10195, + "name": "PeginQuote", + "nameLocations": [ + "1350:10:26" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10155, + "src": "1350:10:26" + }, + "referencedDeclaration": 10155, + "src": "1350:10:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_storage_ptr", + "typeString": "struct QuotesV2.PeginQuote" + } + }, + "visibility": "internal" + } + ], + "src": "1340:39:26" + }, + "returnParameters": { + "id": 10201, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10200, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10213, + "src": "1403:12:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10199, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1403:5:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1402:14:26" + }, + "scope": 10405, + "src": "1320:284:26", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 10231, + "nodeType": "Block", + "src": "1714:199:26", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 10224, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10216, + "src": "1873:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + ], + "id": 10223, + "name": "encodePegOutPart1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10329, + "src": "1855:17:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PegOutQuote_$10194_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct QuotesV2.PegOutQuote memory) pure returns (bytes memory)" + } + }, + "id": 10225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1855:24:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "arguments": [ + { + "id": 10227, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10216, + "src": "1899:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + ], + "id": 10226, + "name": "encodePegOutPart2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10362, + "src": "1881:17:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PegOutQuote_$10194_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (struct QuotesV2.PegOutQuote memory) pure returns (bytes memory)" + } + }, + "id": 10228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1881:24:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 10221, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "1844:3:26", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10222, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1848:6:26", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "1844:10:26", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 10229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1844:62:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 10220, + "id": 10230, + "nodeType": "Return", + "src": "1837:69:26" + } + ] + }, + "functionSelector": "1280c738", + "id": 10232, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "encodePegOutQuote", + "nameLocation": "1619:17:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10217, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10216, + "mutability": "mutable", + "name": "quote", + "nameLocation": "1665:5:26", + "nodeType": "VariableDeclaration", + "scope": 10232, + "src": "1646:24:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + }, + "typeName": { + "id": 10215, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10214, + "name": "PegOutQuote", + "nameLocations": [ + "1646:11:26" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10194, + "src": "1646:11:26" + }, + "referencedDeclaration": 10194, + "src": "1646:11:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + } + }, + "visibility": "internal" + } + ], + "src": "1636:40:26" + }, + "returnParameters": { + "id": 10220, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10219, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10232, + "src": "1700:12:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10218, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1700:5:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1699:14:26" + }, + "scope": 10405, + "src": "1610:303:26", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 10262, + "nodeType": "Block", + "src": "2015:417:26", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 10242, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10235, + "src": "2072:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10243, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2078:13:26", + "memberName": "fedBtcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10116, + "src": "2072:19:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + }, + { + "expression": { + "id": 10244, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10235, + "src": "2109:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10245, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2115:10:26", + "memberName": "lbcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10118, + "src": "2109:16:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 10246, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10235, + "src": "2143:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10247, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2149:27:26", + "memberName": "liquidityProviderRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10120, + "src": "2143:33:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 10248, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10235, + "src": "2194:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10249, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2200:16:26", + "memberName": "btcRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10122, + "src": "2194:22:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "expression": { + "id": 10250, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10235, + "src": "2234:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10251, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2240:16:26", + "memberName": "rskRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10124, + "src": "2234:22:26", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "expression": { + "id": 10252, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10235, + "src": "2274:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10253, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2280:27:26", + "memberName": "liquidityProviderBtcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10126, + "src": "2274:33:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "expression": { + "id": 10254, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10235, + "src": "2325:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10255, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2331:7:26", + "memberName": "callFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10128, + "src": "2325:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 10256, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10235, + "src": "2356:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10257, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2362:10:26", + "memberName": "penaltyFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10130, + "src": "2356:16:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 10258, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10235, + "src": "2390:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10259, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2396:15:26", + "memberName": "contractAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10132, + "src": "2390:21:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 10240, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "2044:3:26", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10241, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2048:6:26", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2044:10:26", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 10260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2044:381:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 10239, + "id": 10261, + "nodeType": "Return", + "src": "2025:400:26" + } + ] + }, + "id": 10263, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "encodePart1", + "nameLocation": "1928:11:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10236, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10235, + "mutability": "mutable", + "name": "quote", + "nameLocation": "1967:5:26", + "nodeType": "VariableDeclaration", + "scope": 10263, + "src": "1949:23:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote" + }, + "typeName": { + "id": 10234, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10233, + "name": "PeginQuote", + "nameLocations": [ + "1949:10:26" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10155, + "src": "1949:10:26" + }, + "referencedDeclaration": 10155, + "src": "1949:10:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_storage_ptr", + "typeString": "struct QuotesV2.PeginQuote" + } + }, + "visibility": "internal" + } + ], + "src": "1939:39:26" + }, + "returnParameters": { + "id": 10239, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10238, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10263, + "src": "2001:12:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10237, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2001:5:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2000:14:26" + }, + "scope": 10405, + "src": "1919:513:26", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 10297, + "nodeType": "Block", + "src": "2534:442:26", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 10273, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10266, + "src": "2591:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10274, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2597:4:26", + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 10134, + "src": "2591:10:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "expression": { + "id": 10275, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10266, + "src": "2619:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10276, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2625:8:26", + "memberName": "gasLimit", + "nodeType": "MemberAccess", + "referencedDeclaration": 10136, + "src": "2619:14:26", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 10277, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10266, + "src": "2651:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10278, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2657:5:26", + "memberName": "nonce", + "nodeType": "MemberAccess", + "referencedDeclaration": 10138, + "src": "2651:11:26", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "expression": { + "id": 10279, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10266, + "src": "2680:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10280, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2686:5:26", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 10140, + "src": "2680:11:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 10281, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10266, + "src": "2709:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10282, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2715:18:26", + "memberName": "agreementTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 10142, + "src": "2709:24:26", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 10283, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10266, + "src": "2751:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10284, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2757:14:26", + "memberName": "timeForDeposit", + "nodeType": "MemberAccess", + "referencedDeclaration": 10144, + "src": "2751:20:26", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 10285, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10266, + "src": "2789:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10286, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2795:8:26", + "memberName": "callTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 10146, + "src": "2789:14:26", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 10287, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10266, + "src": "2821:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10288, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2827:20:26", + "memberName": "depositConfirmations", + "nodeType": "MemberAccess", + "referencedDeclaration": 10148, + "src": "2821:26:26", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "expression": { + "id": 10289, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10266, + "src": "2865:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10290, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2871:14:26", + "memberName": "callOnRegister", + "nodeType": "MemberAccess", + "referencedDeclaration": 10150, + "src": "2865:20:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "expression": { + "id": 10291, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10266, + "src": "2903:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10292, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2909:16:26", + "memberName": "productFeeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 10152, + "src": "2903:22:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 10293, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10266, + "src": "2943:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10294, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2949:6:26", + "memberName": "gasFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10154, + "src": "2943:12:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 10271, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "2563:3:26", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2567:6:26", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2563:10:26", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 10295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2563:406:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 10270, + "id": 10296, + "nodeType": "Return", + "src": "2544:425:26" + } + ] + }, + "id": 10298, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "encodePart2", + "nameLocation": "2447:11:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10267, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10266, + "mutability": "mutable", + "name": "quote", + "nameLocation": "2486:5:26", + "nodeType": "VariableDeclaration", + "scope": 10298, + "src": "2468:23:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote" + }, + "typeName": { + "id": 10265, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10264, + "name": "PeginQuote", + "nameLocations": [ + "2468:10:26" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10155, + "src": "2468:10:26" + }, + "referencedDeclaration": 10155, + "src": "2468:10:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_storage_ptr", + "typeString": "struct QuotesV2.PeginQuote" + } + }, + "visibility": "internal" + } + ], + "src": "2458:39:26" + }, + "returnParameters": { + "id": 10270, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10269, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10298, + "src": "2520:12:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10268, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2520:5:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2519:14:26" + }, + "scope": 10405, + "src": "2438:538:26", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 10328, + "nodeType": "Block", + "src": "3085:379:26", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 10308, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10301, + "src": "3142:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 10309, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3148:10:26", + "memberName": "lbcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10157, + "src": "3142:16:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 10310, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10301, + "src": "3176:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 10311, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3182:12:26", + "memberName": "lpRskAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10159, + "src": "3176:18:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 10312, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10301, + "src": "3212:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 10313, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3218:16:26", + "memberName": "btcRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10161, + "src": "3212:22:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "expression": { + "id": 10314, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10301, + "src": "3252:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 10315, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3258:16:26", + "memberName": "rskRefundAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10163, + "src": "3252:22:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 10316, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10301, + "src": "3292:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 10317, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3298:12:26", + "memberName": "lpBtcAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10165, + "src": "3292:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "expression": { + "id": 10318, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10301, + "src": "3328:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 10319, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3334:7:26", + "memberName": "callFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10167, + "src": "3328:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 10320, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10301, + "src": "3359:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 10321, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3365:10:26", + "memberName": "penaltyFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10169, + "src": "3359:16:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 10322, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10301, + "src": "3393:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 10323, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3399:5:26", + "memberName": "nonce", + "nodeType": "MemberAccess", + "referencedDeclaration": 10171, + "src": "3393:11:26", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "expression": { + "id": 10324, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10301, + "src": "3422:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 10325, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3428:15:26", + "memberName": "deposityAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 10173, + "src": "3422:21:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 10306, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "3114:3:26", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10307, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3118:6:26", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "3114:10:26", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 10326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3114:343:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 10305, + "id": 10327, + "nodeType": "Return", + "src": "3095:362:26" + } + ] + }, + "id": 10329, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "encodePegOutPart1", + "nameLocation": "2991:17:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10302, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10301, + "mutability": "mutable", + "name": "quote", + "nameLocation": "3037:5:26", + "nodeType": "VariableDeclaration", + "scope": 10329, + "src": "3018:24:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + }, + "typeName": { + "id": 10300, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10299, + "name": "PegOutQuote", + "nameLocations": [ + "3018:11:26" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10194, + "src": "3018:11:26" + }, + "referencedDeclaration": 10194, + "src": "3018:11:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + } + }, + "visibility": "internal" + } + ], + "src": "3008:40:26" + }, + "returnParameters": { + "id": 10305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10304, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10329, + "src": "3071:12:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10303, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3071:5:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3070:14:26" + }, + "scope": 10405, + "src": "2982:482:26", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 10361, + "nodeType": "Block", + "src": "3573:435:26", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 10339, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10332, + "src": "3630:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 10340, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3636:5:26", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 10175, + "src": "3630:11:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 10341, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10332, + "src": "3659:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 10342, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3665:18:26", + "memberName": "agreementTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 10177, + "src": "3659:24:26", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 10343, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10332, + "src": "3701:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 10344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3707:16:26", + "memberName": "depositDateLimit", + "nodeType": "MemberAccess", + "referencedDeclaration": 10179, + "src": "3701:22:26", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 10345, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10332, + "src": "3741:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 10346, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3747:20:26", + "memberName": "depositConfirmations", + "nodeType": "MemberAccess", + "referencedDeclaration": 10181, + "src": "3741:26:26", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "expression": { + "id": 10347, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10332, + "src": "3785:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 10348, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3791:21:26", + "memberName": "transferConfirmations", + "nodeType": "MemberAccess", + "referencedDeclaration": 10183, + "src": "3785:27:26", + "typeDescriptions": { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + } + }, + { + "expression": { + "id": 10349, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10332, + "src": "3830:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 10350, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3836:12:26", + "memberName": "transferTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 10185, + "src": "3830:18:26", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 10351, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10332, + "src": "3866:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 10352, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3872:10:26", + "memberName": "expireDate", + "nodeType": "MemberAccess", + "referencedDeclaration": 10187, + "src": "3866:16:26", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 10353, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10332, + "src": "3900:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 10354, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3906:11:26", + "memberName": "expireBlock", + "nodeType": "MemberAccess", + "referencedDeclaration": 10189, + "src": "3900:17:26", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 10355, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10332, + "src": "3935:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 10356, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3941:16:26", + "memberName": "productFeeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 10191, + "src": "3935:22:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 10357, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10332, + "src": "3975:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote memory" + } + }, + "id": 10358, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3981:6:26", + "memberName": "gasFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10193, + "src": "3975:12:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + { + "typeIdentifier": "t_uint16", + "typeString": "uint16" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 10337, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "3602:3:26", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10338, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3606:6:26", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "3602:10:26", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 10359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3602:399:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 10336, + "id": 10360, + "nodeType": "Return", + "src": "3583:418:26" + } + ] + }, + "id": 10362, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "encodePegOutPart2", + "nameLocation": "3479:17:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10333, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10332, + "mutability": "mutable", + "name": "quote", + "nameLocation": "3525:5:26", + "nodeType": "VariableDeclaration", + "scope": 10362, + "src": "3506:24:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_memory_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + }, + "typeName": { + "id": 10331, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10330, + "name": "PegOutQuote", + "nameLocations": [ + "3506:11:26" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10194, + "src": "3506:11:26" + }, + "referencedDeclaration": 10194, + "src": "3506:11:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PegOutQuote_$10194_storage_ptr", + "typeString": "struct QuotesV2.PegOutQuote" + } + }, + "visibility": "internal" + } + ], + "src": "3496:40:26" + }, + "returnParameters": { + "id": 10336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10335, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10362, + "src": "3559:12:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10334, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3559:5:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3558:14:26" + }, + "scope": 10405, + "src": "3470:538:26", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 10403, + "nodeType": "Block", + "src": "4126:422:26", + "statements": [ + { + "assignments": [ + 10371 + ], + "declarations": [ + { + "constant": false, + "id": 10371, + "mutability": "mutable", + "name": "agreedAmount", + "nameLocation": "4141:12:26", + "nodeType": "VariableDeclaration", + "scope": 10403, + "src": "4136:17:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10370, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4136:4:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 10373, + "initialValue": { + "hexValue": "30", + "id": 10372, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4156:1:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4136:21:26" + }, + { + "expression": { + "id": 10386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10374, + "name": "agreedAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10371, + "src": "4167:12:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 10375, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10365, + "src": "4182:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10376, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4188:5:26", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 10140, + "src": "4182:11:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 10377, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10365, + "src": "4196:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10378, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4202:7:26", + "memberName": "callFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10128, + "src": "4196:13:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4182:27:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 10380, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10365, + "src": "4212:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10381, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4218:16:26", + "memberName": "productFeeAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 10152, + "src": "4212:22:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4182:52:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "expression": { + "id": 10383, + "name": "quote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10365, + "src": "4237:5:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote memory" + } + }, + "id": 10384, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4243:6:26", + "memberName": "gasFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 10154, + "src": "4237:12:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4182:67:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4167:82:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10387, + "nodeType": "ExpressionStatement", + "src": "4167:82:26" + }, + { + "assignments": [ + 10389 + ], + "declarations": [ + { + "constant": false, + "id": 10389, + "mutability": "mutable", + "name": "delta", + "nameLocation": "4266:5:26", + "nodeType": "VariableDeclaration", + "scope": 10403, + "src": "4261:10:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10388, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4261:4:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 10393, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 10390, + "name": "agreedAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10371, + "src": "4274:12:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "hexValue": "3130303030", + "id": 10391, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4289:5:26", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000_by_1", + "typeString": "int_const 10000" + }, + "value": "10000" + }, + "src": "4274:20:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4261:33:26" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 10395, + "name": "transferredAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10367, + "src": "4468:17:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 10396, + "name": "agreedAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10371, + "src": "4489:12:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 10397, + "name": "delta", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10389, + "src": "4504:5:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4489:20:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4468:41:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4c4243303537", + "id": 10400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4523:8:26", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_edc8872f52a3fbd4c102c7239a16e50d62a454725123fb252e7131b6a2223277", + "typeString": "literal_string \"LBC057\"" + }, + "value": "LBC057" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_edc8872f52a3fbd4c102c7239a16e50d62a454725123fb252e7131b6a2223277", + "typeString": "literal_string \"LBC057\"" + } + ], + "id": 10394, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4447:7:26", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 10401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4447:94:26", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10402, + "nodeType": "ExpressionStatement", + "src": "4447:94:26" + } + ] + }, + "functionSelector": "fa6ea3e7", + "id": 10404, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "checkAgreedAmount", + "nameLocation": "4023:17:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10365, + "mutability": "mutable", + "name": "quote", + "nameLocation": "4068:5:26", + "nodeType": "VariableDeclaration", + "scope": 10404, + "src": "4050:23:26", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_memory_ptr", + "typeString": "struct QuotesV2.PeginQuote" + }, + "typeName": { + "id": 10364, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 10363, + "name": "PeginQuote", + "nameLocations": [ + "4050:10:26" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 10155, + "src": "4050:10:26" + }, + "referencedDeclaration": 10155, + "src": "4050:10:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeginQuote_$10155_storage_ptr", + "typeString": "struct QuotesV2.PeginQuote" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10367, + "mutability": "mutable", + "name": "transferredAmount", + "nameLocation": "4088:17:26", + "nodeType": "VariableDeclaration", + "scope": 10404, + "src": "4083:22:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10366, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4083:4:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4040:71:26" + }, + "returnParameters": { + "id": 10369, + "nodeType": "ParameterList", + "parameters": [], + "src": "4126:0:26" + }, + "scope": 10405, + "src": "4014:534:26", + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + } + ], + "scope": 10406, + "src": "58:4493:26", + "usedErrors": [] + } + ], + "src": "32:4519:26" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": { + "31": { + "events": {}, + "links": {}, + "address": "0x1756d7BB65C404031EA5663BbF8d3d112FAe800F", + "transactionHash": "0x4f8e7d108b2780e165837bab6647ae91b35a8381cb5650abac3374efbfc246d0" + } + }, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.716Z", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/ReentrancyGuardUpgradeable.json b/build/contracts/ReentrancyGuardUpgradeable.json new file mode 100644 index 0000000..df05b4e --- /dev/null +++ b/build/contracts/ReentrancyGuardUpgradeable.json @@ -0,0 +1,856 @@ +{ + "contractName": "ReentrancyGuardUpgradeable", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Contract module that helps prevent reentrant calls to a function. Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier available, which can be applied to functions to make sure there are no nested (reentrant) calls to them. Note that because there is a single `nonReentrant` guard, functions marked as `nonReentrant` may not call one another. This can be worked around by making those functions `private`, and then adding `external` `nonReentrant` entry points to them. TIP: If you would like to learn more about reentrancy and alternative ways to protect against it, check out our blog post https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\",\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"__gap\":{\"details\":\"This empty reserved space is put in place to allow future versions to add new variables without shifting down storage in the inheritance chain. See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol\":\"ReentrancyGuardUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x037c334add4b033ad3493038c25be1682d78c00992e1acb0e2795caff3925271\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a313cf42389440e2706837c91370323b85971c06afd6d056d21e2bc86459618\",\"dweb:/ipfs/QmT8XUrUvQ9aZaPKrqgRU2JVGWnaxBcUYJA7Q7K5KcLBSZ\"]},\"@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2b3005a0064cfc558bdf64b2bae94b565f4574a536aadd61c13838d4f2157790\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://622c3eb87563e71585c9f538d1a196fe2d154dcc5b8f335e8770a8acc95e1f3a\",\"dweb:/ipfs/QmSnDqJJLzv3mirjGB1vrk5X7hegFdS7BKpscpxyqj7sWu\"]},\"@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x2edcb41c121abc510932e8d83ff8b82cf9cdde35e7c297622f5c29ef0af25183\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72460c66cd1c3b1c11b863e0d8df0a1c56f37743019e468dc312c754f43e3b06\",\"dweb:/ipfs/QmPExYKiNb9PUsgktQBupPaM33kzDHxaYoVeJdLhv8s879\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "", + "deployedSourceMap": "", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (security/ReentrancyGuard.sol)\n\npragma solidity ^0.8.0;\nimport \"../proxy/utils/Initializable.sol\";\n\n/**\n * @dev Contract module that helps prevent reentrant calls to a function.\n *\n * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier\n * available, which can be applied to functions to make sure there are no nested\n * (reentrant) calls to them.\n *\n * Note that because there is a single `nonReentrant` guard, functions marked as\n * `nonReentrant` may not call one another. This can be worked around by making\n * those functions `private`, and then adding `external` `nonReentrant` entry\n * points to them.\n *\n * TIP: If you would like to learn more about reentrancy and alternative ways\n * to protect against it, check out our blog post\n * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\n */\nabstract contract ReentrancyGuardUpgradeable is Initializable {\n // Booleans are more expensive than uint256 or any type that takes up a full\n // word because each write operation emits an extra SLOAD to first read the\n // slot's contents, replace the bits taken up by the boolean, and then write\n // back. This is the compiler's defense against contract upgrades and\n // pointer aliasing, and it cannot be disabled.\n\n // The values being non-zero value makes deployment a bit more expensive,\n // but in exchange the refund on every call to nonReentrant will be lower in\n // amount. Since refunds are capped to a percentage of the total\n // transaction's gas, it is best to keep them low in cases like this one, to\n // increase the likelihood of the full refund coming into effect.\n uint256 private constant _NOT_ENTERED = 1;\n uint256 private constant _ENTERED = 2;\n\n uint256 private _status;\n\n function __ReentrancyGuard_init() internal onlyInitializing {\n __ReentrancyGuard_init_unchained();\n }\n\n function __ReentrancyGuard_init_unchained() internal onlyInitializing {\n _status = _NOT_ENTERED;\n }\n\n /**\n * @dev Prevents a contract from calling itself, directly or indirectly.\n * Calling a `nonReentrant` function from another `nonReentrant`\n * function is not supported. It is possible to prevent this from happening\n * by making the `nonReentrant` function external, and making it call a\n * `private` function that does the actual work.\n */\n modifier nonReentrant() {\n _nonReentrantBefore();\n _;\n _nonReentrantAfter();\n }\n\n function _nonReentrantBefore() private {\n // On the first call to nonReentrant, _status will be _NOT_ENTERED\n require(_status != _ENTERED, \"ReentrancyGuard: reentrant call\");\n\n // Any calls to nonReentrant after this point will fail\n _status = _ENTERED;\n }\n\n function _nonReentrantAfter() private {\n // By storing the original value once again, a refund is triggered (see\n // https://eips.ethereum.org/EIPS/eip-2200)\n _status = _NOT_ENTERED;\n }\n\n /**\n * @dev This empty reserved space is put in place to allow future versions to add new\n * variables without shifting down storage in the inheritance chain.\n * See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps\n */\n uint256[49] private __gap;\n}\n", + "sourcePath": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol", + "exportedSymbols": { + "AddressUpgradeable": [ + 657 + ], + "Initializable": [ + 300 + ], + "ReentrancyGuardUpgradeable": [ + 373 + ] + }, + "id": 374, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 302, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "112:23:2" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "file": "../proxy/utils/Initializable.sol", + "id": 303, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 374, + "sourceUnit": 301, + "src": "136:42:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 305, + "name": "Initializable", + "nameLocations": [ + "979:13:2" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 300, + "src": "979:13:2" + }, + "id": 306, + "nodeType": "InheritanceSpecifier", + "src": "979:13:2" + } + ], + "canonicalName": "ReentrancyGuardUpgradeable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 304, + "nodeType": "StructuredDocumentation", + "src": "180:750:2", + "text": " @dev Contract module that helps prevent reentrant calls to a function.\n Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier\n available, which can be applied to functions to make sure there are no nested\n (reentrant) calls to them.\n Note that because there is a single `nonReentrant` guard, functions marked as\n `nonReentrant` may not call one another. This can be worked around by making\n those functions `private`, and then adding `external` `nonReentrant` entry\n points to them.\n TIP: If you would like to learn more about reentrancy and alternative ways\n to protect against it, check out our blog post\n https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]." + }, + "fullyImplemented": true, + "id": 373, + "linearizedBaseContracts": [ + 373, + 300 + ], + "name": "ReentrancyGuardUpgradeable", + "nameLocation": "949:26:2", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 309, + "mutability": "constant", + "name": "_NOT_ENTERED", + "nameLocation": "1772:12:2", + "nodeType": "VariableDeclaration", + "scope": 373, + "src": "1747:41:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 307, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1747:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 308, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1787:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "private" + }, + { + "constant": true, + "id": 312, + "mutability": "constant", + "name": "_ENTERED", + "nameLocation": "1819:8:2", + "nodeType": "VariableDeclaration", + "scope": 373, + "src": "1794:37:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 310, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1794:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "32", + "id": 311, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1830:1:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "private" + }, + { + "constant": false, + "id": 314, + "mutability": "mutable", + "name": "_status", + "nameLocation": "1854:7:2", + "nodeType": "VariableDeclaration", + "scope": 373, + "src": "1838:23:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 313, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1838:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "body": { + "id": 322, + "nodeType": "Block", + "src": "1928:51:2", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 319, + "name": "__ReentrancyGuard_init_unchained", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 333, + "src": "1938:32:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1938:34:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 321, + "nodeType": "ExpressionStatement", + "src": "1938:34:2" + } + ] + }, + "id": 323, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 317, + "kind": "modifierInvocation", + "modifierName": { + "id": 316, + "name": "onlyInitializing", + "nameLocations": [ + "1911:16:2" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 245, + "src": "1911:16:2" + }, + "nodeType": "ModifierInvocation", + "src": "1911:16:2" + } + ], + "name": "__ReentrancyGuard_init", + "nameLocation": "1877:22:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 315, + "nodeType": "ParameterList", + "parameters": [], + "src": "1899:2:2" + }, + "returnParameters": { + "id": 318, + "nodeType": "ParameterList", + "parameters": [], + "src": "1928:0:2" + }, + "scope": 373, + "src": "1868:111:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 332, + "nodeType": "Block", + "src": "2055:39:2", + "statements": [ + { + "expression": { + "id": 330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 328, + "name": "_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "2065:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 329, + "name": "_NOT_ENTERED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "2075:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2065:22:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 331, + "nodeType": "ExpressionStatement", + "src": "2065:22:2" + } + ] + }, + "id": 333, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 326, + "kind": "modifierInvocation", + "modifierName": { + "id": 325, + "name": "onlyInitializing", + "nameLocations": [ + "2038:16:2" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 245, + "src": "2038:16:2" + }, + "nodeType": "ModifierInvocation", + "src": "2038:16:2" + } + ], + "name": "__ReentrancyGuard_init_unchained", + "nameLocation": "1994:32:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 324, + "nodeType": "ParameterList", + "parameters": [], + "src": "2026:2:2" + }, + "returnParameters": { + "id": 327, + "nodeType": "ParameterList", + "parameters": [], + "src": "2055:0:2" + }, + "scope": 373, + "src": "1985:109:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 343, + "nodeType": "Block", + "src": "2495:79:2", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 336, + "name": "_nonReentrantBefore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 359, + "src": "2505:19:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2505:21:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 338, + "nodeType": "ExpressionStatement", + "src": "2505:21:2" + }, + { + "id": 339, + "nodeType": "PlaceholderStatement", + "src": "2536:1:2" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 340, + "name": "_nonReentrantAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "2547:18:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2547:20:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 342, + "nodeType": "ExpressionStatement", + "src": "2547:20:2" + } + ] + }, + "documentation": { + "id": 334, + "nodeType": "StructuredDocumentation", + "src": "2100:366:2", + "text": " @dev Prevents a contract from calling itself, directly or indirectly.\n Calling a `nonReentrant` function from another `nonReentrant`\n function is not supported. It is possible to prevent this from happening\n by making the `nonReentrant` function external, and making it call a\n `private` function that does the actual work." + }, + "id": 344, + "name": "nonReentrant", + "nameLocation": "2480:12:2", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 335, + "nodeType": "ParameterList", + "parameters": [], + "src": "2492:2:2" + }, + "src": "2471:103:2", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 358, + "nodeType": "Block", + "src": "2619:248:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 348, + "name": "_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "2712:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 349, + "name": "_ENTERED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2723:8:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2712:19:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5265656e7472616e637947756172643a207265656e7472616e742063616c6c", + "id": 351, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2733:33:2", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619", + "typeString": "literal_string \"ReentrancyGuard: reentrant call\"" + }, + "value": "ReentrancyGuard: reentrant call" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619", + "typeString": "literal_string \"ReentrancyGuard: reentrant call\"" + } + ], + "id": 347, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2704:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2704:63:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 353, + "nodeType": "ExpressionStatement", + "src": "2704:63:2" + }, + { + "expression": { + "id": 356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 354, + "name": "_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "2842:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 355, + "name": "_ENTERED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2852:8:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2842:18:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 357, + "nodeType": "ExpressionStatement", + "src": "2842:18:2" + } + ] + }, + "id": 359, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_nonReentrantBefore", + "nameLocation": "2589:19:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 345, + "nodeType": "ParameterList", + "parameters": [], + "src": "2608:2:2" + }, + "returnParameters": { + "id": 346, + "nodeType": "ParameterList", + "parameters": [], + "src": "2619:0:2" + }, + "scope": 373, + "src": "2580:287:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 366, + "nodeType": "Block", + "src": "2911:171:2", + "statements": [ + { + "expression": { + "id": 364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 362, + "name": "_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "3053:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 363, + "name": "_NOT_ENTERED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "3063:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3053:22:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 365, + "nodeType": "ExpressionStatement", + "src": "3053:22:2" + } + ] + }, + "id": 367, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_nonReentrantAfter", + "nameLocation": "2882:18:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 360, + "nodeType": "ParameterList", + "parameters": [], + "src": "2900:2:2" + }, + "returnParameters": { + "id": 361, + "nodeType": "ParameterList", + "parameters": [], + "src": "2911:0:2" + }, + "scope": 373, + "src": "2873:209:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "constant": false, + "documentation": { + "id": 368, + "nodeType": "StructuredDocumentation", + "src": "3088:254:2", + "text": " @dev This empty reserved space is put in place to allow future versions to add new\n variables without shifting down storage in the inheritance chain.\n See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps" + }, + "id": 372, + "mutability": "mutable", + "name": "__gap", + "nameLocation": "3367:5:2", + "nodeType": "VariableDeclaration", + "scope": 373, + "src": "3347:25:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$49_storage", + "typeString": "uint256[49]" + }, + "typeName": { + "baseType": { + "id": 369, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3347:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 371, + "length": { + "hexValue": "3439", + "id": 370, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3355:2:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_49_by_1", + "typeString": "int_const 49" + }, + "value": "49" + }, + "nodeType": "ArrayTypeName", + "src": "3347:11:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$49_storage_ptr", + "typeString": "uint256[49]" + } + }, + "visibility": "private" + } + ], + "scope": 374, + "src": "931:2444:2", + "usedErrors": [] + } + ], + "src": "112:3264:2" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.590Z", + "devdoc": { + "details": "Contract module that helps prevent reentrant calls to a function. Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier available, which can be applied to functions to make sure there are no nested (reentrant) calls to them. Note that because there is a single `nonReentrant` guard, functions marked as `nonReentrant` may not call one another. This can be worked around by making those functions `private`, and then adding `external` `nonReentrant` entry points to them. TIP: If you would like to learn more about reentrancy and alternative ways to protect against it, check out our blog post https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].", + "events": { + "Initialized(uint8)": { + "details": "Triggered when the contract has been initialized or reinitialized." + } + }, + "kind": "dev", + "methods": {}, + "stateVariables": { + "__gap": { + "details": "This empty reserved space is put in place to allow future versions to add new variables without shifting down storage in the inheritance chain. See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps" + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/SignatureValidator.json b/build/contracts/SignatureValidator.json new file mode 100644 index 0000000..4c74664 --- /dev/null +++ b/build/contracts/SignatureValidator.json @@ -0,0 +1,2994 @@ +{ + "contractName": "SignatureValidator", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "quoteHash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "verify", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"quoteHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"verify\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"verify(address,bytes32,bytes)\":{\"details\":\"Verfies signature against address\",\"params\":{\"addr\":\"The signing address\",\"quoteHash\":\"The hash of the signed data\",\"signature\":\"The signature containing v, r and s\"},\"returns\":{\"_0\":\"True if the signature is valid, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/SignatureValidator.sol\":\"SignatureValidator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"project:/contracts/SignatureValidator.sol\":{\"keccak256\":\"0x9d72920dd5ff2891c8dd3b3a814c1b108e82fcc6dfd849c96842e88c01d25b2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8df1167e9def35ced4a620e3fa1e6d148bc7c1fb995378bf12dabef250b3be65\",\"dweb:/ipfs/QmZJJchWvzUeMb68VPHFGnMXBx7aMhK5GqJy8ECDx2rf58\"]}},\"version\":1}", + "bytecode": "0x6102a761003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80631a86b5501461003a575b600080fd5b61004d610048366004610167565b610061565b604051901515815260200160405180910390f35b602081810151604080840151606085015182518084018452601c81527b0ca2ba3432b932bab69029b4b3b732b21026b2b9b9b0b3b29d05199960211b818701529251600095929391861a9286916100bc9184918b910161023f565b60408051601f1981840301815282825280516020918201206000845290830180835281905260ff861691830191909152606082018790526080820186905291506001600160a01b038a169060019060a0016020604051602081039080840390855afa15801561012f573d6000803e3d6000fd5b505050602060405103516001600160a01b031614955050505050509392505050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561017c57600080fd5b83356001600160a01b038116811461019357600080fd5b92506020840135915060408401356001600160401b03808211156101b657600080fd5b818601915086601f8301126101ca57600080fd5b8135818111156101dc576101dc610151565b604051601f8201601f19908116603f0116810190838211818310171561020457610204610151565b8160405282815289602084870101111561021d57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000835160005b818110156102605760208187018101518583015201610246565b50919091019182525060200191905056fea2646970667358221220bd792db21283d5ed4492d5be672e9a8834e6b553884e74f28cebb69a03b1527e64736f6c63430008120033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80631a86b5501461003a575b600080fd5b61004d610048366004610167565b610061565b604051901515815260200160405180910390f35b602081810151604080840151606085015182518084018452601c81527b0ca2ba3432b932bab69029b4b3b732b21026b2b9b9b0b3b29d05199960211b818701529251600095929391861a9286916100bc9184918b910161023f565b60408051601f1981840301815282825280516020918201206000845290830180835281905260ff861691830191909152606082018790526080820186905291506001600160a01b038a169060019060a0016020604051602081039080840390855afa15801561012f573d6000803e3d6000fd5b505050602060405103516001600160a01b031614955050505050509392505050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561017c57600080fd5b83356001600160a01b038116811461019357600080fd5b92506020840135915060408401356001600160401b03808211156101b657600080fd5b818601915086601f8301126101ca57600080fd5b8135818111156101dc576101dc610151565b604051601f8201601f19908116603f0116810190838211818310171561020457610204610151565b8160405282815289602084870101111561021d57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000835160005b818110156102605760208187018101518583015201610246565b50919091019182525060200191905056fea2646970667358221220bd792db21283d5ed4492d5be672e9a8834e6b553884e74f28cebb69a03b1527e64736f6c63430008120033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:2375:30", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:30", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "70:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "75:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "66:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "66:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "56:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "103:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "106:4:30", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "96:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "96:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "96:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "127:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "130:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "120:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "120:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "120:15:30" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "14:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "259:1050:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "305:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "314:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "307:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "307:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "307:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "280:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "289:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "276:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "276:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "301:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "272:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "272:32:30" + }, + "nodeType": "YulIf", + "src": "269:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "330:36:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "356:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "343:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "343:23:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "334:5:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "429:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "438:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "441:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "431:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "431:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "431:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "388:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "399:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "414:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "419:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "410:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "410:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "423:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "406:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "406:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "395:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "395:31:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "385:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "385:42:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "378:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "378:50:30" + }, + "nodeType": "YulIf", + "src": "375:70:30" + }, + { + "nodeType": "YulAssignment", + "src": "454:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "464:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "454:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "478:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "505:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "516:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "501:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "501:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "488:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "488:32:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "478:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "529:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "560:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "571:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "556:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "556:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "543:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "543:32:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "533:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "584:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "602:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "606:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "598:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "598:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "610:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "594:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "594:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "588:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "639:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "648:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "651:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "641:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "641:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "641:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "627:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "635:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "624:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "624:14:30" + }, + "nodeType": "YulIf", + "src": "621:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "664:32:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "678:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "689:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "674:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "674:22:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "668:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "744:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "753:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "756:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "746:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "746:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "746:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "723:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "727:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "719:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "719:13:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "734:7:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "715:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "715:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "708:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "708:35:30" + }, + "nodeType": "YulIf", + "src": "705:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "769:26:30", + "value": { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "792:2:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "779:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "779:16:30" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "773:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "818:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "820:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "820:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "820:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "810:2:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "814:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "807:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "807:10:30" + }, + "nodeType": "YulIf", + "src": "804:36:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "849:17:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "863:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "859:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "859:7:30" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "853:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "875:23:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "895:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "889:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "889:9:30" + }, + "variables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "879:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "907:71:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "929:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "953:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "957:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "949:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "949:13:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "964:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "945:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "945:22:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "969:2:30", + "type": "", + "value": "63" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "941:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "941:31:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "974:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "937:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "937:40:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "925:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "925:53:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "911:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1037:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1039:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "1039:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1039:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "996:10:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1008:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "993:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "993:18:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1016:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1028:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1013:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1013:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "990:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "990:46:30" + }, + "nodeType": "YulIf", + "src": "987:72:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1075:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1079:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1068:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1068:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1068:22:30" + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1106:6:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1114:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1099:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1099:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1099:18:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1163:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1172:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1175:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1165:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1165:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1165:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1140:2:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1144:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1136:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1136:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1149:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1132:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1132:20:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1154:7:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1129:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1129:33:30" + }, + "nodeType": "YulIf", + "src": "1126:53:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1205:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1213:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1201:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1201:15:30" + }, + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1222:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1226:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1218:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1218:11:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1231:2:30" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "1188:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1188:46:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1188:46:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1258:6:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1266:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1254:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1254:15:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1271:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1250:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1250:24:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1276:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1243:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1243:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1243:35:30" + }, + { + "nodeType": "YulAssignment", + "src": "1287:16:30", + "value": { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1297:6:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "1287:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bytes32t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "209:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "220:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "232:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "240:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "248:6:30", + "type": "" + } + ], + "src": "146:1163:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1417:92:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1427:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1439:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1450:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1435:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1435:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1427:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1469:9:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1494:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1487:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1487:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1480:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1480:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1462:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1462:41:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1462:41:30" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1386:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1397:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1408:4:30", + "type": "" + } + ], + "src": "1314:195:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1679:291:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1689:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1709:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1703:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "1703:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1693:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1725:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1734:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "1729:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1796:77:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1821:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1826:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1817:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1817:11:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1844:6:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1852:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1840:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1840:14:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1856:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1836:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1836:25:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1830:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "1830:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1810:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1810:53:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1810:53:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1755:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1758:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1752:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1752:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "1766:21:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1768:17:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1777:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1780:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1773:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1773:12:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1768:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1748:3:30", + "statements": [] + }, + "src": "1744:129:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1882:26:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1896:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1901:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1892:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1892:16:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "1886:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1924:2:30" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1928:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1917:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1917:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1917:18:30" + }, + { + "nodeType": "YulAssignment", + "src": "1944:20:30", + "value": { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1955:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1959:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1951:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1951:13:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1944:3:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes32__to_t_bytes_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1647:3:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1652:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1660:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1671:3:30", + "type": "" + } + ], + "src": "1514:456:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2156:217:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2166:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2178:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2189:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2174:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2174:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2166:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2209:9:30" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2220:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2202:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2202:25:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2202:25:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2247:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2258:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2243:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2243:18:30" + }, + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "2267:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2275:4:30", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2263:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2263:17:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2236:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2236:45:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2236:45:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2301:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2312:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2297:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2297:18:30" + }, + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "2317:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2290:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2290:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2290:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2344:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2355:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2340:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2340:18:30" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "2360:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2333:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2333:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2333:34:30" + } + ] + }, + "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": "2101:9:30", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "2112:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "2120:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "2128:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2136:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2147:4:30", + "type": "" + } + ], + "src": "1975:398:30" + } + ] + }, + "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_tuple_t_addresst_bytes32t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\n value1 := calldataload(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\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 := calldataload(_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 calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value2 := memPtr\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes32__to_t_bytes_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n let length := mload(value0)\n let i := 0\n for { } lt(i, length) { i := add(i, 0x20) }\n {\n mstore(add(pos, i), mload(add(add(value0, i), 0x20)))\n }\n let _1 := add(pos, length)\n mstore(_1, value1)\n end := add(_1, 0x20)\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": 30, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "58:913:27:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;58:913:27;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "58:913:27:-:0;;;;;;;;;;;;;;;;;;;;;;;;373:596;;;;;;:::i;:::-;;:::i;:::-;;;1487:14:30;;1480:22;1462:41;;1450:2;1435:18;373:596:27;;;;;;;;593:4;578:20;;;572:27;638:4;623:20;;;617:27;691:4;676:20;;670:27;770:56;;;;;;;;;;-1:-1:-1;;;770:56:27;;;;869:35;;467:4;;617:27;;662:36;;;;467:4;;869:35;;770:56;;894:9;;869:35;;:::i;:::-;;;;-1:-1:-1;;869:35:27;;;;;;;;;859:46;;869:35;859:46;;;;922:32;;;;;;;;;2202:25:30;;;2275:4;2263:17;;2243:18;;;2236:45;;;;2297:18;;;2290:34;;;2340:18;;;2333:34;;;859:46:27;-1:-1:-1;;;;;;922:40:27;;;:32;;2174:19:30;;922:32:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;922:40:27;;915:47;;;;;;;373:596;;;;;:::o;14:127:30:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:1163;232:6;240;248;301:2;289:9;280:7;276:23;272:32;269:52;;;317:1;314;307:12;269:52;343:23;;-1:-1:-1;;;;;395:31:30;;385:42;;375:70;;441:1;438;431:12;375:70;464:5;-1:-1:-1;516:2:30;501:18;;488:32;;-1:-1:-1;571:2:30;556:18;;543:32;-1:-1:-1;;;;;624:14:30;;;621:34;;;651:1;648;641:12;621:34;689:6;678:9;674:22;664:32;;734:7;727:4;723:2;719:13;715:27;705:55;;756:1;753;746:12;705:55;792:2;779:16;814:2;810;807:10;804:36;;;820:18;;:::i;:::-;895:2;889:9;863:2;949:13;;-1:-1:-1;;945:22:30;;;969:2;941:31;937:40;925:53;;;993:18;;;1013:22;;;990:46;987:72;;;1039:18;;:::i;:::-;1079:10;1075:2;1068:22;1114:2;1106:6;1099:18;1154:7;1149:2;1144;1140;1136:11;1132:20;1129:33;1126:53;;;1175:1;1172;1165:12;1126:53;1231:2;1226;1222;1218:11;1213:2;1205:6;1201:15;1188:46;1276:1;1271:2;1266;1258:6;1254:15;1250:24;1243:35;1297:6;1287:16;;;;;;;146:1163;;;;;:::o;1514:456::-;1671:3;1709:6;1703:13;1734:1;1744:129;1758:6;1755:1;1752:13;1744:129;;;1856:4;1840:14;;;1836:25;;1830:32;1817:11;;;1810:53;1773:12;1744:129;;;-1:-1:-1;1892:16:30;;;;1917:18;;;-1:-1:-1;1959:4:30;1951:13;;1514:456;-1:-1:-1;1514:456:30:o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.18;\n\nlibrary SignatureValidator {\n /**\n @dev Verfies signature against address\n @param addr The signing address\n @param quoteHash The hash of the signed data\n @param signature The signature containing v, r and s\n @return True if the signature is valid, false otherwise.\n */\n function verify(address addr, bytes32 quoteHash, bytes memory signature) public pure returns (bool) {\n bytes32 r;\n bytes32 s;\n uint8 v;\n \n assembly {\n r := mload(add(signature, 0x20))\n s := mload(add(signature, 0x40))\n v := byte(0, mload(add(signature, 0x60)))\n }\n // TODO use EIP712 compatible format instead\n bytes memory prefix = \"\\x19Ethereum Signed Message:\\n32\";\n bytes32 prefixedHash = keccak256(abi.encodePacked(prefix, quoteHash));\n return ecrecover(prefixedHash, v, r, s) == addr;\n }\n}\n", + "sourcePath": "/Users/luischavez/iov/liquidity-bridge-contract/contracts/SignatureValidator.sol", + "ast": { + "absolutePath": "project:/contracts/SignatureValidator.sol", + "exportedSymbols": { + "SignatureValidator": [ + 10454 + ] + }, + "id": 10455, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 10407, + "literals": [ + "solidity", + "^", + "0.8", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "32:24:27" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "SignatureValidator", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "id": 10454, + "linearizedBaseContracts": [ + 10454 + ], + "name": "SignatureValidator", + "nameLocation": "66:18:27", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 10452, + "nodeType": "Block", + "src": "473:496:27", + "statements": [ + { + "assignments": [ + 10420 + ], + "declarations": [ + { + "constant": false, + "id": 10420, + "mutability": "mutable", + "name": "r", + "nameLocation": "491:1:27", + "nodeType": "VariableDeclaration", + "scope": 10452, + "src": "483:9:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10419, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "483:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 10421, + "nodeType": "VariableDeclarationStatement", + "src": "483:9:27" + }, + { + "assignments": [ + 10423 + ], + "declarations": [ + { + "constant": false, + "id": 10423, + "mutability": "mutable", + "name": "s", + "nameLocation": "510:1:27", + "nodeType": "VariableDeclaration", + "scope": 10452, + "src": "502:9:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10422, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "502:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 10424, + "nodeType": "VariableDeclarationStatement", + "src": "502:9:27" + }, + { + "assignments": [ + 10426 + ], + "declarations": [ + { + "constant": false, + "id": 10426, + "mutability": "mutable", + "name": "v", + "nameLocation": "527:1:27", + "nodeType": "VariableDeclaration", + "scope": 10452, + "src": "521:7:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 10425, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "521:5:27", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 10427, + "nodeType": "VariableDeclarationStatement", + "src": "521:7:27" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "553:155:27", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "567:32:27", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "signature", + "nodeType": "YulIdentifier", + "src": "582:9:27" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "593:4:27", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "578:3:27" + }, + "nodeType": "YulFunctionCall", + "src": "578:20:27" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "572:5:27" + }, + "nodeType": "YulFunctionCall", + "src": "572:27:27" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "567:1:27" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "612:32:27", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "signature", + "nodeType": "YulIdentifier", + "src": "627:9:27" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "638:4:27", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "623:3:27" + }, + "nodeType": "YulFunctionCall", + "src": "623:20:27" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "617:5:27" + }, + "nodeType": "YulFunctionCall", + "src": "617:27:27" + }, + "variableNames": [ + { + "name": "s", + "nodeType": "YulIdentifier", + "src": "612:1:27" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "657:41:27", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "667:1:27", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "signature", + "nodeType": "YulIdentifier", + "src": "680:9:27" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "691:4:27", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "676:3:27" + }, + "nodeType": "YulFunctionCall", + "src": "676:20:27" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "670:5:27" + }, + "nodeType": "YulFunctionCall", + "src": "670:27:27" + } + ], + "functionName": { + "name": "byte", + "nodeType": "YulIdentifier", + "src": "662:4:27" + }, + "nodeType": "YulFunctionCall", + "src": "662:36:27" + }, + "variableNames": [ + { + "name": "v", + "nodeType": "YulIdentifier", + "src": "657:1:27" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 10420, + "isOffset": false, + "isSlot": false, + "src": "567:1:27", + "valueSize": 1 + }, + { + "declaration": 10423, + "isOffset": false, + "isSlot": false, + "src": "612:1:27", + "valueSize": 1 + }, + { + "declaration": 10414, + "isOffset": false, + "isSlot": false, + "src": "582:9:27", + "valueSize": 1 + }, + { + "declaration": 10414, + "isOffset": false, + "isSlot": false, + "src": "627:9:27", + "valueSize": 1 + }, + { + "declaration": 10414, + "isOffset": false, + "isSlot": false, + "src": "680:9:27", + "valueSize": 1 + }, + { + "declaration": 10426, + "isOffset": false, + "isSlot": false, + "src": "657:1:27", + "valueSize": 1 + } + ], + "id": 10428, + "nodeType": "InlineAssembly", + "src": "544:164:27" + }, + { + "assignments": [ + 10430 + ], + "declarations": [ + { + "constant": false, + "id": 10430, + "mutability": "mutable", + "name": "prefix", + "nameLocation": "783:6:27", + "nodeType": "VariableDeclaration", + "scope": 10452, + "src": "770:19:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10429, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "770:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 10432, + "initialValue": { + "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", + "id": 10431, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "792:34:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", + "typeString": "literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a3332\"" + }, + "value": "\u0019Ethereum Signed Message:\n32" + }, + "nodeType": "VariableDeclarationStatement", + "src": "770:56:27" + }, + { + "assignments": [ + 10434 + ], + "declarations": [ + { + "constant": false, + "id": 10434, + "mutability": "mutable", + "name": "prefixedHash", + "nameLocation": "844:12:27", + "nodeType": "VariableDeclaration", + "scope": 10452, + "src": "836:20:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10433, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "836:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 10442, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 10438, + "name": "prefix", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10430, + "src": "886:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 10439, + "name": "quoteHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10412, + "src": "894:9:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 10436, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "869:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10437, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "873:12:27", + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "869:16:27", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 10440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "869:35:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10435, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "859:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 10441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "859:46:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "836:69:27" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 10450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 10444, + "name": "prefixedHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10434, + "src": "932:12:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 10445, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10426, + "src": "946:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 10446, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10420, + "src": "949:1:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 10447, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10423, + "src": "952:1:27", + "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": 10443, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967290, + "src": "922:9:27", + "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": 10448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "922:32:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 10449, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10410, + "src": "958:4:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "922:40:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 10418, + "id": 10451, + "nodeType": "Return", + "src": "915:47:27" + } + ] + }, + "documentation": { + "id": 10408, + "nodeType": "StructuredDocumentation", + "src": "91:277:27", + "text": "@dev Verfies signature against address\n@param addr The signing address\n@param quoteHash The hash of the signed data\n@param signature The signature containing v, r and s\n@return True if the signature is valid, false otherwise." + }, + "functionSelector": "1a86b550", + "id": 10453, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verify", + "nameLocation": "382:6:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10415, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10410, + "mutability": "mutable", + "name": "addr", + "nameLocation": "397:4:27", + "nodeType": "VariableDeclaration", + "scope": 10453, + "src": "389:12:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10409, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "389:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10412, + "mutability": "mutable", + "name": "quoteHash", + "nameLocation": "411:9:27", + "nodeType": "VariableDeclaration", + "scope": 10453, + "src": "403:17:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10411, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "403:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10414, + "mutability": "mutable", + "name": "signature", + "nameLocation": "435:9:27", + "nodeType": "VariableDeclaration", + "scope": 10453, + "src": "422:22:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10413, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "422:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "388:57:27" + }, + "returnParameters": { + "id": 10418, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10417, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10453, + "src": "467:4:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10416, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "467:4:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "466:6:27" + }, + "scope": 10454, + "src": "373:596:27", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "scope": 10455, + "src": "58:913:27", + "usedErrors": [] + } + ], + "src": "32:940:27" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.720Z", + "devdoc": { + "kind": "dev", + "methods": { + "verify(address,bytes32,bytes)": { + "details": "Verfies signature against address", + "params": { + "addr": "The signing address", + "quoteHash": "The hash of the signed data", + "signature": "The signature containing v, r and s" + }, + "returns": { + "_0": "True if the signature is valid, false otherwise." + } + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/SignatureValidatorMock.json b/build/contracts/SignatureValidatorMock.json new file mode 100644 index 0000000..cee7d59 --- /dev/null +++ b/build/contracts/SignatureValidatorMock.json @@ -0,0 +1,1741 @@ +{ + "contractName": "SignatureValidatorMock", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "verify", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"verify\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/SignatureValidatorMock.sol\":\"SignatureValidatorMock\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"project:/contracts/SignatureValidatorMock.sol\":{\"keccak256\":\"0xdae40197493025b24e196016a0649564db23687885dc51bd49b23bfff3bd0adc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00532eef3ea356a7295b6fd397275db628afd80bd07441c147a7eafee88500ad\",\"dweb:/ipfs/QmQm3NHuXseNGMfUL1XJ6q1JmLkQXpFRLHx6cPkWsGno9X\"]}},\"version\":1}", + "bytecode": "0x61018961003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80631a86b5501461003a575b600080fd5b61005161004836600461007b565b60019392505050565b604051901515815260200160405180910390f35b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561009057600080fd5b83356001600160a01b03811681146100a757600080fd5b92506020840135915060408401356001600160401b03808211156100ca57600080fd5b818601915086601f8301126100de57600080fd5b8135818111156100f0576100f0610065565b604051601f8201601f19908116603f0116810190838211818310171561011857610118610065565b8160405282815289602084870101111561013157600080fd5b826020860160208301376000602084830101528095505050505050925092509256fea2646970667358221220c7f239fba0fa301a5066a08440683e23556f9a2cb825a3deae8bbe3d6180752d64736f6c63430008120033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80631a86b5501461003a575b600080fd5b61005161004836600461007b565b60019392505050565b604051901515815260200160405180910390f35b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561009057600080fd5b83356001600160a01b03811681146100a757600080fd5b92506020840135915060408401356001600160401b03808211156100ca57600080fd5b818601915086601f8301126100de57600080fd5b8135818111156100f0576100f0610065565b604051601f8201601f19908116603f0116810190838211818310171561011857610118610065565b8160405282815289602084870101111561013157600080fd5b826020860160208301376000602084830101528095505050505050925092509256fea2646970667358221220c7f239fba0fa301a5066a08440683e23556f9a2cb825a3deae8bbe3d6180752d64736f6c63430008120033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:1511:30", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:30", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "63:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "70:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "75:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "66:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "66:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "56:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "56:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "103:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "106:4:30", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "96:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "96:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "96:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "127:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "130:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "120:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "120:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "120:15:30" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "14:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "259:1050:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "305:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "314:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "307:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "307:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "307:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "280:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "289:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "276:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "276:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "301:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "272:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "272:32:30" + }, + "nodeType": "YulIf", + "src": "269:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "330:36:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "356:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "343:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "343:23:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "334:5:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "429:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "438:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "441:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "431:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "431:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "431:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "388:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "399:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "414:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "419:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "410:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "410:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "423:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "406:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "406:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "395:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "395:31:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "385:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "385:42:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "378:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "378:50:30" + }, + "nodeType": "YulIf", + "src": "375:70:30" + }, + { + "nodeType": "YulAssignment", + "src": "454:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "464:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "454:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "478:42:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "505:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "516:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "501:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "501:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "488:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "488:32:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "478:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "529:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "560:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "571:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "556:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "556:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "543:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "543:32:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "533:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "584:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "602:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "606:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "598:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "598:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "610:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "594:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "594:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "588:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "639:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "648:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "651:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "641:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "641:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "641:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "627:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "635:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "624:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "624:14:30" + }, + "nodeType": "YulIf", + "src": "621:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "664:32:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "678:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "689:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "674:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "674:22:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "668:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "744:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "753:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "756:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "746:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "746:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "746:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "723:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "727:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "719:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "719:13:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "734:7:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "715:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "715:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "708:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "708:35:30" + }, + "nodeType": "YulIf", + "src": "705:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "769:26:30", + "value": { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "792:2:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "779:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "779:16:30" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "773:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "818:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "820:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "820:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "820:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "810:2:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "814:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "807:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "807:10:30" + }, + "nodeType": "YulIf", + "src": "804:36:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "849:17:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "863:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "859:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "859:7:30" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "853:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "875:23:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "895:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "889:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "889:9:30" + }, + "variables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "879:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "907:71:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "929:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "953:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "957:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "949:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "949:13:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "964:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "945:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "945:22:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "969:2:30", + "type": "", + "value": "63" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "941:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "941:31:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "974:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "937:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "937:40:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "925:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "925:53:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "911:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1037:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1039:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "1039:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1039:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "996:10:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1008:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "993:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "993:18:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1016:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1028:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1013:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1013:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "990:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "990:46:30" + }, + "nodeType": "YulIf", + "src": "987:72:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1075:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1079:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1068:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1068:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1068:22:30" + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1106:6:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1114:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1099:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1099:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1099:18:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1163:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1172:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1175:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1165:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1165:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1165:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1140:2:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1144:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1136:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1136:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1149:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1132:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1132:20:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1154:7:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1129:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1129:33:30" + }, + "nodeType": "YulIf", + "src": "1126:53:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1205:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1213:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1201:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1201:15:30" + }, + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1222:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1226:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1218:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1218:11:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1231:2:30" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "1188:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "1188:46:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1188:46:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1258:6:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1266:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1254:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1254:15:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1271:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1250:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1250:24:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1276:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1243:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1243:35:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1243:35:30" + }, + { + "nodeType": "YulAssignment", + "src": "1287:16:30", + "value": { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1297:6:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "1287:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bytes32t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "209:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "220:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "232:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "240:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "248:6:30", + "type": "" + } + ], + "src": "146:1163:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1417:92:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1427:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1439:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1450:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1435:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1435:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1427:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1469:9:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1494:6:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1487:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1487:14:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1480:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1480:22:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1462:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1462:41:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1462:41:30" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1386:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1397:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1408:4:30", + "type": "" + } + ], + "src": "1314:195:30" + } + ] + }, + "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_tuple_t_addresst_bytes32t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\n value1 := calldataload(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\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 := calldataload(_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 calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value2 := memPtr\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_library_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n}", + "id": 30, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "58:427:28:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;58:427:28;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "58:427:28:-:0;;;;;;;;;;;;;;;;;;;;;;;;95:388;;;;;;:::i;:::-;472:4;95:388;;;;;;;;;1487:14:30;;1480:22;1462:41;;1450:2;1435:18;95:388:28;;;;;;;14:127:30;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:1163;232:6;240;248;301:2;289:9;280:7;276:23;272:32;269:52;;;317:1;314;307:12;269:52;343:23;;-1:-1:-1;;;;;395:31:30;;385:42;;375:70;;441:1;438;431:12;375:70;464:5;-1:-1:-1;516:2:30;501:18;;488:32;;-1:-1:-1;571:2:30;556:18;;543:32;-1:-1:-1;;;;;624:14:30;;;621:34;;;651:1;648;641:12;621:34;689:6;678:9;674:22;664:32;;734:7;727:4;723:2;719:13;715:27;705:55;;756:1;753;746:12;705:55;792:2;779:16;814:2;810;807:10;804:36;;;820:18;;:::i;:::-;895:2;889:9;863:2;949:13;;-1:-1:-1;;945:22:30;;;969:2;941:31;937:40;925:53;;;993:18;;;1013:22;;;990:46;987:72;;;1039:18;;:::i;:::-;1079:10;1075:2;1068:22;1114:2;1106:6;1099:18;1154:7;1149:2;1144;1140;1136:11;1132:20;1129:33;1126:53;;;1175:1;1172;1165:12;1126:53;1231:2;1226;1222;1218:11;1213:2;1205:6;1201:15;1188:46;1276:1;1271:2;1266;1258:6;1254:15;1250:24;1243:35;1297:6;1287:16;;;;;;;146:1163;;;;;:::o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.18;\n\nlibrary SignatureValidatorMock {\n function verify(address , bytes32 , bytes memory) public pure returns (bool) {\n // This is mocked due to an issue with truffle evm that makes the\n // ecrecover function to return address 0x000...0 as the signer\n // when executing against RSK the issue doesn't happen, so the actual implementation\n // uses the class and not this mock\n return true;\n }\n}\n", + "sourcePath": "/Users/luischavez/iov/liquidity-bridge-contract/contracts/SignatureValidatorMock.sol", + "ast": { + "absolutePath": "project:/contracts/SignatureValidatorMock.sol", + "exportedSymbols": { + "SignatureValidatorMock": [ + 10471 + ] + }, + "id": 10472, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 10456, + "literals": [ + "solidity", + "^", + "0.8", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "32:24:28" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "SignatureValidatorMock", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "id": 10471, + "linearizedBaseContracts": [ + 10471 + ], + "name": "SignatureValidatorMock", + "nameLocation": "66:22:28", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 10469, + "nodeType": "Block", + "src": "172:311:28", + "statements": [ + { + "expression": { + "hexValue": "74727565", + "id": 10467, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "472:4:28", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 10466, + "id": 10468, + "nodeType": "Return", + "src": "465:11:28" + } + ] + }, + "functionSelector": "1a86b550", + "id": 10470, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verify", + "nameLocation": "104:6:28", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10463, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10458, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10470, + "src": "111:7:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10457, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "111:7:28", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10460, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10470, + "src": "121:7:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10459, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "121:7:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10462, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10470, + "src": "131:12:28", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10461, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "131:5:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "110:34:28" + }, + "returnParameters": { + "id": 10466, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10465, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 10470, + "src": "166:4:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10464, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "166:4:28", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "165:6:28" + }, + "scope": 10471, + "src": "95:388:28", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "scope": 10472, + "src": "58:427:28", + "usedErrors": [] + } + ], + "src": "32:454:28" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.722Z", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/StorageSlot.json b/build/contracts/StorageSlot.json new file mode 100644 index 0000000..de9511c --- /dev/null +++ b/build/contracts/StorageSlot.json @@ -0,0 +1,844 @@ +{ + "contractName": "StorageSlot", + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for reading and writing primitive types to specific storage slots. Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts. This library helps with reading and writing to such slots without the need for inline assembly. The functions in this library return Slot structs that contain a `value` member that can be used to read or write. Example usage to set ERC1967 implementation slot: ``` contract ERC1967 { bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; function _getImplementation() internal view returns (address) { return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value; } function _setImplementation(address newImplementation) internal { require(Address.isContract(newImplementation), \\\"ERC1967: new implementation is not a contract\\\"); StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation; } } ``` _Available since v4.1 for `address`, `bool`, `bytes32`, and `uint256`._\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/StorageSlot.sol\":\"StorageSlot\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]}},\"version\":1}", + "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220324982b5f3b651f7ea59371784d8f71e4a03355d00a37e09d5b912402dbb6a3264736f6c63430008120033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220324982b5f3b651f7ea59371784d8f71e4a03355d00a37e09d5b912402dbb6a3264736f6c63430008120033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "1279:1391:15:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1279:1391:15;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "1279:1391:15:-:0;;;;;;;;", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (utils/StorageSlot.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Library for reading and writing primitive types to specific storage slots.\n *\n * Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.\n * This library helps with reading and writing to such slots without the need for inline assembly.\n *\n * The functions in this library return Slot structs that contain a `value` member that can be used to read or write.\n *\n * Example usage to set ERC1967 implementation slot:\n * ```\n * contract ERC1967 {\n * bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n *\n * function _getImplementation() internal view returns (address) {\n * return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\n * }\n *\n * function _setImplementation(address newImplementation) internal {\n * require(Address.isContract(newImplementation), \"ERC1967: new implementation is not a contract\");\n * StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\n * }\n * }\n * ```\n *\n * _Available since v4.1 for `address`, `bool`, `bytes32`, and `uint256`._\n */\nlibrary StorageSlot {\n struct AddressSlot {\n address value;\n }\n\n struct BooleanSlot {\n bool value;\n }\n\n struct Bytes32Slot {\n bytes32 value;\n }\n\n struct Uint256Slot {\n uint256 value;\n }\n\n /**\n * @dev Returns an `AddressSlot` with member `value` located at `slot`.\n */\n function getAddressSlot(bytes32 slot) internal pure returns (AddressSlot storage r) {\n /// @solidity memory-safe-assembly\n assembly {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns an `BooleanSlot` with member `value` located at `slot`.\n */\n function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) {\n /// @solidity memory-safe-assembly\n assembly {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns an `Bytes32Slot` with member `value` located at `slot`.\n */\n function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) {\n /// @solidity memory-safe-assembly\n assembly {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns an `Uint256Slot` with member `value` located at `slot`.\n */\n function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) {\n /// @solidity memory-safe-assembly\n assembly {\n r.slot := slot\n }\n }\n}\n", + "sourcePath": "@openzeppelin/contracts/utils/StorageSlot.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/StorageSlot.sol", + "exportedSymbols": { + "StorageSlot": [ + 1935 + ] + }, + "id": 1936, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1877, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "105:23:15" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "StorageSlot", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 1878, + "nodeType": "StructuredDocumentation", + "src": "130:1148:15", + "text": " @dev Library for reading and writing primitive types to specific storage slots.\n Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.\n This library helps with reading and writing to such slots without the need for inline assembly.\n The functions in this library return Slot structs that contain a `value` member that can be used to read or write.\n Example usage to set ERC1967 implementation slot:\n ```\n contract ERC1967 {\n bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n function _getImplementation() internal view returns (address) {\n return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\n }\n function _setImplementation(address newImplementation) internal {\n require(Address.isContract(newImplementation), \"ERC1967: new implementation is not a contract\");\n StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\n }\n }\n ```\n _Available since v4.1 for `address`, `bool`, `bytes32`, and `uint256`._" + }, + "fullyImplemented": true, + "id": 1935, + "linearizedBaseContracts": [ + 1935 + ], + "name": "StorageSlot", + "nameLocation": "1287:11:15", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "StorageSlot.AddressSlot", + "id": 1881, + "members": [ + { + "constant": false, + "id": 1880, + "mutability": "mutable", + "name": "value", + "nameLocation": "1342:5:15", + "nodeType": "VariableDeclaration", + "scope": 1881, + "src": "1334:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1879, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1334:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "name": "AddressSlot", + "nameLocation": "1312:11:15", + "nodeType": "StructDefinition", + "scope": 1935, + "src": "1305:49:15", + "visibility": "public" + }, + { + "canonicalName": "StorageSlot.BooleanSlot", + "id": 1884, + "members": [ + { + "constant": false, + "id": 1883, + "mutability": "mutable", + "name": "value", + "nameLocation": "1394:5:15", + "nodeType": "VariableDeclaration", + "scope": 1884, + "src": "1389:10:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1882, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1389:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "name": "BooleanSlot", + "nameLocation": "1367:11:15", + "nodeType": "StructDefinition", + "scope": 1935, + "src": "1360:46:15", + "visibility": "public" + }, + { + "canonicalName": "StorageSlot.Bytes32Slot", + "id": 1887, + "members": [ + { + "constant": false, + "id": 1886, + "mutability": "mutable", + "name": "value", + "nameLocation": "1449:5:15", + "nodeType": "VariableDeclaration", + "scope": 1887, + "src": "1441:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1885, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1441:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "name": "Bytes32Slot", + "nameLocation": "1419:11:15", + "nodeType": "StructDefinition", + "scope": 1935, + "src": "1412:49:15", + "visibility": "public" + }, + { + "canonicalName": "StorageSlot.Uint256Slot", + "id": 1890, + "members": [ + { + "constant": false, + "id": 1889, + "mutability": "mutable", + "name": "value", + "nameLocation": "1504:5:15", + "nodeType": "VariableDeclaration", + "scope": 1890, + "src": "1496:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1888, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1496:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "Uint256Slot", + "nameLocation": "1474:11:15", + "nodeType": "StructDefinition", + "scope": 1935, + "src": "1467:49:15", + "visibility": "public" + }, + { + "body": { + "id": 1900, + "nodeType": "Block", + "src": "1698:106:15", + "statements": [ + { + "AST": { + "nodeType": "YulBlock", + "src": "1760:38:15", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1774:14:15", + "value": { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "1784:4:15" + }, + "variableNames": [ + { + "name": "r.slot", + "nodeType": "YulIdentifier", + "src": "1774:6:15" + } + ] + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1897, + "isOffset": false, + "isSlot": true, + "src": "1774:6:15", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 1893, + "isOffset": false, + "isSlot": false, + "src": "1784:4:15", + "valueSize": 1 + } + ], + "id": 1899, + "nodeType": "InlineAssembly", + "src": "1751:47:15" + } + ] + }, + "documentation": { + "id": 1891, + "nodeType": "StructuredDocumentation", + "src": "1522:87:15", + "text": " @dev Returns an `AddressSlot` with member `value` located at `slot`." + }, + "id": 1901, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAddressSlot", + "nameLocation": "1623:14:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1894, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1893, + "mutability": "mutable", + "name": "slot", + "nameLocation": "1646:4:15", + "nodeType": "VariableDeclaration", + "scope": 1901, + "src": "1638:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1892, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1638:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1637:14:15" + }, + "returnParameters": { + "id": 1898, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1897, + "mutability": "mutable", + "name": "r", + "nameLocation": "1695:1:15", + "nodeType": "VariableDeclaration", + "scope": 1901, + "src": "1675:21:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$1881_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot" + }, + "typeName": { + "id": 1896, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1895, + "name": "AddressSlot", + "nameLocations": [ + "1675:11:15" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1881, + "src": "1675:11:15" + }, + "referencedDeclaration": 1881, + "src": "1675:11:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$1881_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot" + } + }, + "visibility": "internal" + } + ], + "src": "1674:23:15" + }, + "scope": 1935, + "src": "1614:190:15", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1911, + "nodeType": "Block", + "src": "1986:106:15", + "statements": [ + { + "AST": { + "nodeType": "YulBlock", + "src": "2048:38:15", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2062:14:15", + "value": { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "2072:4:15" + }, + "variableNames": [ + { + "name": "r.slot", + "nodeType": "YulIdentifier", + "src": "2062:6:15" + } + ] + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1908, + "isOffset": false, + "isSlot": true, + "src": "2062:6:15", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 1904, + "isOffset": false, + "isSlot": false, + "src": "2072:4:15", + "valueSize": 1 + } + ], + "id": 1910, + "nodeType": "InlineAssembly", + "src": "2039:47:15" + } + ] + }, + "documentation": { + "id": 1902, + "nodeType": "StructuredDocumentation", + "src": "1810:87:15", + "text": " @dev Returns an `BooleanSlot` with member `value` located at `slot`." + }, + "id": 1912, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBooleanSlot", + "nameLocation": "1911:14:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1905, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1904, + "mutability": "mutable", + "name": "slot", + "nameLocation": "1934:4:15", + "nodeType": "VariableDeclaration", + "scope": 1912, + "src": "1926:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1903, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1926:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1925:14:15" + }, + "returnParameters": { + "id": 1909, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1908, + "mutability": "mutable", + "name": "r", + "nameLocation": "1983:1:15", + "nodeType": "VariableDeclaration", + "scope": 1912, + "src": "1963:21:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BooleanSlot_$1884_storage_ptr", + "typeString": "struct StorageSlot.BooleanSlot" + }, + "typeName": { + "id": 1907, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1906, + "name": "BooleanSlot", + "nameLocations": [ + "1963:11:15" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1884, + "src": "1963:11:15" + }, + "referencedDeclaration": 1884, + "src": "1963:11:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BooleanSlot_$1884_storage_ptr", + "typeString": "struct StorageSlot.BooleanSlot" + } + }, + "visibility": "internal" + } + ], + "src": "1962:23:15" + }, + "scope": 1935, + "src": "1902:190:15", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1922, + "nodeType": "Block", + "src": "2274:106:15", + "statements": [ + { + "AST": { + "nodeType": "YulBlock", + "src": "2336:38:15", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2350:14:15", + "value": { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "2360:4:15" + }, + "variableNames": [ + { + "name": "r.slot", + "nodeType": "YulIdentifier", + "src": "2350:6:15" + } + ] + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1919, + "isOffset": false, + "isSlot": true, + "src": "2350:6:15", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 1915, + "isOffset": false, + "isSlot": false, + "src": "2360:4:15", + "valueSize": 1 + } + ], + "id": 1921, + "nodeType": "InlineAssembly", + "src": "2327:47:15" + } + ] + }, + "documentation": { + "id": 1913, + "nodeType": "StructuredDocumentation", + "src": "2098:87:15", + "text": " @dev Returns an `Bytes32Slot` with member `value` located at `slot`." + }, + "id": 1923, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBytes32Slot", + "nameLocation": "2199:14:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1916, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1915, + "mutability": "mutable", + "name": "slot", + "nameLocation": "2222:4:15", + "nodeType": "VariableDeclaration", + "scope": 1923, + "src": "2214:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1914, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2214:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2213:14:15" + }, + "returnParameters": { + "id": 1920, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1919, + "mutability": "mutable", + "name": "r", + "nameLocation": "2271:1:15", + "nodeType": "VariableDeclaration", + "scope": 1923, + "src": "2251:21:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Slot_$1887_storage_ptr", + "typeString": "struct StorageSlot.Bytes32Slot" + }, + "typeName": { + "id": 1918, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1917, + "name": "Bytes32Slot", + "nameLocations": [ + "2251:11:15" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1887, + "src": "2251:11:15" + }, + "referencedDeclaration": 1887, + "src": "2251:11:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Slot_$1887_storage_ptr", + "typeString": "struct StorageSlot.Bytes32Slot" + } + }, + "visibility": "internal" + } + ], + "src": "2250:23:15" + }, + "scope": 1935, + "src": "2190:190:15", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1933, + "nodeType": "Block", + "src": "2562:106:15", + "statements": [ + { + "AST": { + "nodeType": "YulBlock", + "src": "2624:38:15", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2638:14:15", + "value": { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "2648:4:15" + }, + "variableNames": [ + { + "name": "r.slot", + "nodeType": "YulIdentifier", + "src": "2638:6:15" + } + ] + } + ] + }, + "documentation": "@solidity memory-safe-assembly", + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1930, + "isOffset": false, + "isSlot": true, + "src": "2638:6:15", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 1926, + "isOffset": false, + "isSlot": false, + "src": "2648:4:15", + "valueSize": 1 + } + ], + "id": 1932, + "nodeType": "InlineAssembly", + "src": "2615:47:15" + } + ] + }, + "documentation": { + "id": 1924, + "nodeType": "StructuredDocumentation", + "src": "2386:87:15", + "text": " @dev Returns an `Uint256Slot` with member `value` located at `slot`." + }, + "id": 1934, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getUint256Slot", + "nameLocation": "2487:14:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1927, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1926, + "mutability": "mutable", + "name": "slot", + "nameLocation": "2510:4:15", + "nodeType": "VariableDeclaration", + "scope": 1934, + "src": "2502:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1925, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2502:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2501:14:15" + }, + "returnParameters": { + "id": 1931, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1930, + "mutability": "mutable", + "name": "r", + "nameLocation": "2559:1:15", + "nodeType": "VariableDeclaration", + "scope": 1934, + "src": "2539:21:15", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint256Slot_$1890_storage_ptr", + "typeString": "struct StorageSlot.Uint256Slot" + }, + "typeName": { + "id": 1929, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1928, + "name": "Uint256Slot", + "nameLocations": [ + "2539:11:15" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1890, + "src": "2539:11:15" + }, + "referencedDeclaration": 1890, + "src": "2539:11:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint256Slot_$1890_storage_ptr", + "typeString": "struct StorageSlot.Uint256Slot" + } + }, + "visibility": "internal" + } + ], + "src": "2538:23:15" + }, + "scope": 1935, + "src": "2478:190:15", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 1936, + "src": "1279:1391:15", + "usedErrors": [] + } + ], + "src": "105:2566:15" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.614Z", + "devdoc": { + "details": "Library for reading and writing primitive types to specific storage slots. Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts. This library helps with reading and writing to such slots without the need for inline assembly. The functions in this library return Slot structs that contain a `value` member that can be used to read or write. Example usage to set ERC1967 implementation slot: ``` contract ERC1967 { bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; function _getImplementation() internal view returns (address) { return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value; } function _setImplementation(address newImplementation) internal { require(Address.isContract(newImplementation), \"ERC1967: new implementation is not a contract\"); StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation; } } ``` _Available since v4.1 for `address`, `bool`, `bytes32`, and `uint256`._", + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/TransparentUpgradeableProxy.json b/build/contracts/TransparentUpgradeableProxy.json new file mode 100644 index 0000000..f96ff75 --- /dev/null +++ b/build/contracts/TransparentUpgradeableProxy.json @@ -0,0 +1,7711 @@ +{ + "contractName": "TransparentUpgradeableProxy", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "admin_", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "stateMutability": "payable", + "type": "receive" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "admin_", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "implementation_", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "changeAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_logic\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"admin_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"admin_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"changeAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"implementation_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"This contract implements a proxy that is upgradeable by an admin. To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector clashing], which can potentially be used in an attack, this contract uses the https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two things that go hand in hand: 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if that call matches one of the admin functions exposed by the proxy itself. 2. If the admin calls the proxy, it can access the admin functions, but its calls will never be forwarded to the implementation. If the admin tries to call a function on the implementation it will fail with an error that says \\\"admin cannot fallback to proxy target\\\". These properties mean that the admin account can only be used for admin actions like upgrading the proxy or changing the admin, so it's best if it's a dedicated account that is not used for anything else. This will avoid headaches due to sudden errors when trying to call a function from the proxy implementation. Our recommendation is for the dedicated account to be an instance of the {ProxyAdmin} contract. If set up this way, you should think of the `ProxyAdmin` instance as the real administrative interface of your proxy.\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is upgraded.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"admin()\":{\"details\":\"Returns the current admin. NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyAdmin}. TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`\"},\"changeAdmin(address)\":{\"details\":\"Changes the admin of the proxy. Emits an {AdminChanged} event. NOTE: Only the admin can call this function. See {ProxyAdmin-changeProxyAdmin}.\"},\"constructor\":{\"details\":\"Initializes an upgradeable proxy managed by `_admin`, backed by the implementation at `_logic`, and optionally initialized with `_data` as explained in {ERC1967Proxy-constructor}.\"},\"implementation()\":{\"details\":\"Returns the current implementation. NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyImplementation}. TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`\"},\"upgradeTo(address)\":{\"details\":\"Upgrade the implementation of the proxy. NOTE: Only the admin can call this function. See {ProxyAdmin-upgrade}.\"},\"upgradeToAndCall(address,bytes)\":{\"details\":\"Upgrade the implementation of the proxy, and then call a function from the new implementation as specified by `data`, which should be an encoded function call. This is useful to initialize new storage variables in the proxied contract. NOTE: Only the admin can call this function. See {ProxyAdmin-upgradeAndCall}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":\"TransparentUpgradeableProxy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0xabf3f59bc0e5423eae45e459dbe92e7052c6983628d39008590edc852a62f94a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89c2a0f70157c13845be5cb49b078a6374fee3a78fa950052a3af26190255da8\",\"dweb:/ipfs/QmUcvMEQH1oMM2pUyMuDiBUKdvvnTz1NRB8bmPHrVq8725\"]},\"@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0xa6a787e7a901af6511e19aa53e1a00352db215a011d2c7a438d0582dd5da76f9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6c4477d480bac20d681ade0e712b77ad828acf530a1d5c0abc5fb78068a05a1\",\"dweb:/ipfs/QmdBqsK8CcUceTeWzhHwFDEvKMoHimwtV96Lbim7ZBtCb8\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xf96f969e24029d43d0df89e59d365f277021dac62b48e1c1e3ebe0acdd7f1ca1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec772b45a624be516f1c81970caa8a2e144301e9d0921cbc1a2789fef39a1269\",\"dweb:/ipfs/QmNyjwxCrGhQMyzLD93oUobJXVe9ceJvRvfXwbEtuxPiEj\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]}},\"version\":1}", + "bytecode": "0x608060405260405162000e4438038062000e44833981016040819052620000269162000497565b828162000036828260006200004d565b50620000449050826200008a565b505050620005ca565b6200005883620000e5565b600082511180620000665750805b1562000085576200008383836200012760201b6200022e1760201c565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f620000b562000156565b604080516001600160a01b03928316815291841660208301520160405180910390a1620000e2816200018f565b50565b620000f08162000244565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200014f838360405180606001604052806027815260200162000e1d60279139620002f8565b9392505050565b60006200018060008051602062000dfd83398151915260001b6200037760201b620001ea1760201c565b546001600160a01b0316919050565b6001600160a01b038116620001fa5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b806200022360008051602062000dfd83398151915260001b6200037760201b620001ea1760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6200025a816200037a60201b6200025a1760201c565b620002be5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620001f1565b80620002237f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6200037760201b620001ea1760201c565b6060600080856001600160a01b03168560405162000317919062000577565b600060405180830381855af49150503d806000811462000354576040519150601f19603f3d011682016040523d82523d6000602084013e62000359565b606091505b5090925090506200036d8683838762000389565b9695505050505050565b90565b6001600160a01b03163b151590565b60608315620003fd578251600003620003f557620003a7856200037a565b620003f55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620001f1565b508162000409565b62000409838362000411565b949350505050565b815115620004225781518083602001fd5b8060405162461bcd60e51b8152600401620001f1919062000595565b80516001600160a01b03811681146200045657600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200048e57818101518382015260200162000474565b50506000910152565b600080600060608486031215620004ad57600080fd5b620004b8846200043e565b9250620004c8602085016200043e565b60408501519092506001600160401b0380821115620004e657600080fd5b818601915086601f830112620004fb57600080fd5b8151818111156200051057620005106200045b565b604051601f8201601f19908116603f011681019083821181831017156200053b576200053b6200045b565b816040528281528960208487010111156200055557600080fd5b6200056883602083016020880162000471565b80955050505050509250925092565b600082516200058b81846020870162000471565b9190910192915050565b6020815260008251806020840152620005b681604085016020870162000471565b601f01601f19169190910160400192915050565b61082380620005da6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b610080366004610676565b610118565b61005b610093366004610691565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e4366004610676565b6101ed565b3480156100f557600080fd5b506100ad61020d565b610106610269565b6101166101116102fe565b610308565b565b61012061032c565b6001600160a01b0316330361014d5761014a8160405180602001604052806000815250600061034d565b50565b61014a6100fe565b61015d61032c565b6001600160a01b031633036101b4576101af8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061034d915050565b505050565b6101af6100fe565b60006101c661032c565b6001600160a01b031633036101e2576101dd6102fe565b905090565b6101ea6100fe565b90565b6101f561032c565b6001600160a01b0316330361014d5761014a81610378565b600061021761032c565b6001600160a01b031633036101e2576101dd61032c565b606061025383836040518060600160405280602781526020016107c7602791396103cc565b9392505050565b6001600160a01b03163b151590565b61027161032c565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd610444565b3660008037600080366000845af43d6000803e808015610327573d6000f35b3d6000fd5b60006000805160206107878339815191525b546001600160a01b0316919050565b6103568361045a565b6000825111806103635750805b156101af57610372838361022e565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103a161032c565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a8161049a565b6060600080856001600160a01b0316856040516103e99190610737565b600060405180830381855af49150503d8060008114610424576040519150601f19603f3d011682016040523d82523d6000602084013e610429565b606091505b509150915061043a86838387610531565b9695505050505050565b60006000805160206107a783398151915261033e565b610463816105b0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166104ff5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b806000805160206107878339815191525b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060831561059e5782516000036105975761054b8561025a565b6105975760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f5565b50816105a8565b6105a88383610630565b949350505050565b6105b98161025a565b61061b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f5565b806000805160206107a7833981519152610510565b8151156106405781518083602001fd5b8060405162461bcd60e51b81526004016102f59190610753565b80356001600160a01b038116811461067157600080fd5b919050565b60006020828403121561068857600080fd5b6102538261065a565b6000806000604084860312156106a657600080fd5b6106af8461065a565b925060208401356001600160401b03808211156106cb57600080fd5b818601915086601f8301126106df57600080fd5b8135818111156106ee57600080fd5b87602082850101111561070057600080fd5b6020830194508093505050509250925092565b60005b8381101561072e578181015183820152602001610716565b50506000910152565b60008251610749818460208701610713565b9190910192915050565b6020815260008251806020840152610772816040850160208701610713565b601f01601f1916919091016040019291505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a5f26c306c108851566f88cc24110bc353d992ee92e9989d1391b773dd333e2364736f6c63430008120033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", + "deployedBytecode": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b610080366004610676565b610118565b61005b610093366004610691565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e4366004610676565b6101ed565b3480156100f557600080fd5b506100ad61020d565b610106610269565b6101166101116102fe565b610308565b565b61012061032c565b6001600160a01b0316330361014d5761014a8160405180602001604052806000815250600061034d565b50565b61014a6100fe565b61015d61032c565b6001600160a01b031633036101b4576101af8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061034d915050565b505050565b6101af6100fe565b60006101c661032c565b6001600160a01b031633036101e2576101dd6102fe565b905090565b6101ea6100fe565b90565b6101f561032c565b6001600160a01b0316330361014d5761014a81610378565b600061021761032c565b6001600160a01b031633036101e2576101dd61032c565b606061025383836040518060600160405280602781526020016107c7602791396103cc565b9392505050565b6001600160a01b03163b151590565b61027161032c565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd610444565b3660008037600080366000845af43d6000803e808015610327573d6000f35b3d6000fd5b60006000805160206107878339815191525b546001600160a01b0316919050565b6103568361045a565b6000825111806103635750805b156101af57610372838361022e565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103a161032c565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a8161049a565b6060600080856001600160a01b0316856040516103e99190610737565b600060405180830381855af49150503d8060008114610424576040519150601f19603f3d011682016040523d82523d6000602084013e610429565b606091505b509150915061043a86838387610531565b9695505050505050565b60006000805160206107a783398151915261033e565b610463816105b0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166104ff5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b806000805160206107878339815191525b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060831561059e5782516000036105975761054b8561025a565b6105975760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f5565b50816105a8565b6105a88383610630565b949350505050565b6105b98161025a565b61061b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f5565b806000805160206107a7833981519152610510565b8151156106405781518083602001fd5b8060405162461bcd60e51b81526004016102f59190610753565b80356001600160a01b038116811461067157600080fd5b919050565b60006020828403121561068857600080fd5b6102538261065a565b6000806000604084860312156106a657600080fd5b6106af8461065a565b925060208401356001600160401b03808211156106cb57600080fd5b818601915086601f8301126106df57600080fd5b8135818111156106ee57600080fd5b87602082850101111561070057600080fd5b6020830194508093505050509250925092565b60005b8381101561072e578181015183820152602001610716565b50506000910152565b60008251610749818460208701610713565b9190910192915050565b6020815260008251806020840152610772816040850160208701610713565b601f01601f1916919091016040019291505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a5f26c306c108851566f88cc24110bc353d992ee92e9989d1391b773dd333e2364736f6c63430008120033", + "immutableReferences": {}, + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:3832:30", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:30", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "74:117:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "84:22:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "99:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "93:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "93:13:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "84:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "169:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "178:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "181:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "171:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "171:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "171:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "128:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "139:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "154:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "159:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "150:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "150:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "163:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "146:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "146:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "135:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "135:31:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "125:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "125:42:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "118:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "118:50:30" + }, + "nodeType": "YulIf", + "src": "115:70:30" + } + ] + }, + "name": "abi_decode_address_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "53:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "64:5:30", + "type": "" + } + ], + "src": "14:177:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "228:95:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "245:1:30", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "252:3:30", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "257:10:30", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "248:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "248:20:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "238:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "238:31:30" + }, + "nodeType": "YulExpressionStatement", + "src": "238:31:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "285:1:30", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "288:4:30", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "278:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "278:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "278:15:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "309:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "312:4:30", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "302:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "302:15:30" + }, + "nodeType": "YulExpressionStatement", + "src": "302:15:30" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "196:127:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "394:184:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "404:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "413:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "408:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "473:63:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "498:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "503:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "494:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "494:11:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "517:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "522:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "513:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "513:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "507:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "507:18:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "487:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "487:39:30" + }, + "nodeType": "YulExpressionStatement", + "src": "487:39:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "434:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "437:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "431:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "431:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "445:19:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "447:15:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "456:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "459:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "452:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "452:10:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "447:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "427:3:30", + "statements": [] + }, + "src": "423:113:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "556:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "561:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "552:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "552:16:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "570:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "545:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "545:27:30" + }, + "nodeType": "YulExpressionStatement", + "src": "545:27:30" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "372:3:30", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "377:3:30", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "382:6:30", + "type": "" + } + ], + "src": "328:250:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "707:942:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "753:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "762:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "765:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "755:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "755:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "755:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "728:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "737:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "724:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "724:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "749:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "720:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "720:32:30" + }, + "nodeType": "YulIf", + "src": "717:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "778:50:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "818:9:30" + } + ], + "functionName": { + "name": "abi_decode_address_fromMemory", + "nodeType": "YulIdentifier", + "src": "788:29:30" + }, + "nodeType": "YulFunctionCall", + "src": "788:40:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "778:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "837:59:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "881:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "892:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "877:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "877:18:30" + } + ], + "functionName": { + "name": "abi_decode_address_fromMemory", + "nodeType": "YulIdentifier", + "src": "847:29:30" + }, + "nodeType": "YulFunctionCall", + "src": "847:49:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "837:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "905:39:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "929:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "940:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "925:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "925:18:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "919:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "919:25:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "909:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "953:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "971:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "975:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "967:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "967:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "979:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "963:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "963:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "957:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1008:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1017:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1020:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1010:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1010:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1010:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "996:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1004:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "993:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "993:14:30" + }, + "nodeType": "YulIf", + "src": "990:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1033:32:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1047:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1058:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1043:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1043:22:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "1037:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1113:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1122:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1125:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1115:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1115:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1115:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1092:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1096:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1088:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1088:13:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1103:7:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1084:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1084:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1077:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1077:35:30" + }, + "nodeType": "YulIf", + "src": "1074:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1138:19:30", + "value": { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1154:2:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1148:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "1148:9:30" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "1142:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1180:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1182:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "1182:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1182:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1172:2:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1176:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1169:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1169:10:30" + }, + "nodeType": "YulIf", + "src": "1166:36:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1211:17:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1225:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "1221:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1221:7:30" + }, + "variables": [ + { + "name": "_4", + "nodeType": "YulTypedName", + "src": "1215:2:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1237:23:30", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1257:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1251:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "1251:9:30" + }, + "variables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1241:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1269:71:30", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1291:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1315:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1319:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1311:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1311:13:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "1326:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1307:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1307:22:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1331:2:30", + "type": "", + "value": "63" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1303:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1303:31:30" + }, + { + "name": "_4", + "nodeType": "YulIdentifier", + "src": "1336:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1299:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1299:40:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1287:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1287:53:30" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "1273:10:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1399:22:30", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1401:16:30" + }, + "nodeType": "YulFunctionCall", + "src": "1401:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1401:18:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1358:10:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1370:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1355:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1355:18:30" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1378:10:30" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1390:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1375:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1375:22:30" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1352:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1352:46:30" + }, + "nodeType": "YulIf", + "src": "1349:72:30" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1437:2:30", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1441:10:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1430:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1430:22:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1430:22:30" + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1468:6:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1476:2:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1461:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1461:18:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1461:18:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1525:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1534:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1537:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1527:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1527:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1527:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1502:2:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1506:2:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1498:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1498:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1511:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1494:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1494:20:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1516:7:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1491:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "1491:33:30" + }, + "nodeType": "YulIf", + "src": "1488:53:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1589:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1593:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1585:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1585:11:30" + }, + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1602:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1610:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1598:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1598:15:30" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "1615:2:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "1550:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "1550:68:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1550:68:30" + }, + { + "nodeType": "YulAssignment", + "src": "1627:16:30", + "value": { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1637:6:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "1627:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_bytes_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "657:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "668:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "680:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "688:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "696:6:30", + "type": "" + } + ], + "src": "583:1066:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1783:175:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1793:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1805:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1816:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1801:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1801:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1793:4:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1828:29:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1846:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1851:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1842:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1842:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1855:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1838:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1838:19:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "1832:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1873:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1888:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1896:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1884:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1884:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1866:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1866:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1866:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1920:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1931:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1916:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1916:18:30" + }, + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1940:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1948:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1936:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1936:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1909:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1909:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1909:43:30" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1744:9:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1755:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1763:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1774:4:30", + "type": "" + } + ], + "src": "1654:304:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2137:228:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2154:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2165:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2147:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2147:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2147:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2188:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2199:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2184:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2184:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2204:2:30", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2177:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2177:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2177:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2227:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2238:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2223:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2223:18:30" + }, + { + "hexValue": "455243313936373a206e65772061646d696e20697320746865207a65726f2061", + "kind": "string", + "nodeType": "YulLiteral", + "src": "2243:34:30", + "type": "", + "value": "ERC1967: new admin is the zero a" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2216:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2216:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2216:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2298:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2309:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2294:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2294:18:30" + }, + { + "hexValue": "646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "2314:8:30", + "type": "", + "value": "ddress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2287:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2287:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2287:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "2332:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2344:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2355:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2340:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2340:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2332:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3820e16891102c1360a787e6e648431097d92537f969d458f5c94b56f8318be5__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2114:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2128:4:30", + "type": "" + } + ], + "src": "1963:402:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2544:235:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2561:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2572:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2554:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2554:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2554:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2595:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2606:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2591:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2591:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2611:2:30", + "type": "", + "value": "45" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2584:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2584:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2584:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2634:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2645:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2630:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2630:18:30" + }, + { + "hexValue": "455243313936373a206e657720696d706c656d656e746174696f6e206973206e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "2650:34:30", + "type": "", + "value": "ERC1967: new implementation is n" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2623:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2623:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2623:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2705:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2716:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2701:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2701:18:30" + }, + { + "hexValue": "6f74206120636f6e7472616374", + "kind": "string", + "nodeType": "YulLiteral", + "src": "2721:15:30", + "type": "", + "value": "ot a contract" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2694:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2694:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2694:43:30" + }, + { + "nodeType": "YulAssignment", + "src": "2746:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2758:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2769:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2754:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2754:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2746:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2521:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2535:4:30", + "type": "" + } + ], + "src": "2370:409:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2921:150:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2931:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2951:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2945:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "2945:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2935:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3006:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3014:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3002:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3002:17:30" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3021:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3026:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "2967:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "2967:66:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2967:66:30" + }, + { + "nodeType": "YulAssignment", + "src": "3042:23:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3053:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3058:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3049:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3049:16:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3042:3:30" + } + ] + } + ] + }, + "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": "2897:3:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2902:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2913:3:30", + "type": "" + } + ], + "src": "2784:287:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3250:179:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3267:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3278:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3260:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3260:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3260:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3301:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3312:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3297:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3297:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3317:2:30", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3290:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3290:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3290:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3340:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3351:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3336:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3336:18:30" + }, + { + "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", + "kind": "string", + "nodeType": "YulLiteral", + "src": "3356:31:30", + "type": "", + "value": "Address: call to non-contract" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3329:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3329:59:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3329:59:30" + }, + { + "nodeType": "YulAssignment", + "src": "3397:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3409:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3420:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3405:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3405:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3397:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3227:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3241:4:30", + "type": "" + } + ], + "src": "3076:353:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3555:275:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3572:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3583:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3565:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3565:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3565:21:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3595:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3615:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3609:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "3609:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3599:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3642:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3653:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3638:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3638:18:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3658:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3631:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3631:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3631:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3713:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3721:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3709:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3709:15:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3730:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3741:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3726:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3726:18:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3746:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "3674:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "3674:79:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3674:79:30" + }, + { + "nodeType": "YulAssignment", + "src": "3762:62:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3778:9:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3797:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3805:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3793:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3793:15:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3814:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "3810:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3810:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3789:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3789:29:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3774:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3774:45:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3821:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3770:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3770:54:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3762:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3524:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3535:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3546:4:30", + "type": "" + } + ], + "src": "3434:396:30" + } + ] + }, + "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 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_with_cleanup(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 mstore(add(dst, length), 0)\n }\n function abi_decode_tuple_t_addresst_addresst_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address_fromMemory(headStart)\n value1 := abi_decode_address_fromMemory(add(headStart, 32))\n let offset := mload(add(headStart, 64))\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_with_cleanup(add(_2, 32), add(memPtr, 32), _3)\n value2 := memPtr\n }\n function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n }\n function abi_encode_tuple_t_stringliteral_3820e16891102c1360a787e6e648431097d92537f969d458f5c94b56f8318be5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC1967: new admin is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"ERC1967: new implementation is n\")\n mstore(add(headStart, 96), \"ot a contract\")\n tail := add(headStart, 128)\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_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"Address: call to non-contract\")\n tail := add(headStart, 96)\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_with_cleanup(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n}", + "id": 30, + "language": "Yul", + "name": "#utility.yul" + } + ], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:4169:30", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:30", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "63:124:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "73:29:30", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "95:6:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "82:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "82:20:30" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "73:5:30" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "165:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "174:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "177:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "167:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "167:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "167:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "124:5:30" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "135:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "150:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "155:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "146:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "146:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "159:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "142:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "142:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "131:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "131:31:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "121:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "121:42:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "114:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "114:50:30" + }, + "nodeType": "YulIf", + "src": "111:70:30" + } + ] + }, + "name": "abi_decode_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "42:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "53:5:30", + "type": "" + } + ], + "src": "14:173:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "262:116:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "308:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "283:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "292:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "279:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "279:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "304:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "275:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "275:32:30" + }, + "nodeType": "YulIf", + "src": "272:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "333:39:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "362:9:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "343:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "343:29:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "333:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "228:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "239:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "251:6:30", + "type": "" + } + ], + "src": "192:186:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "489:559:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "535:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "544:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "547:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "537:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "537:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "537:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "510:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "519:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "506:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "506:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "531:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "502:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "502:32:30" + }, + "nodeType": "YulIf", + "src": "499:52:30" + }, + { + "nodeType": "YulAssignment", + "src": "560:39:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "589:9:30" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "570:18:30" + }, + "nodeType": "YulFunctionCall", + "src": "570:29:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "560:6:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "608:46:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "639:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "650:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "635:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "635:18:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "622:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "622:32:30" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "612:6:30", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "663:28:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "681:2:30", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "685:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "677:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "677:10:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "689:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "673:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "673:18:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "667:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "718:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "727:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "730:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "720:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "720:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "720:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "706:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "714:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "703:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "703:14:30" + }, + "nodeType": "YulIf", + "src": "700:34:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "743:32:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "757:9:30" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "768:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "753:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "753:22:30" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "747:2:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "823:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "832:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "835:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "825:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "825:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "825:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "802:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "806:4:30", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "798:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "798:13:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "813:7:30" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "794:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "794:27:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "787:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "787:35:30" + }, + "nodeType": "YulIf", + "src": "784:55:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "848:30:30", + "value": { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "875:2:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "862:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "862:16:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "852:6:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "905:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "914:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "917:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "907:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "907:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "907:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "893:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "901:2:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "890:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "890:14:30" + }, + "nodeType": "YulIf", + "src": "887:34:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "971:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "980:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "983:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "973:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "973:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "973:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "944:2:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "948:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "940:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "940:15:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "957:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "936:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "936:24:30" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "962:7:30" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "933:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "933:37:30" + }, + "nodeType": "YulIf", + "src": "930:57:30" + }, + { + "nodeType": "YulAssignment", + "src": "996:21:30", + "value": { + "arguments": [ + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "1010:2:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1014:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1006:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1006:11:30" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "996:6:30" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1026:16:30", + "value": { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1036:6:30" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "1026:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bytes_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "439:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "450:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "462:6:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "470:6:30", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "478:6:30", + "type": "" + } + ], + "src": "383:665:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1154:102:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1164:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1176:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1187:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1172:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1172:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1164:4:30" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1206:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1221:6:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1237:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1242:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1233:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1233:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1246:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1229:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1229:19:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1217:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1217:32:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1199:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1199:51:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1199:51:30" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1123:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1134:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1145:4:30", + "type": "" + } + ], + "src": "1053:203:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1435:296:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1452:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1463:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1445:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1445:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1445:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1486:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1497:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1482:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1482:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1502:2:30", + "type": "", + "value": "66" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1475:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1475:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1475:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1525:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1536:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1521:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1521:18:30" + }, + { + "hexValue": "5472616e73706172656e745570677261646561626c6550726f78793a2061646d", + "kind": "string", + "nodeType": "YulLiteral", + "src": "1541:34:30", + "type": "", + "value": "TransparentUpgradeableProxy: adm" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1514:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1514:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1514:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1596:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1607:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1592:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1592:18:30" + }, + { + "hexValue": "696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267", + "kind": "string", + "nodeType": "YulLiteral", + "src": "1612:34:30", + "type": "", + "value": "in cannot fallback to proxy targ" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1585:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1585:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1585:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1667:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1678:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1663:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1663:19:30" + }, + { + "hexValue": "6574", + "kind": "string", + "nodeType": "YulLiteral", + "src": "1684:4:30", + "type": "", + "value": "et" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1656:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1656:33:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1656:33:30" + }, + { + "nodeType": "YulAssignment", + "src": "1698:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1710:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1721:3:30", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1706:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1706:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1698:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_f5d2ea39d7e6c7d19dc32ccc2bd7ca26b7aa4a603ef4aa6f2b205c93c3ffe43d__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1412:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1426:4:30", + "type": "" + } + ], + "src": "1261:470:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1865:175:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1875:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1887:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1898:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1883:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1883:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1875:4:30" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1910:29:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1928:3:30", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1933:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1924:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1924:11:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1937:1:30", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1920:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1920:19:30" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "1914:2:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1955:9:30" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1970:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1978:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1966:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1966:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1948:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1948:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1948:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2002:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2013:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1998:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "1998:18:30" + }, + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "2022:6:30" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2030:2:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2018:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2018:15:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1991:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "1991:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "1991:43:30" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1826:9:30", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1837:6:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1845:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1856:4:30", + "type": "" + } + ], + "src": "1736:304:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2111:184:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2121:10:30", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2130:1:30", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "2125:1:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2190:63:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2215:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2220:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2211:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2211:11:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2234:3:30" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2239:1:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2230:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2230:11:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2224:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "2224:18:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2204:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2204:39:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2204:39:30" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2151:1:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2154:6:30" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "2148:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "2148:13:30" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "2162:19:30", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2164:15:30", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2173:1:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2176:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2169:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2169:10:30" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2164:1:30" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "2144:3:30", + "statements": [] + }, + "src": "2140:113:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2273:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2278:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2269:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2269:16:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2287:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2262:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2262:27:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2262:27:30" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "2089:3:30", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "2094:3:30", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2099:6:30", + "type": "" + } + ], + "src": "2045:250:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2437:150:30", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2447:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2467:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2461:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "2461:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2451:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2522:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2530:4:30", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2518:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2518:17:30" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2537:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2542:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "2483:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "2483:66:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2483:66:30" + }, + { + "nodeType": "YulAssignment", + "src": "2558:23:30", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2569:3:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2574:6:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2565:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2565:16:30" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2558:3:30" + } + ] + } + ] + }, + "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": "2413:3:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2418:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2429:3:30", + "type": "" + } + ], + "src": "2300:287:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2766:228:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2783:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2794:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2776:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2776:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2776:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2817:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2828:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2813:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2813:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2833:2:30", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2806:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2806:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2806:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2856:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2867:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2852:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2852:18:30" + }, + { + "hexValue": "455243313936373a206e65772061646d696e20697320746865207a65726f2061", + "kind": "string", + "nodeType": "YulLiteral", + "src": "2872:34:30", + "type": "", + "value": "ERC1967: new admin is the zero a" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2845:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2845:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2845:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2927:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2938:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2923:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2923:18:30" + }, + { + "hexValue": "646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "2943:8:30", + "type": "", + "value": "ddress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2916:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "2916:36:30" + }, + "nodeType": "YulExpressionStatement", + "src": "2916:36:30" + }, + { + "nodeType": "YulAssignment", + "src": "2961:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2973:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2984:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2969:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "2969:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2961:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3820e16891102c1360a787e6e648431097d92537f969d458f5c94b56f8318be5__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2743:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2757:4:30", + "type": "" + } + ], + "src": "2592:402:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3173:179:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3190:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3201:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3183:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3183:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3183:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3224:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3235:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3220:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3220:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3240:2:30", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3213:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3213:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3213:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3263:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3274:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3259:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3259:18:30" + }, + { + "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", + "kind": "string", + "nodeType": "YulLiteral", + "src": "3279:31:30", + "type": "", + "value": "Address: call to non-contract" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3252:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3252:59:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3252:59:30" + }, + { + "nodeType": "YulAssignment", + "src": "3320:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3332:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3343:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3328:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3328:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3320:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3150:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3164:4:30", + "type": "" + } + ], + "src": "2999:353:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3531:235:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3548:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3559:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3541:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3541:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3541:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3582:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3593:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3578:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3578:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3598:2:30", + "type": "", + "value": "45" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3571:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3571:30:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3571:30:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3621:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3632:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3617:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3617:18:30" + }, + { + "hexValue": "455243313936373a206e657720696d706c656d656e746174696f6e206973206e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "3637:34:30", + "type": "", + "value": "ERC1967: new implementation is n" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3610:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3610:62:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3610:62:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3692:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3703:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3688:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3688:18:30" + }, + { + "hexValue": "6f74206120636f6e7472616374", + "kind": "string", + "nodeType": "YulLiteral", + "src": "3708:15:30", + "type": "", + "value": "ot a contract" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3681:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3681:43:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3681:43:30" + }, + { + "nodeType": "YulAssignment", + "src": "3733:27:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3745:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3756:3:30", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3741:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3741:19:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3733:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3508:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3522:4:30", + "type": "" + } + ], + "src": "3357:409:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3892:275:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3909:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3920:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3902:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3902:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3902:21:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3932:27:30", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3952:6:30" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3946:5:30" + }, + "nodeType": "YulFunctionCall", + "src": "3946:13:30" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3936:6:30", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3979:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3990:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3975:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "3975:18:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3995:6:30" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3968:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "3968:34:30" + }, + "nodeType": "YulExpressionStatement", + "src": "3968:34:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4050:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4058:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4046:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4046:15:30" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4067:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4078:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4063:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4063:18:30" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4083:6:30" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "4011:34:30" + }, + "nodeType": "YulFunctionCall", + "src": "4011:79:30" + }, + "nodeType": "YulExpressionStatement", + "src": "4011:79:30" + }, + { + "nodeType": "YulAssignment", + "src": "4099:62:30", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4115:9:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4134:6:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4142:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4130:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4130:15:30" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4151:2:30", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "4147:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4147:7:30" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4126:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4126:29:30" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4111:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4111:45:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4158:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4107:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "4107:54:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4099:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3861:9:30", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3872:6:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3883:4:30", + "type": "" + } + ], + "src": "3771:396:30" + } + ] + }, + "contents": "{\n { }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { 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 := 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 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_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_stringliteral_f5d2ea39d7e6c7d19dc32ccc2bd7ca26b7aa4a603ef4aa6f2b205c93c3ffe43d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 66)\n mstore(add(headStart, 64), \"TransparentUpgradeableProxy: adm\")\n mstore(add(headStart, 96), \"in cannot fallback to proxy targ\")\n mstore(add(headStart, 128), \"et\")\n tail := add(headStart, 160)\n }\n function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n }\n function copy_memory_to_memory_with_cleanup(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 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_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_3820e16891102c1360a787e6e648431097d92537f969d458f5c94b56f8318be5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC1967: new admin is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"Address: call to non-contract\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_972b7028e8de0bff0d553b3264eba2312ec98a552add05e58853b313f9f4ac65__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"ERC1967: new implementation is n\")\n mstore(add(headStart, 96), \"ot a contract\")\n tail := add(headStart, 128)\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_with_cleanup(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n}", + "id": 30, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "1649:3469:12:-:0;;;1923:167;;;;;;;;;;;;;;;;;;:::i;:::-;2038:6;2046:5;1024:39:7;2038:6:12;2046:5;1057::7;1024:17;:39::i;:::-;-1:-1:-1;2063:20:12::1;::::0;-1:-1:-1;2076:6:12;2063:12:::1;:20::i;:::-;1923:167:::0;;;1649:3469;;2183:295:8;2321:29;2332:17;2321:10;:29::i;:::-;2378:1;2364:4;:11;:15;:28;;;;2383:9;2364:28;2360:112;;;2408:53;2437:17;2456:4;2408:28;;;;;:53;;:::i;:::-;;2360:112;2183:295;;;:::o;4624:135::-;4688:35;4701:11;:9;:11::i;:::-;4688:35;;;-1:-1:-1;;;;;1884:15:30;;;1866:34;;1936:15;;;1931:2;1916:18;;1909:43;1801:18;4688:35:8;;;;;;;4733:19;4743:8;4733:9;:19::i;:::-;4624:135;:::o;1897:152::-;1963:37;1982:17;1963:18;:37::i;:::-;2015:27;;-1:-1:-1;;;;;2015:27:8;;;;;;;;1897:152;:::o;6469:198:13:-;6552:12;6583:77;6604:6;6612:4;6583:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6576:84;6469:198;-1:-1:-1;;;6469:198:13:o;4108:122:8:-;4152:7;4178:39;-1:-1:-1;;;;;;;;;;;4205:11:8;;4178:26;;;;;:39;;:::i;:::-;:45;-1:-1:-1;;;;;4178:45:8;;4108:122;-1:-1:-1;4108:122:8:o;4312:201::-;-1:-1:-1;;;;;4375:22:8;;4367:73;;;;-1:-1:-1;;;4367:73:8;;2165:2:30;4367:73:8;;;2147:21:30;2204:2;2184:18;;;2177:30;2243:34;2223:18;;;2216:62;-1:-1:-1;;;2294:18:30;;;2287:36;2340:19;;4367:73:8;;;;;;;;;4498:8;4450:39;-1:-1:-1;;;;;;;;;;;4477:11:8;;4450:26;;;;;:39;;:::i;:::-;:56;;-1:-1:-1;;;;;;4450:56:8;-1:-1:-1;;;;;4450:56:8;;;;;;;;;;-1:-1:-1;4312:201:8:o;1532:259::-;1613:37;1632:17;1613:18;;;;;:37;;:::i;:::-;1605:95;;;;-1:-1:-1;;;1605:95:8;;2572:2:30;1605:95:8;;;2554:21:30;2611:2;2591:18;;;2584:30;2650:34;2630:18;;;2623:62;-1:-1:-1;;;2701:18:30;;;2694:43;2754:19;;1605:95:8;2370:409:30;1605:95:8;1767:17;1710:48;1030:66;1737:20;;1710:26;;;;;:48;;:::i;6853:325:13:-;6994:12;7019;7033:23;7060:6;-1:-1:-1;;;;;7060:19:13;7080:4;7060:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7018:67:13;;-1:-1:-1;7018:67:13;-1:-1:-1;7102:69:13;7129:6;7018:67;;7158:12;7102:26;:69::i;:::-;7095:76;6853:325;-1:-1:-1;;;;;;6853:325:13:o;1614:190:15:-;1784:4;1614:190::o;1175:320:13:-;-1:-1:-1;;;;;1465:19:13;;:23;;;1175:320::o;7466:628::-;7646:12;7674:7;7670:418;;;7701:10;:17;7722:1;7701:22;7697:286;;7916:18;7927:6;7916:10;:18::i;:::-;7908:60;;;;-1:-1:-1;;;7908:60:13;;3278:2:30;7908:60:13;;;3260:21:30;3317:2;3297:18;;;3290:30;3356:31;3336:18;;;3329:59;3405:18;;7908:60:13;3076:353:30;7908:60:13;-1:-1:-1;8003:10:13;7996:17;;7670:418;8044:33;8052:10;8064:12;8044:7;:33::i;:::-;7466:628;;;;;;:::o;8616:540::-;8775:17;;:21;8771:379;;9003:10;8997:17;9059:15;9046:10;9042:2;9038:19;9031:44;8771:379;9126:12;9119:20;;-1:-1:-1;;;9119:20:13;;;;;;;;:::i;14:177:30:-;93:13;;-1:-1:-1;;;;;135:31:30;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:127::-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:250;413:1;423:113;437:6;434:1;431:13;423:113;;;513:11;;;507:18;494:11;;;487:39;459:2;452:10;423:113;;;-1:-1:-1;;570:1:30;552:16;;545:27;328:250::o;583:1066::-;680:6;688;696;749:2;737:9;728:7;724:23;720:32;717:52;;;765:1;762;755:12;717:52;788:40;818:9;788:40;:::i;:::-;778:50;;847:49;892:2;881:9;877:18;847:49;:::i;:::-;940:2;925:18;;919:25;837:59;;-1:-1:-1;;;;;;993:14:30;;;990:34;;;1020:1;1017;1010:12;990:34;1058:6;1047:9;1043:22;1033:32;;1103:7;1096:4;1092:2;1088:13;1084:27;1074:55;;1125:1;1122;1115:12;1074:55;1154:2;1148:9;1176:2;1172;1169:10;1166:36;;;1182:18;;:::i;:::-;1257:2;1251:9;1225:2;1311:13;;-1:-1:-1;;1307:22:30;;;1331:2;1303:31;1299:40;1287:53;;;1355:18;;;1375:22;;;1352:46;1349:72;;;1401:18;;:::i;:::-;1441:10;1437:2;1430:22;1476:2;1468:6;1461:18;1516:7;1511:2;1506;1502;1498:11;1494:20;1491:33;1488:53;;;1537:1;1534;1527:12;1488:53;1550:68;1615:2;1610;1602:6;1598:15;1593:2;1589;1585:11;1550:68;:::i;:::-;1637:6;1627:16;;;;;;;583:1066;;;;;:::o;2784:287::-;2913:3;2951:6;2945:13;2967:66;3026:6;3021:3;3014:4;3006:6;3002:17;2967:66;:::i;:::-;3049:16;;;;;2784:287;-1:-1:-1;;2784:287:30:o;3434:396::-;3583:2;3572:9;3565:21;3546:4;3615:6;3609:13;3658:6;3653:2;3642:9;3638:18;3631:34;3674:79;3746:6;3741:2;3730:9;3726:18;3721:2;3713:6;3709:15;3674:79;:::i;:::-;3814:2;3793:15;-1:-1:-1;;3789:29:30;3774:45;;;;3821:2;3770:54;;3434:396;-1:-1:-1;;3434:396:30:o;:::-;1649:3469:12;;;;;;", + "deployedSourceMap": "1649:3469:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2898:11:9;:9;:11::i;:::-;1649:3469:12;;2675:11:9;:9;:11::i;3960:134:12:-;;;;;;;;;;-1:-1:-1;3960:134:12;;;;;:::i;:::-;;:::i;4470:164::-;;;;;;:::i;:::-;;:::i;3363:129::-;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1217:32:30;;;1199:51;;1187:2;1172:18;3363:129:12;;;;;;;3697:103;;;;;;;;;;-1:-1:-1;3697:103:12;;;;;:::i;:::-;;:::i;2807:96::-;;;;;;;;;;;;;:::i;2322:110:9:-;2370:17;:15;:17::i;:::-;2397:28;2407:17;:15;:17::i;:::-;2397:9;:28::i;:::-;2322:110::o;3960:134:12:-;2278:11;:9;:11::i;:::-;-1:-1:-1;;;;;2264:25:12;:10;:25;2260:99;;4033:54:::1;4051:17;4070:9;;;;;;;;;;;::::0;4081:5:::1;4033:17;:54::i;:::-;3960:134:::0;:::o;2260:99::-;2337:11;:9;:11::i;4470:164::-;2278:11;:9;:11::i;:::-;-1:-1:-1;;;;;2264:25:12;:10;:25;2260:99;;4579:48:::1;4597:17;4616:4;;4579:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;4622:4:12::1;::::0;-1:-1:-1;4579:17:12::1;::::0;-1:-1:-1;;4579:48:12:i:1;:::-;4470:164:::0;;;:::o;2260:99::-;2337:11;:9;:11::i;3363:129::-;3415:23;2278:11;:9;:11::i;:::-;-1:-1:-1;;;;;2264:25:12;:10;:25;2260:99;;3468:17:::1;:15;:17::i;:::-;3450:35;;3363:129:::0;:::o;2260:99::-;2337:11;:9;:11::i;:::-;3363:129;:::o;3697:103::-;2278:11;:9;:11::i;:::-;-1:-1:-1;;;;;2264:25:12;:10;:25;2260:99;;3771:22:::1;3784:8;3771:12;:22::i;2807:96::-:0;2850:14;2278:11;:9;:11::i;:::-;-1:-1:-1;;;;;2264:25:12;:10;:25;2260:99;;2885:11:::1;:9;:11::i;6469:198:13:-:0;6552:12;6583:77;6604:6;6612:4;6583:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6576:84;6469:198;-1:-1:-1;;;6469:198:13:o;1175:320::-;-1:-1:-1;;;;;1465:19:13;;:23;;;1175:320::o;4909:207:12:-;4994:11;:9;:11::i;:::-;-1:-1:-1;;;;;4980:25:12;:10;:25;4972:104;;;;-1:-1:-1;;;4972:104:12;;1463:2:30;4972:104:12;;;1445:21:30;1502:2;1482:18;;;1475:30;1541:34;1521:18;;;1514:62;1612:34;1592:18;;;1585:62;-1:-1:-1;;;1663:19:30;;;1656:33;1706:19;;4972:104:12;;;;;;;;1148:140:7;1215:12;1246:35;:33;:35::i;948:895:9:-;1286:14;1283:1;1280;1267:34;1500:1;1497;1481:14;1478:1;1462:14;1455:5;1442:60;1576:16;1573:1;1570;1555:38;1614:6;1681:66;;;;1796:16;1793:1;1786:27;1681:66;1716:16;1713:1;1706:27;4108:122:8;4152:7;-1:-1:-1;;;;;;;;;;;4178:39:8;:45;-1:-1:-1;;;;;4178:45:8;;4108:122;-1:-1:-1;4108:122:8:o;2183:295::-;2321:29;2332:17;2321:10;:29::i;:::-;2378:1;2364:4;:11;:15;:28;;;;2383:9;2364:28;2360:112;;;2408:53;2437:17;2456:4;2408:28;:53::i;:::-;;2183:295;;;:::o;4624:135::-;4688:35;4701:11;:9;:11::i;:::-;4688:35;;;-1:-1:-1;;;;;1966:15:30;;;1948:34;;2018:15;;;2013:2;1998:18;;1991:43;1883:18;4688:35:8;;;;;;;4733:19;4743:8;4733:9;:19::i;6853:325:13:-;6994:12;7019;7033:23;7060:6;-1:-1:-1;;;;;7060:19:13;7080:4;7060:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7018:67;;;;7102:69;7129:6;7137:7;7146:10;7158:12;7102:26;:69::i;:::-;7095:76;6853:325;-1:-1:-1;;;;;;6853:325:13:o;1301:140:8:-;1354:7;-1:-1:-1;;;;;;;;;;;1380:48:8;1614:190:15;1897:152:8;1963:37;1982:17;1963:18;:37::i;:::-;2015:27;;-1:-1:-1;;;;;2015:27:8;;;;;;;;1897:152;:::o;4312:201::-;-1:-1:-1;;;;;4375:22:8;;4367:73;;;;-1:-1:-1;;;4367:73:8;;2794:2:30;4367:73:8;;;2776:21:30;2833:2;2813:18;;;2806:30;2872:34;2852:18;;;2845:62;-1:-1:-1;;;2923:18:30;;;2916:36;2969:19;;4367:73:8;2592:402:30;4367:73:8;4498:8;-1:-1:-1;;;;;;;;;;;4450:39:8;:56;;-1:-1:-1;;;;;;4450:56:8;-1:-1:-1;;;;;4450:56:8;;;;;;;;;;-1:-1:-1;4312:201:8:o;7466:628:13:-;7646:12;7674:7;7670:418;;;7701:10;:17;7722:1;7701:22;7697:286;;7916:18;7927:6;7916:10;:18::i;:::-;7908:60;;;;-1:-1:-1;;;7908:60:13;;3201:2:30;7908:60:13;;;3183:21:30;3240:2;3220:18;;;3213:30;3279:31;3259:18;;;3252:59;3328:18;;7908:60:13;2999:353:30;7908:60:13;-1:-1:-1;8003:10:13;7996:17;;7670:418;8044:33;8052:10;8064:12;8044:7;:33::i;:::-;7466:628;;;;;;:::o;1532:259:8:-;1613:37;1632:17;1613:18;:37::i;:::-;1605:95;;;;-1:-1:-1;;;1605:95:8;;3559:2:30;1605:95:8;;;3541:21:30;3598:2;3578:18;;;3571:30;3637:34;3617:18;;;3610:62;-1:-1:-1;;;3688:18:30;;;3681:43;3741:19;;1605:95:8;3357:409:30;1605:95:8;1767:17;-1:-1:-1;;;;;;;;;;;1710:48:8;1614:190:15;8616:540:13;8775:17;;:21;8771:379;;9003:10;8997:17;9059:15;9046:10;9042:2;9038:19;9031:44;8771:379;9126:12;9119:20;;-1:-1:-1;;;9119:20:13;;;;;;;;:::i;14:173:30:-;82:20;;-1:-1:-1;;;;;131:31:30;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;383:665::-;462:6;470;478;531:2;519:9;510:7;506:23;502:32;499:52;;;547:1;544;537:12;499:52;570:29;589:9;570:29;:::i;:::-;560:39;-1:-1:-1;650:2:30;635:18;;622:32;-1:-1:-1;;;;;703:14:30;;;700:34;;;730:1;727;720:12;700:34;768:6;757:9;753:22;743:32;;813:7;806:4;802:2;798:13;794:27;784:55;;835:1;832;825:12;784:55;875:2;862:16;901:2;893:6;890:14;887:34;;;917:1;914;907:12;887:34;962:7;957:2;948:6;944:2;940:15;936:24;933:37;930:57;;;983:1;980;973:12;930:57;1014:2;1010;1006:11;996:21;;1036:6;1026:16;;;;;383:665;;;;;:::o;2045:250::-;2130:1;2140:113;2154:6;2151:1;2148:13;2140:113;;;2230:11;;;2224:18;2211:11;;;2204:39;2176:2;2169:10;2140:113;;;-1:-1:-1;;2287:1:30;2269:16;;2262:27;2045:250::o;2300:287::-;2429:3;2467:6;2461:13;2483:66;2542:6;2537:3;2530:4;2522:6;2518:17;2483:66;:::i;:::-;2565:16;;;;;2300:287;-1:-1:-1;;2300:287:30:o;3771:396::-;3920:2;3909:9;3902:21;3883:4;3952:6;3946:13;3995:6;3990:2;3979:9;3975:18;3968:34;4011:79;4083:6;4078:2;4067:9;4063:18;4058:2;4050:6;4046:15;4011:79;:::i;:::-;4151:2;4130:15;-1:-1:-1;;4126:29:30;4111:45;;;;4158:2;4107:54;;3771:396;-1:-1:-1;;3771:396:30:o", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (proxy/transparent/TransparentUpgradeableProxy.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC1967/ERC1967Proxy.sol\";\n\n/**\n * @dev This contract implements a proxy that is upgradeable by an admin.\n *\n * To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector\n * clashing], which can potentially be used in an attack, this contract uses the\n * https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two\n * things that go hand in hand:\n *\n * 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if\n * that call matches one of the admin functions exposed by the proxy itself.\n * 2. If the admin calls the proxy, it can access the admin functions, but its calls will never be forwarded to the\n * implementation. If the admin tries to call a function on the implementation it will fail with an error that says\n * \"admin cannot fallback to proxy target\".\n *\n * These properties mean that the admin account can only be used for admin actions like upgrading the proxy or changing\n * the admin, so it's best if it's a dedicated account that is not used for anything else. This will avoid headaches due\n * to sudden errors when trying to call a function from the proxy implementation.\n *\n * Our recommendation is for the dedicated account to be an instance of the {ProxyAdmin} contract. If set up this way,\n * you should think of the `ProxyAdmin` instance as the real administrative interface of your proxy.\n */\ncontract TransparentUpgradeableProxy is ERC1967Proxy {\n /**\n * @dev Initializes an upgradeable proxy managed by `_admin`, backed by the implementation at `_logic`, and\n * optionally initialized with `_data` as explained in {ERC1967Proxy-constructor}.\n */\n constructor(\n address _logic,\n address admin_,\n bytes memory _data\n ) payable ERC1967Proxy(_logic, _data) {\n _changeAdmin(admin_);\n }\n\n /**\n * @dev Modifier used internally that will delegate the call to the implementation unless the sender is the admin.\n */\n modifier ifAdmin() {\n if (msg.sender == _getAdmin()) {\n _;\n } else {\n _fallback();\n }\n }\n\n /**\n * @dev Returns the current admin.\n *\n * NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyAdmin}.\n *\n * TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the\n * https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n * `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`\n */\n function admin() external ifAdmin returns (address admin_) {\n admin_ = _getAdmin();\n }\n\n /**\n * @dev Returns the current implementation.\n *\n * NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyImplementation}.\n *\n * TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the\n * https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n * `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`\n */\n function implementation() external ifAdmin returns (address implementation_) {\n implementation_ = _implementation();\n }\n\n /**\n * @dev Changes the admin of the proxy.\n *\n * Emits an {AdminChanged} event.\n *\n * NOTE: Only the admin can call this function. See {ProxyAdmin-changeProxyAdmin}.\n */\n function changeAdmin(address newAdmin) external virtual ifAdmin {\n _changeAdmin(newAdmin);\n }\n\n /**\n * @dev Upgrade the implementation of the proxy.\n *\n * NOTE: Only the admin can call this function. See {ProxyAdmin-upgrade}.\n */\n function upgradeTo(address newImplementation) external ifAdmin {\n _upgradeToAndCall(newImplementation, bytes(\"\"), false);\n }\n\n /**\n * @dev Upgrade the implementation of the proxy, and then call a function from the new implementation as specified\n * by `data`, which should be an encoded function call. This is useful to initialize new storage variables in the\n * proxied contract.\n *\n * NOTE: Only the admin can call this function. See {ProxyAdmin-upgradeAndCall}.\n */\n function upgradeToAndCall(address newImplementation, bytes calldata data) external payable ifAdmin {\n _upgradeToAndCall(newImplementation, data, true);\n }\n\n /**\n * @dev Returns the current admin.\n */\n function _admin() internal view virtual returns (address) {\n return _getAdmin();\n }\n\n /**\n * @dev Makes sure the admin cannot access the fallback function. See {Proxy-_beforeFallback}.\n */\n function _beforeFallback() internal virtual override {\n require(msg.sender != _getAdmin(), \"TransparentUpgradeableProxy: admin cannot fallback to proxy target\");\n super._beforeFallback();\n }\n}\n", + "sourcePath": "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol", + "exportedSymbols": { + "Address": [ + 1853 + ], + "ERC1967Proxy": [ + 859 + ], + "ERC1967Upgrade": [ + 1177 + ], + "IBeacon": [ + 1239 + ], + "IERC1822Proxiable": [ + 822 + ], + "Proxy": [ + 1229 + ], + "StorageSlot": [ + 1935 + ], + "TransparentUpgradeableProxy": [ + 1523 + ] + }, + "id": 1524, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1377, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "133:23:12" + }, + { + "absolutePath": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol", + "file": "../ERC1967/ERC1967Proxy.sol", + "id": 1378, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1524, + "sourceUnit": 860, + "src": "158:37:12", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1380, + "name": "ERC1967Proxy", + "nameLocations": [ + "1689:12:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 859, + "src": "1689:12:12" + }, + "id": 1381, + "nodeType": "InheritanceSpecifier", + "src": "1689:12:12" + } + ], + "canonicalName": "TransparentUpgradeableProxy", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 1379, + "nodeType": "StructuredDocumentation", + "src": "197:1451:12", + "text": " @dev This contract implements a proxy that is upgradeable by an admin.\n To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector\n clashing], which can potentially be used in an attack, this contract uses the\n https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two\n things that go hand in hand:\n 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if\n that call matches one of the admin functions exposed by the proxy itself.\n 2. If the admin calls the proxy, it can access the admin functions, but its calls will never be forwarded to the\n implementation. If the admin tries to call a function on the implementation it will fail with an error that says\n \"admin cannot fallback to proxy target\".\n These properties mean that the admin account can only be used for admin actions like upgrading the proxy or changing\n the admin, so it's best if it's a dedicated account that is not used for anything else. This will avoid headaches due\n to sudden errors when trying to call a function from the proxy implementation.\n Our recommendation is for the dedicated account to be an instance of the {ProxyAdmin} contract. If set up this way,\n you should think of the `ProxyAdmin` instance as the real administrative interface of your proxy." + }, + "fullyImplemented": true, + "id": 1523, + "linearizedBaseContracts": [ + 1523, + 859, + 1177, + 1229 + ], + "name": "TransparentUpgradeableProxy", + "nameLocation": "1658:27:12", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1399, + "nodeType": "Block", + "src": "2053:37:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1396, + "name": "admin_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1386, + "src": "2076:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1395, + "name": "_changeAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1080, + "src": "2063:12:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 1397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2063:20:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1398, + "nodeType": "ExpressionStatement", + "src": "2063:20:12" + } + ] + }, + "documentation": { + "id": 1382, + "nodeType": "StructuredDocumentation", + "src": "1708:210:12", + "text": " @dev Initializes an upgradeable proxy managed by `_admin`, backed by the implementation at `_logic`, and\n optionally initialized with `_data` as explained in {ERC1967Proxy-constructor}." + }, + "id": 1400, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 1391, + "name": "_logic", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1384, + "src": "2038:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1392, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1388, + "src": "2046:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 1393, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 1390, + "name": "ERC1967Proxy", + "nameLocations": [ + "2025:12:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 859, + "src": "2025:12:12" + }, + "nodeType": "ModifierInvocation", + "src": "2025:27:12" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1389, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1384, + "mutability": "mutable", + "name": "_logic", + "nameLocation": "1952:6:12", + "nodeType": "VariableDeclaration", + "scope": 1400, + "src": "1944:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1383, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1944:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1386, + "mutability": "mutable", + "name": "admin_", + "nameLocation": "1976:6:12", + "nodeType": "VariableDeclaration", + "scope": 1400, + "src": "1968:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1385, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1968:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1388, + "mutability": "mutable", + "name": "_data", + "nameLocation": "2005:5:12", + "nodeType": "VariableDeclaration", + "scope": 1400, + "src": "1992:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1387, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1992:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1934:82:12" + }, + "returnParameters": { + "id": 1394, + "nodeType": "ParameterList", + "parameters": [], + "src": "2053:0:12" + }, + "scope": 1523, + "src": "1923:167:12", + "stateMutability": "payable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1415, + "nodeType": "Block", + "src": "2250:115:12", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1403, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "2264:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2268:6:12", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2264:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1405, + "name": "_getAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1037, + "src": "2278:9:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2278:11:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2264:25:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1413, + "nodeType": "Block", + "src": "2323:36:12", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1410, + "name": "_fallback", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1207, + "src": "2337:9:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2337:11:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1412, + "nodeType": "ExpressionStatement", + "src": "2337:11:12" + } + ] + }, + "id": 1414, + "nodeType": "IfStatement", + "src": "2260:99:12", + "trueBody": { + "id": 1409, + "nodeType": "Block", + "src": "2291:26:12", + "statements": [ + { + "id": 1408, + "nodeType": "PlaceholderStatement", + "src": "2305:1:12" + } + ] + } + } + ] + }, + "documentation": { + "id": 1401, + "nodeType": "StructuredDocumentation", + "src": "2096:130:12", + "text": " @dev Modifier used internally that will delegate the call to the implementation unless the sender is the admin." + }, + "id": 1416, + "name": "ifAdmin", + "nameLocation": "2240:7:12", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1402, + "nodeType": "ParameterList", + "parameters": [], + "src": "2247:2:12" + }, + "src": "2231:134:12", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1429, + "nodeType": "Block", + "src": "2866:37:12", + "statements": [ + { + "expression": { + "id": 1427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1424, + "name": "admin_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1422, + "src": "2876:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1425, + "name": "_getAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1037, + "src": "2885:9:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2885:11:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2876:20:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1428, + "nodeType": "ExpressionStatement", + "src": "2876:20:12" + } + ] + }, + "documentation": { + "id": 1417, + "nodeType": "StructuredDocumentation", + "src": "2371:431:12", + "text": " @dev Returns the current admin.\n NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyAdmin}.\n TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the\n https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`" + }, + "functionSelector": "f851a440", + "id": 1430, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1420, + "kind": "modifierInvocation", + "modifierName": { + "id": 1419, + "name": "ifAdmin", + "nameLocations": [ + "2833:7:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1416, + "src": "2833:7:12" + }, + "nodeType": "ModifierInvocation", + "src": "2833:7:12" + } + ], + "name": "admin", + "nameLocation": "2816:5:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1418, + "nodeType": "ParameterList", + "parameters": [], + "src": "2821:2:12" + }, + "returnParameters": { + "id": 1423, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1422, + "mutability": "mutable", + "name": "admin_", + "nameLocation": "2858:6:12", + "nodeType": "VariableDeclaration", + "scope": 1430, + "src": "2850:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1421, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2850:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2849:16:12" + }, + "scope": 1523, + "src": "2807:96:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1443, + "nodeType": "Block", + "src": "3440:52:12", + "statements": [ + { + "expression": { + "id": 1441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1438, + "name": "implementation_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1436, + "src": "3450:15:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1439, + "name": "_implementation", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 858 + ], + "referencedDeclaration": 858, + "src": "3468:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3468:17:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3450:35:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1442, + "nodeType": "ExpressionStatement", + "src": "3450:35:12" + } + ] + }, + "documentation": { + "id": 1431, + "nodeType": "StructuredDocumentation", + "src": "2909:449:12", + "text": " @dev Returns the current implementation.\n NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyImplementation}.\n TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the\n https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`" + }, + "functionSelector": "5c60da1b", + "id": 1444, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1434, + "kind": "modifierInvocation", + "modifierName": { + "id": 1433, + "name": "ifAdmin", + "nameLocations": [ + "3398:7:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1416, + "src": "3398:7:12" + }, + "nodeType": "ModifierInvocation", + "src": "3398:7:12" + } + ], + "name": "implementation", + "nameLocation": "3372:14:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1432, + "nodeType": "ParameterList", + "parameters": [], + "src": "3386:2:12" + }, + "returnParameters": { + "id": 1437, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1436, + "mutability": "mutable", + "name": "implementation_", + "nameLocation": "3423:15:12", + "nodeType": "VariableDeclaration", + "scope": 1444, + "src": "3415:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1435, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3415:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3414:25:12" + }, + "scope": 1523, + "src": "3363:129:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1456, + "nodeType": "Block", + "src": "3761:39:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1453, + "name": "newAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1447, + "src": "3784:8:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1452, + "name": "_changeAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1080, + "src": "3771:12:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 1454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3771:22:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1455, + "nodeType": "ExpressionStatement", + "src": "3771:22:12" + } + ] + }, + "documentation": { + "id": 1445, + "nodeType": "StructuredDocumentation", + "src": "3498:194:12", + "text": " @dev Changes the admin of the proxy.\n Emits an {AdminChanged} event.\n NOTE: Only the admin can call this function. See {ProxyAdmin-changeProxyAdmin}." + }, + "functionSelector": "8f283970", + "id": 1457, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1450, + "kind": "modifierInvocation", + "modifierName": { + "id": 1449, + "name": "ifAdmin", + "nameLocations": [ + "3753:7:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1416, + "src": "3753:7:12" + }, + "nodeType": "ModifierInvocation", + "src": "3753:7:12" + } + ], + "name": "changeAdmin", + "nameLocation": "3706:11:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1448, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1447, + "mutability": "mutable", + "name": "newAdmin", + "nameLocation": "3726:8:12", + "nodeType": "VariableDeclaration", + "scope": 1457, + "src": "3718:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1446, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3718:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3717:18:12" + }, + "returnParameters": { + "id": 1451, + "nodeType": "ParameterList", + "parameters": [], + "src": "3761:0:12" + }, + "scope": 1523, + "src": "3697:103:12", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "external" + }, + { + "body": { + "id": 1474, + "nodeType": "Block", + "src": "4023:71:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1466, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1460, + "src": "4051:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "", + "id": 1469, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4076:2:12", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 1468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4070:5:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 1467, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4070:5:12", + "typeDescriptions": {} + } + }, + "id": 1470, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4070:9:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "66616c7365", + "id": 1471, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4081:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1465, + "name": "_upgradeToAndCall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 960, + "src": "4033:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$", + "typeString": "function (address,bytes memory,bool)" + } + }, + "id": 1472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4033:54:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1473, + "nodeType": "ExpressionStatement", + "src": "4033:54:12" + } + ] + }, + "documentation": { + "id": 1458, + "nodeType": "StructuredDocumentation", + "src": "3806:149:12", + "text": " @dev Upgrade the implementation of the proxy.\n NOTE: Only the admin can call this function. See {ProxyAdmin-upgrade}." + }, + "functionSelector": "3659cfe6", + "id": 1475, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1463, + "kind": "modifierInvocation", + "modifierName": { + "id": 1462, + "name": "ifAdmin", + "nameLocations": [ + "4015:7:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1416, + "src": "4015:7:12" + }, + "nodeType": "ModifierInvocation", + "src": "4015:7:12" + } + ], + "name": "upgradeTo", + "nameLocation": "3969:9:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1461, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1460, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "3987:17:12", + "nodeType": "VariableDeclaration", + "scope": 1475, + "src": "3979:25:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1459, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3979:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3978:27:12" + }, + "returnParameters": { + "id": 1464, + "nodeType": "ParameterList", + "parameters": [], + "src": "4023:0:12" + }, + "scope": 1523, + "src": "3960:134:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1491, + "nodeType": "Block", + "src": "4569:65:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1486, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1478, + "src": "4597:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1487, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1480, + "src": "4616:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "hexValue": "74727565", + "id": 1488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4622:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1485, + "name": "_upgradeToAndCall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 960, + "src": "4579:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$", + "typeString": "function (address,bytes memory,bool)" + } + }, + "id": 1489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4579:48:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1490, + "nodeType": "ExpressionStatement", + "src": "4579:48:12" + } + ] + }, + "documentation": { + "id": 1476, + "nodeType": "StructuredDocumentation", + "src": "4100:365:12", + "text": " @dev Upgrade the implementation of the proxy, and then call a function from the new implementation as specified\n by `data`, which should be an encoded function call. This is useful to initialize new storage variables in the\n proxied contract.\n NOTE: Only the admin can call this function. See {ProxyAdmin-upgradeAndCall}." + }, + "functionSelector": "4f1ef286", + "id": 1492, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1483, + "kind": "modifierInvocation", + "modifierName": { + "id": 1482, + "name": "ifAdmin", + "nameLocations": [ + "4561:7:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1416, + "src": "4561:7:12" + }, + "nodeType": "ModifierInvocation", + "src": "4561:7:12" + } + ], + "name": "upgradeToAndCall", + "nameLocation": "4479:16:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1481, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1478, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "4504:17:12", + "nodeType": "VariableDeclaration", + "scope": 1492, + "src": "4496:25:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1477, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4496:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1480, + "mutability": "mutable", + "name": "data", + "nameLocation": "4538:4:12", + "nodeType": "VariableDeclaration", + "scope": 1492, + "src": "4523:19:12", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1479, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4523:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4495:48:12" + }, + "returnParameters": { + "id": 1484, + "nodeType": "ParameterList", + "parameters": [], + "src": "4569:0:12" + }, + "scope": 1523, + "src": "4470:164:12", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1501, + "nodeType": "Block", + "src": "4753:35:12", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1498, + "name": "_getAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1037, + "src": "4770:9:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4770:11:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1497, + "id": 1500, + "nodeType": "Return", + "src": "4763:18:12" + } + ] + }, + "documentation": { + "id": 1493, + "nodeType": "StructuredDocumentation", + "src": "4640:50:12", + "text": " @dev Returns the current admin." + }, + "id": 1502, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_admin", + "nameLocation": "4704:6:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1494, + "nodeType": "ParameterList", + "parameters": [], + "src": "4710:2:12" + }, + "returnParameters": { + "id": 1497, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1496, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1502, + "src": "4744:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1495, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4744:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4743:9:12" + }, + "scope": 1523, + "src": "4695:93:12", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "baseFunctions": [ + 1228 + ], + "body": { + "id": 1521, + "nodeType": "Block", + "src": "4962:154:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1508, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4980:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4984:6:12", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4980:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1510, + "name": "_getAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1037, + "src": "4994:9:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4994:11:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4980:25:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5472616e73706172656e745570677261646561626c6550726f78793a2061646d696e2063616e6e6f742066616c6c6261636b20746f2070726f787920746172676574", + "id": 1513, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5007:68:12", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f5d2ea39d7e6c7d19dc32ccc2bd7ca26b7aa4a603ef4aa6f2b205c93c3ffe43d", + "typeString": "literal_string \"TransparentUpgradeableProxy: admin cannot fallback to proxy target\"" + }, + "value": "TransparentUpgradeableProxy: admin cannot fallback to proxy target" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f5d2ea39d7e6c7d19dc32ccc2bd7ca26b7aa4a603ef4aa6f2b205c93c3ffe43d", + "typeString": "literal_string \"TransparentUpgradeableProxy: admin cannot fallback to proxy target\"" + } + ], + "id": 1507, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4972:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4972:104:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1515, + "nodeType": "ExpressionStatement", + "src": "4972:104:12" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 1516, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967271, + "src": "5086:5:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_TransparentUpgradeableProxy_$1523_$", + "typeString": "type(contract super TransparentUpgradeableProxy)" + } + }, + "id": 1518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5092:15:12", + "memberName": "_beforeFallback", + "nodeType": "MemberAccess", + "referencedDeclaration": 1228, + "src": "5086:21:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5086:23:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1520, + "nodeType": "ExpressionStatement", + "src": "5086:23:12" + } + ] + }, + "documentation": { + "id": 1503, + "nodeType": "StructuredDocumentation", + "src": "4794:110:12", + "text": " @dev Makes sure the admin cannot access the fallback function. See {Proxy-_beforeFallback}." + }, + "id": 1522, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_beforeFallback", + "nameLocation": "4918:15:12", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1505, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4953:8:12" + }, + "parameters": { + "id": 1504, + "nodeType": "ParameterList", + "parameters": [], + "src": "4933:2:12" + }, + "returnParameters": { + "id": 1506, + "nodeType": "ParameterList", + "parameters": [], + "src": "4962:0:12" + }, + "scope": 1523, + "src": "4909:207:12", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 1524, + "src": "1649:3469:12", + "usedErrors": [] + } + ], + "src": "133:4986:12" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.608Z", + "devdoc": { + "details": "This contract implements a proxy that is upgradeable by an admin. To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector clashing], which can potentially be used in an attack, this contract uses the https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two things that go hand in hand: 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if that call matches one of the admin functions exposed by the proxy itself. 2. If the admin calls the proxy, it can access the admin functions, but its calls will never be forwarded to the implementation. If the admin tries to call a function on the implementation it will fail with an error that says \"admin cannot fallback to proxy target\". These properties mean that the admin account can only be used for admin actions like upgrading the proxy or changing the admin, so it's best if it's a dedicated account that is not used for anything else. This will avoid headaches due to sudden errors when trying to call a function from the proxy implementation. Our recommendation is for the dedicated account to be an instance of the {ProxyAdmin} contract. If set up this way, you should think of the `ProxyAdmin` instance as the real administrative interface of your proxy.", + "events": { + "AdminChanged(address,address)": { + "details": "Emitted when the admin account has changed." + }, + "BeaconUpgraded(address)": { + "details": "Emitted when the beacon is upgraded." + }, + "Upgraded(address)": { + "details": "Emitted when the implementation is upgraded." + } + }, + "kind": "dev", + "methods": { + "admin()": { + "details": "Returns the current admin. NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyAdmin}. TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`" + }, + "changeAdmin(address)": { + "details": "Changes the admin of the proxy. Emits an {AdminChanged} event. NOTE: Only the admin can call this function. See {ProxyAdmin-changeProxyAdmin}." + }, + "constructor": { + "details": "Initializes an upgradeable proxy managed by `_admin`, backed by the implementation at `_logic`, and optionally initialized with `_data` as explained in {ERC1967Proxy-constructor}." + }, + "implementation()": { + "details": "Returns the current implementation. NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyImplementation}. TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`" + }, + "upgradeTo(address)": { + "details": "Upgrade the implementation of the proxy. NOTE: Only the admin can call this function. See {ProxyAdmin-upgrade}." + }, + "upgradeToAndCall(address,bytes)": { + "details": "Upgrade the implementation of the proxy, and then call a function from the new implementation as specified by `data`, which should be an encoded function call. This is useful to initialize new storage variables in the proxied contract. NOTE: Only the admin can call this function. See {ProxyAdmin-upgradeAndCall}." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/WalletMock.json b/build/contracts/WalletMock.json new file mode 100644 index 0000000..fb4d0fb --- /dev/null +++ b/build/contracts/WalletMock.json @@ -0,0 +1,796 @@ +{ + "contractName": "WalletMock", + "abi": [ + { + "stateMutability": "payable", + "type": "receive" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "val", + "type": "bool" + } + ], + "name": "setRejectFunds", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"val\",\"type\":\"bool\"}],\"name\":\"setRejectFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/WalletMock.sol\":\"WalletMock\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1},\"remappings\":[]},\"sources\":{\"project:/contracts/WalletMock.sol\":{\"keccak256\":\"0x2ab64db1dfce6bdaf8b46f7758d2a67a5d580797da091533b180bd4e720dbe7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720efcdac41407684cf6966d1d7a0d1bfa31ca343f7091977c9b3878cebe4cd7\",\"dweb:/ipfs/QmXHeVjWv8AU3xa2Qb6YkaZscLTpmRHUQ4yRsmPvz7SyPC\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b5060f38061001f6000396000f3fe60806040526004361060205760003560e01c80633eb9f75314606c57600080fd5b3660675760005460ff161560655760405162461bcd60e51b81526020600482015260086024820152671c995a9958dd195960c21b604482015260640160405180910390fd5b005b600080fd5b348015607757600080fd5b50606560833660046096565b6000805460ff1916911515919091179055565b60006020828403121560a757600080fd5b8135801515811460b657600080fd5b939250505056fea2646970667358221220452fad9c49b69bc0150bf3f6ec99aae045bd177597615fde00db38246c5b0ad364736f6c63430008120033", + "deployedBytecode": "0x60806040526004361060205760003560e01c80633eb9f75314606c57600080fd5b3660675760005460ff161560655760405162461bcd60e51b81526020600482015260086024820152671c995a9958dd195960c21b604482015260640160405180910390fd5b005b600080fd5b348015607757600080fd5b50606560833660046096565b6000805460ff1916911515919091179055565b60006020828403121560a757600080fd5b8135801515811460b657600080fd5b939250505056fea2646970667358221220452fad9c49b69bc0150bf3f6ec99aae045bd177597615fde00db38246c5b0ad364736f6c63430008120033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:625:30", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:30", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "188:157:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "205:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "216:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "198:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "198:21:30" + }, + "nodeType": "YulExpressionStatement", + "src": "198:21:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "239:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "250:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "235:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "235:18:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "255:1:30", + "type": "", + "value": "8" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "228:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "228:29:30" + }, + "nodeType": "YulExpressionStatement", + "src": "228:29:30" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "277:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "288:2:30", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "273:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "273:18:30" + }, + { + "hexValue": "72656a6563746564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "293:10:30", + "type": "", + "value": "rejected" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "266:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "266:38:30" + }, + "nodeType": "YulExpressionStatement", + "src": "266:38:30" + }, + { + "nodeType": "YulAssignment", + "src": "313:26:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "325:9:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "336:2:30", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "321:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "321:18:30" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "313:4:30" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_5e679716a01be890d854f2c1c5cb5336603215e65ff238044a5b11c586f61c1d__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "165:9:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "179:4:30", + "type": "" + } + ], + "src": "14:331:30" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "417:206:30", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "463:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "472:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "475:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "465:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "465:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "465:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "438:7:30" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "447:9:30" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "434:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "434:23:30" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "459:2:30", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "430:3:30" + }, + "nodeType": "YulFunctionCall", + "src": "430:32:30" + }, + "nodeType": "YulIf", + "src": "427:52:30" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "488:36:30", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "514:9:30" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "501:12:30" + }, + "nodeType": "YulFunctionCall", + "src": "501:23:30" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "492:5:30", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "577:16:30", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "586:1:30", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "589:1:30", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "579:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "579:12:30" + }, + "nodeType": "YulExpressionStatement", + "src": "579:12:30" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "546:5:30" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "567:5:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "560:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "560:13:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "553:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "553:21:30" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "543:2:30" + }, + "nodeType": "YulFunctionCall", + "src": "543:32:30" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "536:6:30" + }, + "nodeType": "YulFunctionCall", + "src": "536:40:30" + }, + "nodeType": "YulIf", + "src": "533:60:30" + }, + { + "nodeType": "YulAssignment", + "src": "602:15:30", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "612:5:30" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "602:6:30" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "383:9:30", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "394:7:30", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "406:6:30", + "type": "" + } + ], + "src": "350:273:30" + } + ] + }, + "contents": "{\n { }\n function abi_encode_tuple_t_stringliteral_5e679716a01be890d854f2c1c5cb5336603215e65ff238044a5b11c586f61c1d__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), \"rejected\")\n tail := add(headStart, 96)\n }\n function abi_decode_tuple_t_bool(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value0 := value\n }\n}", + "id": 30, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "58:220:29:-:0;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "58:220:29:-:0;;;;;;;;;;;;;;;;;;;;;;;;245:11;;;;244:12;236:33;;;;-1:-1:-1;;;236:33:29;;216:2:30;236:33:29;;;198:21:30;255:1;235:18;;;228:29;-1:-1:-1;;;273:18:30;;;266:38;321:18;;236:33:29;;;;;;;;58:220;;;;;116:77;;;;;;;;;;-1:-1:-1;116:77:29;;;;;:::i;:::-;169:11;:17;;-1:-1:-1;;169:17:29;;;;;;;;;;116:77;350:273:30;406:6;459:2;447:9;438:7;434:23;430:32;427:52;;;475:1;472;465:12;427:52;514:9;501:23;567:5;560:13;553:21;546:5;543:32;533:60;;589:1;586;579:12;533:60;612:5;350:273;-1:-1:-1;;;350:273:30:o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.18;\n\ncontract WalletMock {\n\n bool private rejectFunds;\n\n function setRejectFunds(bool val) external {\n rejectFunds = val;\n }\n\n receive() external payable {\n require(!rejectFunds, \"rejected\");\n }\n}\n", + "sourcePath": "/Users/luischavez/iov/liquidity-bridge-contract/contracts/WalletMock.sol", + "ast": { + "absolutePath": "project:/contracts/WalletMock.sol", + "exportedSymbols": { + "WalletMock": [ + 10496 + ] + }, + "id": 10497, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 10473, + "literals": [ + "solidity", + "^", + "0.8", + ".18" + ], + "nodeType": "PragmaDirective", + "src": "32:24:29" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "WalletMock", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 10496, + "linearizedBaseContracts": [ + 10496 + ], + "name": "WalletMock", + "nameLocation": "67:10:29", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 10475, + "mutability": "mutable", + "name": "rejectFunds", + "nameLocation": "98:11:29", + "nodeType": "VariableDeclaration", + "scope": 10496, + "src": "85:24:29", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10474, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "85:4:29", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "private" + }, + { + "body": { + "id": 10484, + "nodeType": "Block", + "src": "159:34:29", + "statements": [ + { + "expression": { + "id": 10482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 10480, + "name": "rejectFunds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10475, + "src": "169:11:29", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 10481, + "name": "val", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10477, + "src": "183:3:29", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "169:17:29", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10483, + "nodeType": "ExpressionStatement", + "src": "169:17:29" + } + ] + }, + "functionSelector": "3eb9f753", + "id": 10485, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setRejectFunds", + "nameLocation": "125:14:29", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10478, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10477, + "mutability": "mutable", + "name": "val", + "nameLocation": "145:3:29", + "nodeType": "VariableDeclaration", + "scope": 10485, + "src": "140:8:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10476, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "140:4:29", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "139:10:29" + }, + "returnParameters": { + "id": 10479, + "nodeType": "ParameterList", + "parameters": [], + "src": "159:0:29" + }, + "scope": 10496, + "src": "116:77:29", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 10494, + "nodeType": "Block", + "src": "226:50:29", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 10490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "244:12:29", + "subExpression": { + "id": 10489, + "name": "rejectFunds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10475, + "src": "245:11:29", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "72656a6563746564", + "id": 10491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "258:10:29", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5e679716a01be890d854f2c1c5cb5336603215e65ff238044a5b11c586f61c1d", + "typeString": "literal_string \"rejected\"" + }, + "value": "rejected" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5e679716a01be890d854f2c1c5cb5336603215e65ff238044a5b11c586f61c1d", + "typeString": "literal_string \"rejected\"" + } + ], + "id": 10488, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "236:7:29", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 10492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "236:33:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10493, + "nodeType": "ExpressionStatement", + "src": "236:33:29" + } + ] + }, + "id": 10495, + "implemented": true, + "kind": "receive", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10486, + "nodeType": "ParameterList", + "parameters": [], + "src": "206:2:29" + }, + "returnParameters": { + "id": 10487, + "nodeType": "ParameterList", + "parameters": [], + "src": "226:0:29" + }, + "scope": 10496, + "src": "199:77:29", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 10497, + "src": "58:220:29", + "usedErrors": [] + } + ], + "src": "32:247:29" + }, + "compiler": { + "name": "solc", + "version": "0.8.18+commit.87f61d96.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.13", + "updatedAt": "2024-02-27T21:36:42.724Z", + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/config.json b/config.json index 1d3a66d..3006dd7 100644 --- a/config.json +++ b/config.json @@ -52,7 +52,7 @@ "deployed": true }, "Quotes": { - "address": "0x1d35CE211333a0B1BABc2e34185E2A3b5c0C9F60", + "address": "0xecfF1feFa8814c980330ca1000B067BBC9D2ee25", "deployed": true }, "BtcUtils": { @@ -78,12 +78,12 @@ "deployed": true }, "Quotes": { - "address": "0xeC7147081b0d8f703c3178e514525cC14Ff01f99", + "address": "0x82Ae9f2609FA360D73B12D735356eE467eC1445e", "deployed": true }, "BtcUtils": { "deployed": true, - "address": "0xF2C9FD07aEee0b422D5DB714ef793b1F7De48E25" + "address": "0xa5bA42d1E2E963C87D8434dEBE36de922107E535" }, "LiquidityBridgeContract": { "address": "0xc2A630c053D12D63d32b025082f6Ba268db18300", diff --git a/migrations/3_upgrade_contracts.js b/migrations/3_upgrade_contracts.js index 9679266..f3acb85 100644 --- a/migrations/3_upgrade_contracts.js +++ b/migrations/3_upgrade_contracts.js @@ -8,7 +8,7 @@ const BtcUtils = artifacts.require("BtcUtils"); const { read, deploy} = require("../config"); // using LP address as placeholder for now -const FEE_COLLECTOR_MAINNET_ADDRESS = '0x4202BAC9919C3412fc7C8BE4e678e26279386603' +const FEE_COLLECTOR_MAINNET_ADDRESS = '0x4202BAC9919C3412fc7C8BE4e678e26279386603'.toLowerCase(); const FEE_COLLECTOR_TESTNET_ADDRESS = '0x86B6534687A176A476C16083a373fB9Fe4FAb449' const DAO_FEE_PERCENTAGE = 0 @@ -21,12 +21,9 @@ module.exports = async function (deployer, network, accounts) { await deployer.link(signatureValidatorLib, LiquidityBridgeContractV2); await deployer.deploy(QuotesV2); + await deployer.link(QuotesV2, LiquidityBridgeContractV2); const quotesInstance = await QuotesV2.deployed(); - await LiquidityBridgeContractV2.link("QuotesV2", quotesInstance.address); - const quotesLib = await QuotesV2.at( - quotesInstance.address - ); - await deployer.link(quotesLib, LiquidityBridgeContractV2); + console.log("QuotesV2 deployed at:", quotesInstance.address); const btcUtilsLib = await BtcUtils.at( config[network]["BtcUtils"].address diff --git a/package-lock.json b/package-lock.json index 24a57b1..64e1dd0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3073,9 +3073,8 @@ }, "node_modules/@rsksmart/btc-transaction-solidity-helper": { "version": "0.0.3", - "resolved": "https://npm.pkg.github.com/download/@rsksmart/btc-transaction-solidity-helper/0.0.3/3016563d1170bb6a4efbd8d56ee9994434527cff", - "integrity": "sha512-x4SzwxhyMWZGwj6ycUZvM/2uVcIQ4hhWZ3DJeJ1LHcza1nA9ghPH7dDGQYeuWAmJwgz9P4mW+f/9Wahe0KQ3Ew==", - "license": "ISC" + "resolved": "https://registry.npmjs.org/@rsksmart/btc-transaction-solidity-helper/-/btc-transaction-solidity-helper-0.0.3.tgz", + "integrity": "sha512-x4SzwxhyMWZGwj6ycUZvM/2uVcIQ4hhWZ3DJeJ1LHcza1nA9ghPH7dDGQYeuWAmJwgz9P4mW+f/9Wahe0KQ3Ew==" }, "node_modules/@rsksmart/pmt-builder": { "version": "3.0.0", @@ -10155,7 +10154,6 @@ "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz", "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==", "dev": true, - "hasInstallScript": true, "optional": true, "peer": true, "dependencies": { @@ -10541,7 +10539,6 @@ "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz", "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==", "dev": true, - "hasInstallScript": true, "optional": true, "peer": true, "dependencies": { @@ -21760,7 +21757,7 @@ }, "@rsksmart/btc-transaction-solidity-helper": { "version": "0.0.3", - "resolved": "https://npm.pkg.github.com/download/@rsksmart/btc-transaction-solidity-helper/0.0.3/3016563d1170bb6a4efbd8d56ee9994434527cff", + "resolved": "https://registry.npmjs.org/@rsksmart/btc-transaction-solidity-helper/-/btc-transaction-solidity-helper-0.0.3.tgz", "integrity": "sha512-x4SzwxhyMWZGwj6ycUZvM/2uVcIQ4hhWZ3DJeJ1LHcza1nA9ghPH7dDGQYeuWAmJwgz9P4mW+f/9Wahe0KQ3Ew==" }, "@rsksmart/pmt-builder": { diff --git a/scripts/verifyV2Upgrade.js b/scripts/verifyV2Upgrade.js index 8eb4750..ed9cab5 100644 --- a/scripts/verifyV2Upgrade.js +++ b/scripts/verifyV2Upgrade.js @@ -1,41 +1,79 @@ const json = require("../build/contracts/LiquidityBridgeContractV2.json"); const configJson = require("../config.json"); +function getTestPegOutQuote(lbcAddress, lpRskAddress, rskRefundAddress, value) { + let valueToTransfer = value || web3.utils.toBN(0); + let callFee = web3.utils.toBN(1); + let nonce = 0; + let agreementTimestamp = 1661788988; + let expireDate = Math.round(new Date().getTime() / 1000) + 3600; + let expireBlock = 4000; + let transferTime = 1661788988; + let depositDateLimit = Math.round(new Date().getTime() / 1000) + 600; + let depositConfirmations = 10; + let transferConfirmations = 10; + let penaltyFee = web3.utils.toBN(0); + let productFeeAmount = web3.utils.toBN(1); + const gasFee = web3.utils.toBN(1); + + let quote = { + lbcAddress, + lpRskAddress, + btcRefundAddress: "0x000000000000000000000000000000000000000000", + rskRefundAddress, + lpBtcAddress: "0x000000000000000000000000000000000000000000", + callFee, + penaltyFee, + nonce, + deposityAddress: "0x6f3c5f66fe733e0ad361805b3053f23212e5755c8d", + value: valueToTransfer, + agreementTimestamp, + depositDateLimit, + depositConfirmations, + transferConfirmations, + transferTime, + expireDate, + expireBlock, + productFeeAmount, + gasFee + }; + + return quote; +} + +function asArray(obj) { + return Object.values(obj); +} + module.exports = async function (callback) { - const network = config.config.network - let LBCAddress = ''; + let LBCAddress = '0xAA9cAf1e3967600578727F975F283446A3Da6612'; + + const contract = new web3.eth.Contract( + json.abi, + LBCAddress + ); + const quote = getTestPegOutQuote( + LBCAddress, + "0x4202bAC9919C3412Fc7c8BE4e678e26279386603", + "0x79568c2989232dCa1840087D73d403602364c0D4", + 5000000000000000); - if (network) { - LBCAddress = configJson[network].LiquidityBridgeContract.address; - console.log(LBCAddress); - const contract = new web3.eth.Contract( - json.abi, - LBCAddress - ); + console.log("Quote to be hashed: ", quote); + try { const productFeePercentage = await contract.methods.productFeePercentage().call(); const daoFeeCollectorAddress = await contract.methods.daoFeeCollectorAddress().call(); + const quoteHash = await contract.methods.hashPegoutQuote(asArray(quote)).call(); + const provider = await contract.methods.getProviders([1]).call(); + console.log("Proxy address: ", LBCAddress); console.log('DAO Fee Percentage: ', productFeePercentage); console.log('DAO Fee Collector Address ', daoFeeCollectorAddress); + console.log('Provider ', provider) + console.log('Quote Hash: ', quoteHash); + } catch (error) { + console.error(error); } - // - // - // contract.methods - // .register( - // "First contract", - // "http://localhost/api", - // true, - // "both" - // ) - // .call({ - // // from: accounts[0], - // value: 1200000000000000000, - // }) - // .then((response) => console.log("Success: " + response)) - // .catch((err) => console.log("Error: " + err)); - // - // // invoke callback callback(); };