UNPKG

@float-capital/hardhat-deploy

Version:

Hardhat Plugin For Replicable Deployments And Tests

591 lines (590 loc) 255 kB
{ "contractName": "DiamondLoupeFacet", "sourceName": "solc_0.7/diamond/facets/DiamondLoupeFacet.sol", "abi": [ { "inputs": [ { "internalType": "bytes4", "name": "_functionSelector", "type": "bytes4" } ], "name": "facetAddress", "outputs": [ { "internalType": "address", "name": "facetAddress_", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "facetAddresses", "outputs": [ { "internalType": "address[]", "name": "facetAddresses_", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_facet", "type": "address" } ], "name": "facetFunctionSelectors", "outputs": [ { "internalType": "bytes4[]", "name": "facetFunctionSelectors_", "type": "bytes4[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "facets", "outputs": [ { "components": [ { "internalType": "address", "name": "facetAddress", "type": "address" }, { "internalType": "bytes4[]", "name": "functionSelectors", "type": "bytes4[]" } ], "internalType": "struct IDiamondLoupe.Facet[]", "name": "facets_", "type": "tuple[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "_interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b5061071d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80637a0ed627116100505780637a0ed627146100aa578063adfca15e146100bf578063cdffacc6146100df57610067565b806301ffc9a71461006c57806352ef6b2c14610095575b600080fd5b61007f61007a36600461050d565b6100ff565b60405161008c91906106dc565b60405180910390f35b61009d61014a565b60405161008c91906105ca565b6100b26101c3565b60405161008c9190610637565b6100d26100cd3660046104d2565b610370565b60405161008c9190610624565b6100f26100ed36600461050d565b61043c565b60405161008c91906105a9565b60008061010a610496565b7fffffffff00000000000000000000000000000000000000000000000000000000841660009081526003909101602052604090205460ff16915050919050565b60606000610156610496565b600281018054604080516020808402820181019092528281529394508301828280156101b857602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161018d575b505050505091505090565b606060006101cf610496565b60028101549091508067ffffffffffffffff811180156101ee57600080fd5b5060405190808252806020026020018201604052801561022857816020015b6102156104ba565b81526020019060019003908161020d5790505b50925060005b8181101561036a57600083600201828154811061024757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508085838151811061028157fe5b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff928316905290821660009081526001860182526040908190208054825181850281018501909352808352919290919083018282801561034257602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116102ef5790505b505050505085838151811061035357fe5b60209081029190910181015101525060010161022e565b50505090565b6060600061037c610496565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600182016020908152604091829020805483518184028101840190945280845293945091929083018282801561042f57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116103dc5790505b5050505050915050919050565b600080610447610496565b7fffffffff0000000000000000000000000000000000000000000000000000000090931660009081526020939093525050604090205473ffffffffffffffffffffffffffffffffffffffff1690565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90565b60408051808201909152600081526060602082015290565b6000602082840312156104e3578081fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610506578182fd5b9392505050565b60006020828403121561051e578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610506578182fd5b6000815180845260208085019450808401835b8381101561059e5781517fffffffff000000000000000000000000000000000000000000000000000000001687529582019590820190600101610560565b509495945050505050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b6020808252825182820181905260009190848201906040850190845b8181101561061857835173ffffffffffffffffffffffffffffffffffffffff16835292840192918401916001016105e6565b50909695505050505050565b600060208252610506602083018461054d565b60208082528251828201819052600091906040908185019080840286018301878501865b838110156106ce578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff1684528701518784018790526106bb8785018261054d565b958801959350509086019060010161065b565b509098975050505050505050565b90151581526020019056fea264697066735822122089d5ce8d99710bef242a45f969bf2ca524b5bdf0488783bd8b69c2fea19e15ed64736f6c63430007060033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c80637a0ed627116100505780637a0ed627146100aa578063adfca15e146100bf578063cdffacc6146100df57610067565b806301ffc9a71461006c57806352ef6b2c14610095575b600080fd5b61007f61007a36600461050d565b6100ff565b60405161008c91906106dc565b60405180910390f35b61009d61014a565b60405161008c91906105ca565b6100b26101c3565b60405161008c9190610637565b6100d26100cd3660046104d2565b610370565b60405161008c9190610624565b6100f26100ed36600461050d565b61043c565b60405161008c91906105a9565b60008061010a610496565b7fffffffff00000000000000000000000000000000000000000000000000000000841660009081526003909101602052604090205460ff16915050919050565b60606000610156610496565b600281018054604080516020808402820181019092528281529394508301828280156101b857602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161018d575b505050505091505090565b606060006101cf610496565b60028101549091508067ffffffffffffffff811180156101ee57600080fd5b5060405190808252806020026020018201604052801561022857816020015b6102156104ba565b81526020019060019003908161020d5790505b50925060005b8181101561036a57600083600201828154811061024757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508085838151811061028157fe5b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff928316905290821660009081526001860182526040908190208054825181850281018501909352808352919290919083018282801561034257602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116102ef5790505b505050505085838151811061035357fe5b60209081029190910181015101525060010161022e565b50505090565b6060600061037c610496565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600182016020908152604091829020805483518184028101840190945280845293945091929083018282801561042f57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116103dc5790505b5050505050915050919050565b600080610447610496565b7fffffffff0000000000000000000000000000000000000000000000000000000090931660009081526020939093525050604090205473ffffffffffffffffffffffffffffffffffffffff1690565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90565b60408051808201909152600081526060602082015290565b6000602082840312156104e3578081fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610506578182fd5b9392505050565b60006020828403121561051e578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610506578182fd5b6000815180845260208085019450808401835b8381101561059e5781517fffffffff000000000000000000000000000000000000000000000000000000001687529582019590820190600101610560565b509495945050505050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b6020808252825182820181905260009190848201906040850190845b8181101561061857835173ffffffffffffffffffffffffffffffffffffffff16835292840192918401916001016105e6565b50909695505050505050565b600060208252610506602083018461054d565b60208082528251828201819052600091906040908185019080840286018301878501865b838110156106ce578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff1684528701518784018790526106bb8785018261054d565b958801959350509086019060010161065b565b509098975050505050505050565b90151581526020019056fea264697066735822122089d5ce8d99710bef242a45f969bf2ca524b5bdf0488783bd8b69c2fea19e15ed64736f6c63430007060033", "linkReferences": {}, "deployedLinkReferences": {}, "devdoc": { "kind": "dev", "methods": { "facetAddress(bytes4)": { "details": "If facet is not found return address(0).", "params": { "_functionSelector": "The function selector." }, "returns": { "facetAddress_": "The facet address." } }, "facetAddresses()": { "returns": { "facetAddresses_": "facetAddresses_" } }, "facetFunctionSelectors(address)": { "params": { "_facet": "The facet address." }, "returns": { "facetFunctionSelectors_": "facetFunctionSelectors_" } }, "facets()": { "returns": { "facets_": "Facet" } } }, "version": 1 }, "evm": { "bytecode": { "generatedSources": [], "linkReferences": {}, "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x71D DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x67 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x7A0ED627 GT PUSH2 0x50 JUMPI DUP1 PUSH4 0x7A0ED627 EQ PUSH2 0xAA JUMPI DUP1 PUSH4 0xADFCA15E EQ PUSH2 0xBF JUMPI DUP1 PUSH4 0xCDFFACC6 EQ PUSH2 0xDF JUMPI PUSH2 0x67 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x6C JUMPI DUP1 PUSH4 0x52EF6B2C EQ PUSH2 0x95 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7F PUSH2 0x7A CALLDATASIZE PUSH1 0x4 PUSH2 0x50D JUMP JUMPDEST PUSH2 0xFF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8C SWAP2 SWAP1 PUSH2 0x6DC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9D PUSH2 0x14A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8C SWAP2 SWAP1 PUSH2 0x5CA JUMP JUMPDEST PUSH2 0xB2 PUSH2 0x1C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8C SWAP2 SWAP1 PUSH2 0x637 JUMP JUMPDEST PUSH2 0xD2 PUSH2 0xCD CALLDATASIZE PUSH1 0x4 PUSH2 0x4D2 JUMP JUMPDEST PUSH2 0x370 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8C SWAP2 SWAP1 PUSH2 0x624 JUMP JUMPDEST PUSH2 0xF2 PUSH2 0xED CALLDATASIZE PUSH1 0x4 PUSH2 0x50D JUMP JUMPDEST PUSH2 0x43C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8C SWAP2 SWAP1 PUSH2 0x5A9 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x10A PUSH2 0x496 JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x156 PUSH2 0x496 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP5 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP3 DUP2 MSTORE SWAP4 SWAP5 POP DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x1B8 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x18D JUMPI JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x1CF PUSH2 0x496 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD SLOAD SWAP1 SWAP2 POP DUP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP1 ISZERO PUSH2 0x1EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x228 JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x215 PUSH2 0x4BA JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x20D JUMPI SWAP1 POP JUMPDEST POP SWAP3 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x36A JUMPI PUSH1 0x0 DUP4 PUSH1 0x2 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x247 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP1 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x281 JUMPI INVALID JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 DUP4 AND SWAP1 MSTORE SWAP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP7 ADD DUP3 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP2 SWAP3 SWAP1 SWAP2 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x342 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xE0 SHL PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x4 ADD SWAP1 PUSH1 0x20 DUP3 PUSH1 0x3 ADD DIV SWAP3 DUP4 ADD SWAP3 PUSH1 0x1 SUB DUP3 MUL SWAP2 POP DUP1 DUP5 GT PUSH2 0x2EF JUMPI SWAP1 POP JUMPDEST POP POP POP POP POP DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x353 JUMPI INVALID JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD ADD MSTORE POP PUSH1 0x1 ADD PUSH2 0x22E JUMP JUMPDEST POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x37C PUSH2 0x496 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE SWAP4 SWAP5 POP SWAP2 SWAP3 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x42F JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xE0 SHL PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x4 ADD SWAP1 PUSH1 0x20 DUP3 PUSH1 0x3 ADD DIV SWAP3 DUP4 ADD SWAP3 PUSH1 0x1 SUB DUP3 MUL SWAP2 POP DUP1 DUP5 GT PUSH2 0x3DC JUMPI SWAP1 POP JUMPDEST POP POP POP POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x447 PUSH2 0x496 JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP1 SWAP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP4 SWAP1 SWAP4 MSTORE POP POP PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH32 0xC8FCAD8DB84D3CC18B4C41D551EA0EE66DD599CDE068D998E57D5E09332C131C SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE PUSH1 0x60 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4E3 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x506 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x51E JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x506 JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD DUP4 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x59E JUMPI DUP2 MLOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 AND DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x560 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x618 JUMPI DUP4 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x5E6 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0x506 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x54D JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x40 SWAP1 DUP2 DUP6 ADD SWAP1 DUP1 DUP5 MUL DUP7 ADD DUP4 ADD DUP8 DUP6 ADD DUP7 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x6CE JUMPI DUP9 DUP4 SUB PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 ADD DUP6 MSTORE DUP2 MLOAD DUP1 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 MSTORE DUP8 ADD MLOAD DUP8 DUP5 ADD DUP8 SWAP1 MSTORE PUSH2 0x6BB DUP8 DUP6 ADD DUP3 PUSH2 0x54D JUMP JUMPDEST SWAP6 DUP9 ADD SWAP6 SWAP4 POP POP SWAP1 DUP7 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x65B JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP10 0xD5 0xCE DUP14 SWAP10 PUSH18 0xBEF242A45F969BF2CA524B5BDF0488783BD DUP12 PUSH10 0xC2FEA19E15ED64736F6C PUSH4 0x43000706 STOP CALLER ", "sourceMap": "561:2484:3:-:0;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "generatedSources": [ { "ast": { "nodeType": "YulBlock", "src": "0:3757:10", "statements": [ { "nodeType": "YulBlock", "src": "6:3:10", "statements": [] }, { "body": { "nodeType": "YulBlock", "src": "84:259:10", "statements": [ { "body": { "nodeType": "YulBlock", "src": "130:26:10", "statements": [ { "expression": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "139:6:10" }, { "name": "value0", "nodeType": "YulIdentifier", "src": "147:6:10" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "132:6:10" }, "nodeType": "YulFunctionCall", "src": "132:22:10" }, "nodeType": "YulExpressionStatement", "src": "132:22:10" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "105:7:10" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "114:9:10" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "101:3:10" }, "nodeType": "YulFunctionCall", "src": "101:23:10" }, { "kind": "number", "nodeType": "YulLiteral", "src": "126:2:10", "type": "", "value": "32" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "97:3:10" }, "nodeType": "YulFunctionCall", "src": "97:32:10" }, "nodeType": "YulIf", "src": "94:2:10" }, { "nodeType": "YulVariableDeclaration", "src": "165:36:10", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "191:9:10" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "178:12:10" }, "nodeType": "YulFunctionCall", "src": "178:23:10" }, "variables": [ { "name": "value", "nodeType": "YulTypedName", "src": "169:5:10", "type": "" } ] }, { "body": { "nodeType": "YulBlock", "src": "287:26:10", "statements": [ { "expression": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "296:6:10" }, { "name": "value0", "nodeType": "YulIdentifier", "src": "304:6:10" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "289:6:10" }, "nodeType": "YulFunctionCall", "src": "289:22:10" }, "nodeType": "YulExpressionStatement", "src": "289:22:10" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "223:5:10" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "234:5:10" }, { "kind": "number", "nodeType": "YulLiteral", "src": "241:42:10", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffff" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", "src": "230:3:10" }, "nodeType": "YulFunctionCall", "src": "230:54:10" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", "src": "220:2:10" }, "nodeType": "YulFunctionCall", "src": "220:65:10" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "213:6:10" }, "nodeType": "YulFunctionCall", "src": "213:73:10" }, "nodeType": "YulIf", "src": "210:2:10" }, { "nodeType": "YulAssignment", "src": "322:15:10", "value": { "name": "value", "nodeType": "YulIdentifier", "src": "332:5:10" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "322:6:10" } ] } ] }, "name": "abi_decode_tuple_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "50:9:10", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", "src": "61:7:10", "type": "" } ], "returnVariables": [ { "name": "value0", "nodeType": "YulTypedName", "src": "73:6:10", "type": "" } ], "src": "14:329:10" }, { "body": { "nodeType": "YulBlock", "src": "417:283:10", "statements": [ { "body": { "nodeType": "YulBlock", "src": "463:26:10", "statements": [ { "expression": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "472:6:10" }, { "name": "value0", "nodeType": "YulIdentifier", "src": "480:6:10" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "465:6:10" }, "nodeType": "YulFunctionCall", "src": "465:22:10" }, "nodeType": "YulExpressionStatement", "src": "465:22:10" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "438:7:10" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "447:9:10" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "434:3:10" }, "nodeType": "YulFunctionCall", "src": "434:23:10" }, { "kind": "number", "nodeType": "YulLiteral", "src": "459:2:10", "type": "", "value": "32" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "430:3:10" }, "nodeType": "YulFunctionCall", "src": "430:32:10" }, "nodeType": "YulIf", "src": "427:2:10" }, { "nodeType": "YulVariableDeclaration", "src": "498:36:10", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "524:9:10" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "511:12:10" }, "nodeType": "YulFunctionCall", "src": "511:23:10" }, "variables": [ { "name": "value", "nodeType": "YulTypedName", "src": "502:5:10", "type": "" } ] }, { "body": { "nodeType": "YulBlock", "src": "644:26:10", "statements": [ { "expression": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "653:6:10" }, { "name": "value0", "nodeType": "YulIdentifier", "src": "661:6:10" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "646:6:10" }, "nodeType": "YulFunctionCall", "src": "646:22:10" }, "nodeType": "YulExpressionStatement", "src": "646:22:10" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "556:5:10" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "567:5:10" }, { "kind": "number", "nodeType": "YulLiteral", "src": "574:66:10", "type": "", "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", "src": "563:3:10" }, "nodeType": "YulFunctionCall", "src": "563:78:10" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", "src": "553:2:10" }, "nodeType": "YulFunctionCall", "src": "553:89:10" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "546:6:10" }, "nodeType": "YulFunctionCall", "src": "546:97:10" }, "nodeType": "YulIf", "src": "543:2:10" }, { "nodeType": "YulAssignment", "src": "679:15:10", "value": { "name": "value", "nodeType": "YulIdentifier",