diff --git a/src/contracts/PoolFactory.json b/src/contracts/PoolFactory.json index 16bd740..285b422 100644 --- a/src/contracts/PoolFactory.json +++ b/src/contracts/PoolFactory.json @@ -451,157 +451,214 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.8.1+commit.df193b15\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_isPublic\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"accountAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"LogDepositMade\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"MyLog\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"balance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"participant\",\"type\":\"address\"}],\"name\":\"balanceParticipant\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balances\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_cEtherContract\",\"type\":\"address\"}],\"name\":\"deposit_and_invest_compound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositsBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"participant\",\"type\":\"address\"}],\"name\":\"enroll\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getParticipantList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"participant\",\"type\":\"address\"}],\"name\":\"is_allowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"is_owner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"is_public\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"participantsList\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"redeemType\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"_cErc20Contract\",\"type\":\"address\"}],\"name\":\"redeemCErc20Tokens\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"redeemType\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"_cEtherContract\",\"type\":\"address\"}],\"name\":\"redeemCEth\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_erc20Contract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_cErc20Contract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_numTokensToSupply\",\"type\":\"uint256\"}],\"name\":\"supplyErc20ToCompound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_cEtherContract\",\"type\":\"address\"}],\"name\":\"supplyEthToCompound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawAmount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"remainingBal\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"redeemType\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"_cEtherContract\",\"type\":\"address\"}],\"name\":\"withdraw_and_redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"remainingBal\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"balance()\":{\"returns\":{\"_0\":\"The balance of the user\"}},\"deposit()\":{\"returns\":{\"_0\":\"The balance of the user after the deposit is made\"}},\"depositsBalance()\":{\"returns\":{\"_0\":\"The balance of the Pool contract\"}},\"enroll(address)\":{\"returns\":{\"_0\":\"The balance of the user after enrolling\"}},\"getParticipantList()\":{\"returns\":{\"_0\":\"the participant list\"}},\"withdraw(uint256)\":{\"returns\":{\"remainingBal\":\": the balance remaining for the user\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"balance()\":{\"notice\":\"Just reads balance of the account requesting, so \\\"constant\\\"\"},\"deposit()\":{\"notice\":\"Deposit ether into bank, requires method is \\\"payable\\\"\"},\"enroll(address)\":{\"notice\":\"Enroll a customer with the bank, Only the owner can enroll a participant\"},\"withdraw(uint256)\":{\"notice\":\"Withdraw ether from bank\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/eddine/Documents/project/blockchain/Ohreee/pool-contracts/contracts/PoolFactory.sol\":\"PoolFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/eddine/Documents/project/blockchain/Ohreee/pool-contracts/contracts/PoolFactory.sol\":{\"keccak256\":\"0x82e5ea3ef460ff4bc9ecc19bdee498b3e235b524e10012c6fa8ca796479bde96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c646d7310bd8b59da35bb9c5d2a7231cad0ea91df12a326554131292aae98e79\",\"dweb:/ipfs/QmSmsq5P4NkL6y6e4GKE4fyeCiMH8ZpNz55WaNyqjDhN5h\"]},\"/home/eddine/Documents/project/blockchain/Ohreee/pool-contracts/contracts/compound/Compound.sol\":{\"keccak256\":\"0x7e15d1006fc8a94f9c2ac330de3b9c0fcd3ffabd214015f96e51d3f818501af2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ff508db940f06e79769d2f78e5bf810e8a49ac6ce8c0f443047e9bb781a30cc\",\"dweb:/ipfs/QmabBLUNZcbjcpuxxZoJhyWrx5AHpnLRJwGKbX7Rt1ku8v\"]},\"/home/eddine/Documents/project/blockchain/Ohreee/pool-contracts/contracts/compound/CompoundInterfaces.sol\":{\"keccak256\":\"0x9166c0bf9615211216231ca59b1b83a9799d45c3186c3fb34f5fa122bcc16c0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc4a46319abd902f2a4e42dcaec5c185ca65cad9223eaafe04bd22c69ed2b73d\",\"dweb:/ipfs/QmSQVYxm6pk1BYf6VLezNibev6XXHQoD644bRANVVpWvxD\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b5060405161162338038061162383398101604081905261002f916100ed565b600080546001600160a01b03928316610100908102610100600160a81b031995151560ff19938416179590951694909417808355849004831682526002602090815260408084208490558354869004851684526003909152822080549091166001908117909155815460ff60a81b191680835581548083018355919092527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b03191693909104909116919091179055610135565b600080604083850312156100ff578182fd5b8251801515811461010e578283fd5b60208401519092506001600160a01b038116811461012a578182fd5b809150509250929050565b6114df806101446000396000f3fe60806040526004361061012e5760003560e01c80639b6d29ab116100ab578063ba83d1a01161006f578063ba83d1a0146102ee578063c6fb50141461030e578063d0ace48e1461030e578063d0e30db01461032e578063ed214fff14610336578063f6a3d24e1461035857610135565b80639b6d29ab1461026f578063a82ffd8814610291578063ad721ff6146102a4578063b34d7e8f146102b9578063b69ef8a8146102d957610135565b80632e1a7d4d116100f25780632e1a7d4d146101e75780633549d8fb146102075780633b7ba25f146102275780636d12856d146102475780638da5cb5b1461025a57610135565b806305488a2c1461013a5780630ac298dc14610170578063138fbe711461019257806327e235e3146101a75780632820aece146101c757610135565b3661013557005b600080fd5b34801561014657600080fd5b5061015a61015536600461104c565b610378565b60405161016791906113da565b60405180910390f35b34801561017c57600080fd5b50610185610393565b604051610167919061113c565b34801561019e57600080fd5b5061015a6103a8565b3480156101b357600080fd5b5061015a6101c236600461104c565b610436565b3480156101d357600080fd5b506101856101e23660046110cb565b610448565b3480156101f357600080fd5b5061015a6102023660046110cb565b610472565b34801561021357600080fd5b5061015a6102223660046110fb565b61055c565b34801561023357600080fd5b5061015a61024236600461106f565b61064c565b61015a61025536600461104c565b61089e565b34801561026657600080fd5b50610185610a12565b34801561027b57600080fd5b50610284610a26565b60405161016791906111b6565b61028461029f36600461104c565b610a2f565b3480156102b057600080fd5b50610284610bcc565b3480156102c557600080fd5b506102846102d436600461104c565b610be2565b3480156102e557600080fd5b5061015a610c05565b3480156102fa57600080fd5b5061015a61030936600461104c565b610c18565b34801561031a57600080fd5b506102846103293660046110fb565b610d2e565b61015a610e74565b34801561034257600080fd5b5061034b610fd5565b6040516101679190611169565b34801561036457600080fd5b5061028461037336600461104c565b611037565b6001600160a01b031660009081526002602052604090205490565b60005461010090046001600160a01b03165b90565b6001546000906103ba575060006103a5565b6000805b6001548110156104305760026000600183815481106103ed57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316835282019290925260400190205461041c90836113e3565b91508061042881611412565b9150506103be565b50905090565b60026020526000908152604090205481565b6001818154811061045857600080fd5b6000918252602090912001546001600160a01b0316905081565b3360009081526003602052604081205460ff1615156001146104af5760405162461bcd60e51b81526004016104a69061134e565b60405180910390fd5b336000908152600260205260409020548211156104de5760405162461bcd60e51b81526004016104a690611300565b3360009081526002602052604090205482116105475733600090815260026020526040812080548492906105139084906113fb565b9091555050604051339083156108fc029084906000818181858888f19350505050158015610545573d6000803e3d6000fd5b505b50503360009081526002602052604090205490565b3360009081526003602052604081205460ff1615156001146105905760405162461bcd60e51b81526004016104a69061134e565b336000908152600260205260409020548411156105bf5760405162461bcd60e51b81526004016104a690611300565b6105ca848484610d2e565b503360009081526002602052604090205484116106345733600090815260026020526040812080548692906106009084906113fb565b9091555050604051339085156108fc029086906000818181858888f19350505050158015610632573d6000803e3d6000fd5b505b50336000908152600260205260409020549392505050565b60008084905060008490506000816001600160a01b031663bd6d894d6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561069457600080fd5b505af11580156106a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cc91906110e3565b905060008051602061148a833981519152816040516106eb9190611282565b60405180910390a16000826001600160a01b031663ae9d70b06040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561073057600080fd5b505af1158015610744573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076891906110e3565b905060008051602061148a8339815191528160405161078791906112c1565b60405180910390a160405163095ea7b360e01b81526001600160a01b0385169063095ea7b3906107bd908a908a90600401611150565b602060405180830381600087803b1580156107d757600080fd5b505af11580156107eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080f91906110af565b5060405163140e25ad60e31b81526000906001600160a01b0385169063a0712d689061083f908a906004016113da565b602060405180830381600087803b15801561085957600080fd5b505af115801561086d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089191906110e3565b9998505050505050505050565b3360009081526003602052604081205460ff161515600114806108c8575060005460ff1615156001145b6108e45760405162461bcd60e51b81526004016104a69061134e565b6108ed33610be2565b61098d5760008054600160a81b900460ff1690601561090b8361142d565b825460ff9182166101009390930a9283029190920219909116179055506001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b03191633908117909155600090815260026020908152604080832083905560039091529020805460ff191690911790555b33600090815260026020526040812080543492906109ac9084906113e3565b909155506109bb905082610a2f565b50336001600160a01b03167fa8126f7572bb1fdeae5b5aa9ec126438b91f658a07873f009d041ae690f3a193346040516109f591906113da565b60405180910390a250503360009081526002602052604090205490565b60005461010090046001600160a01b031681565b60005460ff1690565b6000808290506000816001600160a01b031663bd6d894d6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610a7257600080fd5b505af1158015610a86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaa91906110e3565b905060008051602061148a83398151915281604051610ac9919061120d565b60405180910390a16000826001600160a01b031663ae9d70b06040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610b0e57600080fd5b505af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4691906110e3565b905060008051602061148a83398151915281604051610b65919061139b565b60405180910390a1826001600160a01b0316631249c58b346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610ba857600080fd5b505af1158015610bbc573d6000803e3d6000fd5b5060019998505050505050505050565b60005461010090046001600160a01b0316331490565b6001600160a01b031660009081526003602052604090205460ff16151560011490565b3360009081526002602052604090205490565b6000805461010090046001600160a01b03163314610c485760405162461bcd60e51b81526004016104a690611373565b6001600160a01b03821660009081526003602052604090205460ff1615610c815760405162461bcd60e51b81526004016104a690611258565b60008054600160a81b900460ff16906015610c9b8361142d565b82546101009290920a60ff81810219909316919092169190910217905550506001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b039390931692831790556000918252600260208181526040808520858155600383529420805460ff191690931790925590525490565b6000818160018515151415610dc25760405163db006a7560e01b81526001600160a01b0383169063db006a7590610d699089906004016113da565b602060405180830381600087803b158015610d8357600080fd5b505af1158015610d97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb91906110e3565b9050610e43565b60405163852a12e360e01b81526001600160a01b0383169063852a12e390610dee9089906004016113da565b602060405180830381600087803b158015610e0857600080fd5b505af1158015610e1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4091906110e3565b90505b60008051602061148a83398151915281604051610e6091906111c1565b60405180910390a150600195945050505050565b3360009081526003602052604081205460ff16151560011480610e9e575060005460ff1615156001145b610eba5760405162461bcd60e51b81526004016104a69061134e565b610ec333610be2565b610f635760008054600160a81b900460ff16906015610ee18361142d565b825460ff9182166101009390930a9283029190920219909116179055506001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b03191633908117909155600090815260026020908152604080832083905560039091529020805460ff191690911790555b3360009081526002602052604081208054349290610f829084906113e3565b909155505060405133907fa8126f7572bb1fdeae5b5aa9ec126438b91f658a07873f009d041ae690f3a19390610fb99034906113da565b60405180910390a2503360009081526002602052604090205490565b6060600180548060200260200160405190810160405280929190818152602001828054801561102d57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161100f575b5050505050905090565b60036020526000908152604090205460ff1681565b60006020828403121561105d578081fd5b813561106881611463565b9392505050565b600080600060608486031215611083578182fd5b833561108e81611463565b9250602084013561109e81611463565b929592945050506040919091013590565b6000602082840312156110c0578081fd5b81516110688161147b565b6000602082840312156110dc578081fd5b5035919050565b6000602082840312156110f4578081fd5b5051919050565b60008060006060848603121561110f578283fd5b8335925060208401356111218161147b565b9150604084013561113181611463565b809150509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b818110156111aa5783516001600160a01b031683529284019291840191600101611185565b50909695505050505050565b901515815260200190565b60408082526024908201527f49662074686973206973206e6f7420302c2074686572652077617320616e2065606082015263393937b960e11b6080820152602081019190915260a00190565b60408082526023908201527f45786368616e6765205261746520287363616c656420757020627920316531386060820152620149d160ed1b6080820152602081019190915260a00190565b60208082526010908201526f105b1c9958591e48195b9c9bdb1b195960821b604082015260600190565b6040808252601b908201527f45786368616e6765205261746520287363616c6564207570293a2000000000006060820152602081019190915260800190565b60408082526018908201527f537570706c7920526174653a20287363616c65642075702900000000000000006060820152602081019190915260800190565b6020808252602e908201527f4572726f7220616d6f756e742c2063616e2774207769746864726177206d6f7260408201526d19481d1a185b8819195c1bdcda5d60921b606082015260800190565b6020808252600b908201526a139bdd08185b1b1bddd95960aa1b604082015260600190565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b604080825260209082018190527f537570706c7920526174653a20287363616c6564207570206279203165313829606083015281019190915260800190565b90815260200190565b600082198211156113f6576113f661144d565b500190565b60008282101561140d5761140d61144d565b500390565b60006000198214156114265761142661144d565b5060010190565b600060ff821660ff8114156114445761144461144d565b60010192915050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461147857600080fd5b50565b801515811461147857600080fdfe8d1cced004452bd270777a8c670f9f7e7c4fdde56f2db331fe289d39dc2624ada26469706673582212202cf01a25220102a032c2d2fc2e8eecbf7437aef7c1fa3301f58ae7a3b283c66764736f6c63430008010033", - "deployedBytecode": "0x60806040526004361061012e5760003560e01c80639b6d29ab116100ab578063ba83d1a01161006f578063ba83d1a0146102ee578063c6fb50141461030e578063d0ace48e1461030e578063d0e30db01461032e578063ed214fff14610336578063f6a3d24e1461035857610135565b80639b6d29ab1461026f578063a82ffd8814610291578063ad721ff6146102a4578063b34d7e8f146102b9578063b69ef8a8146102d957610135565b80632e1a7d4d116100f25780632e1a7d4d146101e75780633549d8fb146102075780633b7ba25f146102275780636d12856d146102475780638da5cb5b1461025a57610135565b806305488a2c1461013a5780630ac298dc14610170578063138fbe711461019257806327e235e3146101a75780632820aece146101c757610135565b3661013557005b600080fd5b34801561014657600080fd5b5061015a61015536600461104c565b610378565b60405161016791906113da565b60405180910390f35b34801561017c57600080fd5b50610185610393565b604051610167919061113c565b34801561019e57600080fd5b5061015a6103a8565b3480156101b357600080fd5b5061015a6101c236600461104c565b610436565b3480156101d357600080fd5b506101856101e23660046110cb565b610448565b3480156101f357600080fd5b5061015a6102023660046110cb565b610472565b34801561021357600080fd5b5061015a6102223660046110fb565b61055c565b34801561023357600080fd5b5061015a61024236600461106f565b61064c565b61015a61025536600461104c565b61089e565b34801561026657600080fd5b50610185610a12565b34801561027b57600080fd5b50610284610a26565b60405161016791906111b6565b61028461029f36600461104c565b610a2f565b3480156102b057600080fd5b50610284610bcc565b3480156102c557600080fd5b506102846102d436600461104c565b610be2565b3480156102e557600080fd5b5061015a610c05565b3480156102fa57600080fd5b5061015a61030936600461104c565b610c18565b34801561031a57600080fd5b506102846103293660046110fb565b610d2e565b61015a610e74565b34801561034257600080fd5b5061034b610fd5565b6040516101679190611169565b34801561036457600080fd5b5061028461037336600461104c565b611037565b6001600160a01b031660009081526002602052604090205490565b60005461010090046001600160a01b03165b90565b6001546000906103ba575060006103a5565b6000805b6001548110156104305760026000600183815481106103ed57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316835282019290925260400190205461041c90836113e3565b91508061042881611412565b9150506103be565b50905090565b60026020526000908152604090205481565b6001818154811061045857600080fd5b6000918252602090912001546001600160a01b0316905081565b3360009081526003602052604081205460ff1615156001146104af5760405162461bcd60e51b81526004016104a69061134e565b60405180910390fd5b336000908152600260205260409020548211156104de5760405162461bcd60e51b81526004016104a690611300565b3360009081526002602052604090205482116105475733600090815260026020526040812080548492906105139084906113fb565b9091555050604051339083156108fc029084906000818181858888f19350505050158015610545573d6000803e3d6000fd5b505b50503360009081526002602052604090205490565b3360009081526003602052604081205460ff1615156001146105905760405162461bcd60e51b81526004016104a69061134e565b336000908152600260205260409020548411156105bf5760405162461bcd60e51b81526004016104a690611300565b6105ca848484610d2e565b503360009081526002602052604090205484116106345733600090815260026020526040812080548692906106009084906113fb565b9091555050604051339085156108fc029086906000818181858888f19350505050158015610632573d6000803e3d6000fd5b505b50336000908152600260205260409020549392505050565b60008084905060008490506000816001600160a01b031663bd6d894d6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561069457600080fd5b505af11580156106a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cc91906110e3565b905060008051602061148a833981519152816040516106eb9190611282565b60405180910390a16000826001600160a01b031663ae9d70b06040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561073057600080fd5b505af1158015610744573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076891906110e3565b905060008051602061148a8339815191528160405161078791906112c1565b60405180910390a160405163095ea7b360e01b81526001600160a01b0385169063095ea7b3906107bd908a908a90600401611150565b602060405180830381600087803b1580156107d757600080fd5b505af11580156107eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080f91906110af565b5060405163140e25ad60e31b81526000906001600160a01b0385169063a0712d689061083f908a906004016113da565b602060405180830381600087803b15801561085957600080fd5b505af115801561086d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089191906110e3565b9998505050505050505050565b3360009081526003602052604081205460ff161515600114806108c8575060005460ff1615156001145b6108e45760405162461bcd60e51b81526004016104a69061134e565b6108ed33610be2565b61098d5760008054600160a81b900460ff1690601561090b8361142d565b825460ff9182166101009390930a9283029190920219909116179055506001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b03191633908117909155600090815260026020908152604080832083905560039091529020805460ff191690911790555b33600090815260026020526040812080543492906109ac9084906113e3565b909155506109bb905082610a2f565b50336001600160a01b03167fa8126f7572bb1fdeae5b5aa9ec126438b91f658a07873f009d041ae690f3a193346040516109f591906113da565b60405180910390a250503360009081526002602052604090205490565b60005461010090046001600160a01b031681565b60005460ff1690565b6000808290506000816001600160a01b031663bd6d894d6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610a7257600080fd5b505af1158015610a86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaa91906110e3565b905060008051602061148a83398151915281604051610ac9919061120d565b60405180910390a16000826001600160a01b031663ae9d70b06040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610b0e57600080fd5b505af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4691906110e3565b905060008051602061148a83398151915281604051610b65919061139b565b60405180910390a1826001600160a01b0316631249c58b346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610ba857600080fd5b505af1158015610bbc573d6000803e3d6000fd5b5060019998505050505050505050565b60005461010090046001600160a01b0316331490565b6001600160a01b031660009081526003602052604090205460ff16151560011490565b3360009081526002602052604090205490565b6000805461010090046001600160a01b03163314610c485760405162461bcd60e51b81526004016104a690611373565b6001600160a01b03821660009081526003602052604090205460ff1615610c815760405162461bcd60e51b81526004016104a690611258565b60008054600160a81b900460ff16906015610c9b8361142d565b82546101009290920a60ff81810219909316919092169190910217905550506001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b039390931692831790556000918252600260208181526040808520858155600383529420805460ff191690931790925590525490565b6000818160018515151415610dc25760405163db006a7560e01b81526001600160a01b0383169063db006a7590610d699089906004016113da565b602060405180830381600087803b158015610d8357600080fd5b505af1158015610d97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb91906110e3565b9050610e43565b60405163852a12e360e01b81526001600160a01b0383169063852a12e390610dee9089906004016113da565b602060405180830381600087803b158015610e0857600080fd5b505af1158015610e1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4091906110e3565b90505b60008051602061148a83398151915281604051610e6091906111c1565b60405180910390a150600195945050505050565b3360009081526003602052604081205460ff16151560011480610e9e575060005460ff1615156001145b610eba5760405162461bcd60e51b81526004016104a69061134e565b610ec333610be2565b610f635760008054600160a81b900460ff16906015610ee18361142d565b825460ff9182166101009390930a9283029190920219909116179055506001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b03191633908117909155600090815260026020908152604080832083905560039091529020805460ff191690911790555b3360009081526002602052604081208054349290610f829084906113e3565b909155505060405133907fa8126f7572bb1fdeae5b5aa9ec126438b91f658a07873f009d041ae690f3a19390610fb99034906113da565b60405180910390a2503360009081526002602052604090205490565b6060600180548060200260200160405190810160405280929190818152602001828054801561102d57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161100f575b5050505050905090565b60036020526000908152604090205460ff1681565b60006020828403121561105d578081fd5b813561106881611463565b9392505050565b600080600060608486031215611083578182fd5b833561108e81611463565b9250602084013561109e81611463565b929592945050506040919091013590565b6000602082840312156110c0578081fd5b81516110688161147b565b6000602082840312156110dc578081fd5b5035919050565b6000602082840312156110f4578081fd5b5051919050565b60008060006060848603121561110f578283fd5b8335925060208401356111218161147b565b9150604084013561113181611463565b809150509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b818110156111aa5783516001600160a01b031683529284019291840191600101611185565b50909695505050505050565b901515815260200190565b60408082526024908201527f49662074686973206973206e6f7420302c2074686572652077617320616e2065606082015263393937b960e11b6080820152602081019190915260a00190565b60408082526023908201527f45786368616e6765205261746520287363616c656420757020627920316531386060820152620149d160ed1b6080820152602081019190915260a00190565b60208082526010908201526f105b1c9958591e48195b9c9bdb1b195960821b604082015260600190565b6040808252601b908201527f45786368616e6765205261746520287363616c6564207570293a2000000000006060820152602081019190915260800190565b60408082526018908201527f537570706c7920526174653a20287363616c65642075702900000000000000006060820152602081019190915260800190565b6020808252602e908201527f4572726f7220616d6f756e742c2063616e2774207769746864726177206d6f7260408201526d19481d1a185b8819195c1bdcda5d60921b606082015260800190565b6020808252600b908201526a139bdd08185b1b1bddd95960aa1b604082015260600190565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b604080825260209082018190527f537570706c7920526174653a20287363616c6564207570206279203165313829606083015281019190915260800190565b90815260200190565b600082198211156113f6576113f661144d565b500190565b60008282101561140d5761140d61144d565b500390565b60006000198214156114265761142661144d565b5060010190565b600060ff821660ff8114156114445761144461144d565b60010192915050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461147857600080fd5b50565b801515811461147857600080fdfe8d1cced004452bd270777a8c670f9f7e7c4fdde56f2db331fe289d39dc2624ada26469706673582212202cf01a25220102a032c2d2fc2e8eecbf7437aef7c1fa3301f58ae7a3b283c66764736f6c63430008010033", + "metadata": "{\"compiler\":{\"version\":\"0.8.1+commit.df193b15\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_isPublic\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"accountAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"LogDepositMade\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"MyLog\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"balance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"participant\",\"type\":\"address\"}],\"name\":\"balanceParticipant\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balances\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_cEtherContract\",\"type\":\"address\"}],\"name\":\"deposit_and_invest_compound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositsBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"participant\",\"type\":\"address\"}],\"name\":\"enroll\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getParticipantList\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"participant\",\"type\":\"address\"}],\"name\":\"is_allowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"is_owner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"is_public\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"participantsList\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"redeemType\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"_cErc20Contract\",\"type\":\"address\"}],\"name\":\"redeemCErc20Tokens\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"redeemType\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"_cEtherContract\",\"type\":\"address\"}],\"name\":\"redeemCEth\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_erc20Contract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_cErc20Contract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_numTokensToSupply\",\"type\":\"uint256\"}],\"name\":\"supplyErc20ToCompound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_cEtherContract\",\"type\":\"address\"}],\"name\":\"supplyEthToCompound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawAmount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"remainingBal\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"redeemType\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"_cEtherContract\",\"type\":\"address\"}],\"name\":\"withdraw_and_redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"remainingBal\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"balance()\":{\"returns\":{\"_0\":\"The balance of the user\"}},\"deposit()\":{\"returns\":{\"_0\":\"The balance of the user after the deposit is made\"}},\"depositsBalance()\":{\"returns\":{\"_0\":\"The balance of the Pool contract\"}},\"enroll(address)\":{\"returns\":{\"_0\":\"The balance of the user after enrolling\"}},\"getParticipantList()\":{\"returns\":{\"_0\":\"the participant list\"}},\"withdraw(uint256)\":{\"returns\":{\"remainingBal\":\": the balance remaining for the user\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"balance()\":{\"notice\":\"Just reads balance of the account requesting, so \\\"constant\\\"\"},\"deposit()\":{\"notice\":\"Deposit ether into bank, requires method is \\\"payable\\\"\"},\"enroll(address)\":{\"notice\":\"Enroll a customer with the bank, Only the owner can enroll a participant\"},\"withdraw(uint256)\":{\"notice\":\"Withdraw ether from bank\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/eddine/Documents/project/blockchain/Ohreee/pool-contracts/contracts/PoolFactory.sol\":\"PoolFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/eddine/Documents/project/blockchain/Ohreee/pool-contracts/contracts/PoolFactory.sol\":{\"keccak256\":\"0x82e5ea3ef460ff4bc9ecc19bdee498b3e235b524e10012c6fa8ca796479bde96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c646d7310bd8b59da35bb9c5d2a7231cad0ea91df12a326554131292aae98e79\",\"dweb:/ipfs/QmSmsq5P4NkL6y6e4GKE4fyeCiMH8ZpNz55WaNyqjDhN5h\"]},\"/home/eddine/Documents/project/blockchain/Ohreee/pool-contracts/contracts/compound/Compound.sol\":{\"keccak256\":\"0x7e15d1006fc8a94f9c2ac330de3b9c0fcd3ffabd214015f96e51d3f818501af2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ff508db940f06e79769d2f78e5bf810e8a49ac6ce8c0f443047e9bb781a30cc\",\"dweb:/ipfs/QmabBLUNZcbjcpuxxZoJhyWrx5AHpnLRJwGKbX7Rt1ku8v\"]},\"/home/eddine/Documents/project/blockchain/Ohreee/pool-contracts/contracts/compound/CompoundInterfaces.sol\":{\"keccak256\":\"0x9166c0bf9615211216231ca59b1b83a9799d45c3186c3fb34f5fa122bcc16c0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc4a46319abd902f2a4e42dcaec5c185ca65cad9223eaafe04bd22c69ed2b73d\",\"dweb:/ipfs/QmSQVYxm6pk1BYf6VLezNibev6XXHQoD644bRANVVpWvxD\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b5060405162002af738038062002af7833981810160405281019062000037919062000246565b816000806101000a81548160ff02191690831515021790555080600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060008060156101000a81548160ff021916908360ff1602179055506001600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050620002fb565b6000815190506200022981620002c7565b92915050565b6000815190506200024081620002e1565b92915050565b600080604083850312156200025a57600080fd5b60006200026a858286016200022f565b92505060206200027d8582860162000218565b9150509250929050565b60006200029482620002a7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b620002d28162000287565b8114620002de57600080fd5b50565b620002ec816200029b565b8114620002f857600080fd5b50565b6127ec806200030b6000396000f3fe60806040526004361061012e5760003560e01c80639b6d29ab116100ab578063ba83d1a01161006f578063ba83d1a014610447578063c6fb501414610484578063d0ace48e146104c1578063d0e30db0146104fe578063ed214fff1461051c578063f6a3d24e1461054757610135565b80639b6d29ab14610359578063a82ffd8814610384578063ad721ff6146103b4578063b34d7e8f146103df578063b69ef8a81461041c57610135565b80632e1a7d4d116100f25780632e1a7d4d146102475780633549d8fb146102845780633b7ba25f146102c15780636d12856d146102fe5780638da5cb5b1461032e57610135565b806305488a2c1461013a5780630ac298dc14610177578063138fbe71146101a257806327e235e3146101cd5780632820aece1461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b50610161600480360381019061015c9190611e40565b610584565b60405161016e919061237f565b60405180910390f35b34801561018357600080fd5b5061018c6105cd565b6040516101999190612198565b60405180910390f35b3480156101ae57600080fd5b506101b76105f6565b6040516101c4919061237f565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef9190611e40565b6106ec565b604051610201919061237f565b60405180910390f35b34801561021657600080fd5b50610231600480360381019061022c9190611f0a565b610704565b60405161023e9190612198565b60405180910390f35b34801561025357600080fd5b5061026e60048036038101906102699190611f0a565b610743565b60405161027b919061237f565b60405180910390f35b34801561029057600080fd5b506102ab60048036038101906102a69190611f5c565b610985565b6040516102b8919061237f565b60405180910390f35b3480156102cd57600080fd5b506102e860048036038101906102e39190611e92565b610bd5565b6040516102f5919061237f565b60405180910390f35b61031860048036038101906103139190611e69565b610e82565b604051610325919061237f565b60405180910390f35b34801561033a57600080fd5b50610343611176565b6040516103509190612198565b60405180910390f35b34801561036557600080fd5b5061036e61119c565b60405161037b91906121fe565b60405180910390f35b61039e60048036038101906103999190611e69565b6111b2565b6040516103ab91906121fe565b60405180910390f35b3480156103c057600080fd5b506103c961139b565b6040516103d691906121fe565b60405180910390f35b3480156103eb57600080fd5b5061040660048036038101906104019190611e40565b6113f3565b60405161041391906121fe565b60405180910390f35b34801561042857600080fd5b50610431611450565b60405161043e919061237f565b60405180910390f35b34801561045357600080fd5b5061046e60048036038101906104699190611e40565b611497565b60405161047b919061237f565b60405180910390f35b34801561049057600080fd5b506104ab60048036038101906104a69190611f5c565b61173a565b6040516104b891906121fe565b60405180910390f35b3480156104cd57600080fd5b506104e860048036038101906104e39190611f5c565b6118b3565b6040516104f591906121fe565b60405180910390f35b610506611a2c565b604051610513919061237f565b60405180910390f35b34801561052857600080fd5b50610531611d14565b60405161053e91906121dc565b60405180910390f35b34801561055357600080fd5b5061056e60048036038101906105699190611e40565b611da2565b60405161057b91906121fe565b60405180910390f35b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080600180549050141561060e57600090506106e9565b6000805b6001805490508110156106e357600260006001838154811061065d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826106ce91906123e4565b915080806106db906124d5565b915050610612565b50809150505b90565b60026020528060005260406000206000915090505481565b6001818154811061071457600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060011515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146107d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cf90612311565b60405180910390fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561085a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610851906122f1565b60405180910390fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821161093e5781600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108ef919061243a565b925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015801561093c573d6000803e3d6000fd5b505b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060011515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1190612311565b60405180910390fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054841115610a9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a93906122f1565b60405180910390fd5b610aa784848461173a565b50600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411610b8c5783600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b3d919061243a565b925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f19350505050158015610b8a573d6000803e3d6000fd5b505b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490509392505050565b600080849050600084905060008173ffffffffffffffffffffffffffffffffffffffff1663bd6d894d6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610c2a57600080fd5b505af1158015610c3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c629190611f33565b90507f8d1cced004452bd270777a8c670f9f7e7c4fdde56f2db331fe289d39dc2624ad81604051610c939190612295565b60405180910390a160008273ffffffffffffffffffffffffffffffffffffffff1663ae9d70b06040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610ce557600080fd5b505af1158015610cf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1d9190611f33565b90507f8d1cced004452bd270777a8c670f9f7e7c4fdde56f2db331fe289d39dc2624ad81604051610d4e91906122c3565b60405180910390a18373ffffffffffffffffffffffffffffffffffffffff1663095ea7b388886040518363ffffffff1660e01b8152600401610d919291906121b3565b602060405180830381600087803b158015610dab57600080fd5b505af1158015610dbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de39190611ee1565b5060008373ffffffffffffffffffffffffffffffffffffffff1663a0712d68886040518263ffffffff1660e01b8152600401610e1f919061237f565b602060405180830381600087803b158015610e3957600080fd5b505af1158015610e4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e719190611f33565b905080955050505050509392505050565b600060011515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480610ef457506001151560008054906101000a900460ff161515145b610f33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2a90612311565b60405180910390fd5b60001515610f40336113f3565b15151415611081576000601581819054906101000a900460ff1680929190610f679061251e565b91906101000a81548160ff021916908360ff160217905550506001339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b34600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110d091906123e4565b925050819055506110e0826111b2565b503373ffffffffffffffffffffffffffffffffffffffff167fa8126f7572bb1fdeae5b5aa9ec126438b91f658a07873f009d041ae690f3a19334604051611127919061237f565b60405180910390a2600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900460ff16905090565b60008082905060008173ffffffffffffffffffffffffffffffffffffffff1663bd6d894d6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561120257600080fd5b505af1158015611216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123a9190611f33565b90507f8d1cced004452bd270777a8c670f9f7e7c4fdde56f2db331fe289d39dc2624ad8160405161126b9190612247565b60405180910390a160008273ffffffffffffffffffffffffffffffffffffffff1663ae9d70b06040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156112bd57600080fd5b505af11580156112d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f59190611f33565b90507f8d1cced004452bd270777a8c670f9f7e7c4fdde56f2db331fe289d39dc2624ad816040516113269190612351565b60405180910390a18273ffffffffffffffffffffffffffffffffffffffff16631249c58b346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561137657600080fd5b505af115801561138a573d6000803e3d6000fd5b505050505060019350505050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b600060011515600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515149050919050565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611528576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151f90612331565b60405180910390fd5b60001515600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146115bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b290612275565b60405180910390fd5b6000601581819054906101000a900460ff16809291906115da9061251e565b91906101000a81548160ff021916908360ff160217905550506001829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008082905060006001151585151514156117e1578173ffffffffffffffffffffffffffffffffffffffff1663db006a75876040518263ffffffff1660e01b8152600401611788919061237f565b602060405180830381600087803b1580156117a257600080fd5b505af11580156117b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117da9190611f33565b905061186f565b8173ffffffffffffffffffffffffffffffffffffffff1663852a12e3876040518263ffffffff1660e01b815260040161181a919061237f565b602060405180830381600087803b15801561183457600080fd5b505af1158015611848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186c9190611f33565b90505b7f8d1cced004452bd270777a8c670f9f7e7c4fdde56f2db331fe289d39dc2624ad8160405161189e9190612219565b60405180910390a16001925050509392505050565b600080829050600060011515851515141561195a578173ffffffffffffffffffffffffffffffffffffffff1663db006a75876040518263ffffffff1660e01b8152600401611901919061237f565b602060405180830381600087803b15801561191b57600080fd5b505af115801561192f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119539190611f33565b90506119e8565b8173ffffffffffffffffffffffffffffffffffffffff1663852a12e3876040518263ffffffff1660e01b8152600401611993919061237f565b602060405180830381600087803b1580156119ad57600080fd5b505af11580156119c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e59190611f33565b90505b7f8d1cced004452bd270777a8c670f9f7e7c4fdde56f2db331fe289d39dc2624ad81604051611a179190612219565b60405180910390a16001925050509392505050565b600060011515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480611a9e57506001151560008054906101000a900460ff161515145b611add576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad490612311565b60405180910390fd5b60001515611aea336113f3565b15151415611c2b576000601581819054906101000a900460ff1680929190611b119061251e565b91906101000a81548160ff021916908360ff160217905550506001339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b34600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c7a91906123e4565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fa8126f7572bb1fdeae5b5aa9ec126438b91f658a07873f009d041ae690f3a19334604051611cc7919061237f565b60405180910390a2600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b60606001805480602002602001604051908101604052809291908181526020018280548015611d9857602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611d4e575b5050505050905090565b60036020528060005260406000206000915054906101000a900460ff1681565b600081359050611dd18161275a565b92915050565b600081359050611de681612771565b92915050565b600081359050611dfb81612788565b92915050565b600081519050611e1081612788565b92915050565b600081359050611e258161279f565b92915050565b600081519050611e3a8161279f565b92915050565b600060208284031215611e5257600080fd5b6000611e6084828501611dc2565b91505092915050565b600060208284031215611e7b57600080fd5b6000611e8984828501611dd7565b91505092915050565b600080600060608486031215611ea757600080fd5b6000611eb586828701611dc2565b9350506020611ec686828701611dc2565b9250506040611ed786828701611e16565b9150509250925092565b600060208284031215611ef357600080fd5b6000611f0184828501611e01565b91505092915050565b600060208284031215611f1c57600080fd5b6000611f2a84828501611e16565b91505092915050565b600060208284031215611f4557600080fd5b6000611f5384828501611e2b565b91505092915050565b600080600060608486031215611f7157600080fd5b6000611f7f86828701611e16565b9350506020611f9086828701611dec565b9250506040611fa186828701611dc2565b9150509250925092565b6000611fb78383611fc3565b60208301905092915050565b611fcc8161246e565b82525050565b611fdb8161246e565b82525050565b6000611fec826123aa565b611ff681856123c2565b93506120018361239a565b8060005b838110156120325781516120198882611fab565b9750612024836123b5565b925050600181019050612005565b5085935050505092915050565b61204881612492565b82525050565b600061205b6024836123d3565b915061206682612577565b604082019050919050565b600061207e6023836123d3565b9150612089826125c6565b604082019050919050565b60006120a16010836123d3565b91506120ac82612615565b602082019050919050565b60006120c4601b836123d3565b91506120cf8261263e565b602082019050919050565b60006120e76018836123d3565b91506120f282612667565b602082019050919050565b600061210a602e836123d3565b915061211582612690565b604082019050919050565b600061212d600b836123d3565b9150612138826126df565b602082019050919050565b6000612150600e836123d3565b915061215b82612708565b602082019050919050565b60006121736020836123d3565b915061217e82612731565b602082019050919050565b612192816124be565b82525050565b60006020820190506121ad6000830184611fd2565b92915050565b60006040820190506121c86000830185611fd2565b6121d56020830184612189565b9392505050565b600060208201905081810360008301526121f68184611fe1565b905092915050565b6000602082019050612213600083018461203f565b92915050565b600060408201905081810360008301526122328161204e565b90506122416020830184612189565b92915050565b6000604082019050818103600083015261226081612071565b905061226f6020830184612189565b92915050565b6000602082019050818103600083015261228e81612094565b9050919050565b600060408201905081810360008301526122ae816120b7565b90506122bd6020830184612189565b92915050565b600060408201905081810360008301526122dc816120da565b90506122eb6020830184612189565b92915050565b6000602082019050818103600083015261230a816120fd565b9050919050565b6000602082019050818103600083015261232a81612120565b9050919050565b6000602082019050818103600083015261234a81612143565b9050919050565b6000604082019050818103600083015261236a81612166565b90506123796020830184612189565b92915050565b60006020820190506123946000830184612189565b92915050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006123ef826124be565b91506123fa836124be565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561242f5761242e612548565b5b828201905092915050565b6000612445826124be565b9150612450836124be565b92508282101561246357612462612548565b5b828203905092915050565b60006124798261249e565b9050919050565b600061248b8261249e565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006124e0826124be565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561251357612512612548565b5b600182019050919050565b6000612529826124c8565b915060ff82141561253d5761253c612548565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f49662074686973206973206e6f7420302c2074686572652077617320616e206560008201527f72726f7200000000000000000000000000000000000000000000000000000000602082015250565b7f45786368616e6765205261746520287363616c6564207570206279203165313860008201527f293a200000000000000000000000000000000000000000000000000000000000602082015250565b7f416c726561647920656e726f6c6c656400000000000000000000000000000000600082015250565b7f45786368616e6765205261746520287363616c6564207570293a200000000000600082015250565b7f537570706c7920526174653a20287363616c6564207570290000000000000000600082015250565b7f4572726f7220616d6f756e742c2063616e2774207769746864726177206d6f7260008201527f65207468616e206465706f736974000000000000000000000000000000000000602082015250565b7f4e6f7420616c6c6f776564000000000000000000000000000000000000000000600082015250565b7f4e6f7420617574686f72697a6564000000000000000000000000000000000000600082015250565b7f537570706c7920526174653a20287363616c6564207570206279203165313829600082015250565b6127638161246e565b811461276e57600080fd5b50565b61277a81612480565b811461278557600080fd5b50565b61279181612492565b811461279c57600080fd5b50565b6127a8816124be565b81146127b357600080fd5b5056fea2646970667358221220524b6b48db8851ffcebbcab8a847efb7149ae1c11a4b8512d97ffbe2b87cf8b864736f6c63430008010033", + "deployedBytecode": "0x60806040526004361061012e5760003560e01c80639b6d29ab116100ab578063ba83d1a01161006f578063ba83d1a014610447578063c6fb501414610484578063d0ace48e146104c1578063d0e30db0146104fe578063ed214fff1461051c578063f6a3d24e1461054757610135565b80639b6d29ab14610359578063a82ffd8814610384578063ad721ff6146103b4578063b34d7e8f146103df578063b69ef8a81461041c57610135565b80632e1a7d4d116100f25780632e1a7d4d146102475780633549d8fb146102845780633b7ba25f146102c15780636d12856d146102fe5780638da5cb5b1461032e57610135565b806305488a2c1461013a5780630ac298dc14610177578063138fbe71146101a257806327e235e3146101cd5780632820aece1461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b50610161600480360381019061015c9190611e40565b610584565b60405161016e919061237f565b60405180910390f35b34801561018357600080fd5b5061018c6105cd565b6040516101999190612198565b60405180910390f35b3480156101ae57600080fd5b506101b76105f6565b6040516101c4919061237f565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef9190611e40565b6106ec565b604051610201919061237f565b60405180910390f35b34801561021657600080fd5b50610231600480360381019061022c9190611f0a565b610704565b60405161023e9190612198565b60405180910390f35b34801561025357600080fd5b5061026e60048036038101906102699190611f0a565b610743565b60405161027b919061237f565b60405180910390f35b34801561029057600080fd5b506102ab60048036038101906102a69190611f5c565b610985565b6040516102b8919061237f565b60405180910390f35b3480156102cd57600080fd5b506102e860048036038101906102e39190611e92565b610bd5565b6040516102f5919061237f565b60405180910390f35b61031860048036038101906103139190611e69565b610e82565b604051610325919061237f565b60405180910390f35b34801561033a57600080fd5b50610343611176565b6040516103509190612198565b60405180910390f35b34801561036557600080fd5b5061036e61119c565b60405161037b91906121fe565b60405180910390f35b61039e60048036038101906103999190611e69565b6111b2565b6040516103ab91906121fe565b60405180910390f35b3480156103c057600080fd5b506103c961139b565b6040516103d691906121fe565b60405180910390f35b3480156103eb57600080fd5b5061040660048036038101906104019190611e40565b6113f3565b60405161041391906121fe565b60405180910390f35b34801561042857600080fd5b50610431611450565b60405161043e919061237f565b60405180910390f35b34801561045357600080fd5b5061046e60048036038101906104699190611e40565b611497565b60405161047b919061237f565b60405180910390f35b34801561049057600080fd5b506104ab60048036038101906104a69190611f5c565b61173a565b6040516104b891906121fe565b60405180910390f35b3480156104cd57600080fd5b506104e860048036038101906104e39190611f5c565b6118b3565b6040516104f591906121fe565b60405180910390f35b610506611a2c565b604051610513919061237f565b60405180910390f35b34801561052857600080fd5b50610531611d14565b60405161053e91906121dc565b60405180910390f35b34801561055357600080fd5b5061056e60048036038101906105699190611e40565b611da2565b60405161057b91906121fe565b60405180910390f35b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080600180549050141561060e57600090506106e9565b6000805b6001805490508110156106e357600260006001838154811061065d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826106ce91906123e4565b915080806106db906124d5565b915050610612565b50809150505b90565b60026020528060005260406000206000915090505481565b6001818154811061071457600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060011515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146107d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cf90612311565b60405180910390fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561085a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610851906122f1565b60405180910390fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821161093e5781600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108ef919061243a565b925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015801561093c573d6000803e3d6000fd5b505b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060011515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1190612311565b60405180910390fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054841115610a9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a93906122f1565b60405180910390fd5b610aa784848461173a565b50600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411610b8c5783600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b3d919061243a565b925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f19350505050158015610b8a573d6000803e3d6000fd5b505b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490509392505050565b600080849050600084905060008173ffffffffffffffffffffffffffffffffffffffff1663bd6d894d6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610c2a57600080fd5b505af1158015610c3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c629190611f33565b90507f8d1cced004452bd270777a8c670f9f7e7c4fdde56f2db331fe289d39dc2624ad81604051610c939190612295565b60405180910390a160008273ffffffffffffffffffffffffffffffffffffffff1663ae9d70b06040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610ce557600080fd5b505af1158015610cf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1d9190611f33565b90507f8d1cced004452bd270777a8c670f9f7e7c4fdde56f2db331fe289d39dc2624ad81604051610d4e91906122c3565b60405180910390a18373ffffffffffffffffffffffffffffffffffffffff1663095ea7b388886040518363ffffffff1660e01b8152600401610d919291906121b3565b602060405180830381600087803b158015610dab57600080fd5b505af1158015610dbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de39190611ee1565b5060008373ffffffffffffffffffffffffffffffffffffffff1663a0712d68886040518263ffffffff1660e01b8152600401610e1f919061237f565b602060405180830381600087803b158015610e3957600080fd5b505af1158015610e4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e719190611f33565b905080955050505050509392505050565b600060011515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480610ef457506001151560008054906101000a900460ff161515145b610f33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2a90612311565b60405180910390fd5b60001515610f40336113f3565b15151415611081576000601581819054906101000a900460ff1680929190610f679061251e565b91906101000a81548160ff021916908360ff160217905550506001339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b34600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110d091906123e4565b925050819055506110e0826111b2565b503373ffffffffffffffffffffffffffffffffffffffff167fa8126f7572bb1fdeae5b5aa9ec126438b91f658a07873f009d041ae690f3a19334604051611127919061237f565b60405180910390a2600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900460ff16905090565b60008082905060008173ffffffffffffffffffffffffffffffffffffffff1663bd6d894d6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561120257600080fd5b505af1158015611216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123a9190611f33565b90507f8d1cced004452bd270777a8c670f9f7e7c4fdde56f2db331fe289d39dc2624ad8160405161126b9190612247565b60405180910390a160008273ffffffffffffffffffffffffffffffffffffffff1663ae9d70b06040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156112bd57600080fd5b505af11580156112d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f59190611f33565b90507f8d1cced004452bd270777a8c670f9f7e7c4fdde56f2db331fe289d39dc2624ad816040516113269190612351565b60405180910390a18273ffffffffffffffffffffffffffffffffffffffff16631249c58b346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561137657600080fd5b505af115801561138a573d6000803e3d6000fd5b505050505060019350505050919050565b60003373ffffffffffffffffffffffffffffffffffffffff16600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905090565b600060011515600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515149050919050565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611528576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151f90612331565b60405180910390fd5b60001515600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146115bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b290612275565b60405180910390fd5b6000601581819054906101000a900460ff16809291906115da9061251e565b91906101000a81548160ff021916908360ff160217905550506001829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008082905060006001151585151514156117e1578173ffffffffffffffffffffffffffffffffffffffff1663db006a75876040518263ffffffff1660e01b8152600401611788919061237f565b602060405180830381600087803b1580156117a257600080fd5b505af11580156117b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117da9190611f33565b905061186f565b8173ffffffffffffffffffffffffffffffffffffffff1663852a12e3876040518263ffffffff1660e01b815260040161181a919061237f565b602060405180830381600087803b15801561183457600080fd5b505af1158015611848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186c9190611f33565b90505b7f8d1cced004452bd270777a8c670f9f7e7c4fdde56f2db331fe289d39dc2624ad8160405161189e9190612219565b60405180910390a16001925050509392505050565b600080829050600060011515851515141561195a578173ffffffffffffffffffffffffffffffffffffffff1663db006a75876040518263ffffffff1660e01b8152600401611901919061237f565b602060405180830381600087803b15801561191b57600080fd5b505af115801561192f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119539190611f33565b90506119e8565b8173ffffffffffffffffffffffffffffffffffffffff1663852a12e3876040518263ffffffff1660e01b8152600401611993919061237f565b602060405180830381600087803b1580156119ad57600080fd5b505af11580156119c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e59190611f33565b90505b7f8d1cced004452bd270777a8c670f9f7e7c4fdde56f2db331fe289d39dc2624ad81604051611a179190612219565b60405180910390a16001925050509392505050565b600060011515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480611a9e57506001151560008054906101000a900460ff161515145b611add576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad490612311565b60405180910390fd5b60001515611aea336113f3565b15151415611c2b576000601581819054906101000a900460ff1680929190611b119061251e565b91906101000a81548160ff021916908360ff160217905550506001339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b34600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c7a91906123e4565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fa8126f7572bb1fdeae5b5aa9ec126438b91f658a07873f009d041ae690f3a19334604051611cc7919061237f565b60405180910390a2600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b60606001805480602002602001604051908101604052809291908181526020018280548015611d9857602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611d4e575b5050505050905090565b60036020528060005260406000206000915054906101000a900460ff1681565b600081359050611dd18161275a565b92915050565b600081359050611de681612771565b92915050565b600081359050611dfb81612788565b92915050565b600081519050611e1081612788565b92915050565b600081359050611e258161279f565b92915050565b600081519050611e3a8161279f565b92915050565b600060208284031215611e5257600080fd5b6000611e6084828501611dc2565b91505092915050565b600060208284031215611e7b57600080fd5b6000611e8984828501611dd7565b91505092915050565b600080600060608486031215611ea757600080fd5b6000611eb586828701611dc2565b9350506020611ec686828701611dc2565b9250506040611ed786828701611e16565b9150509250925092565b600060208284031215611ef357600080fd5b6000611f0184828501611e01565b91505092915050565b600060208284031215611f1c57600080fd5b6000611f2a84828501611e16565b91505092915050565b600060208284031215611f4557600080fd5b6000611f5384828501611e2b565b91505092915050565b600080600060608486031215611f7157600080fd5b6000611f7f86828701611e16565b9350506020611f9086828701611dec565b9250506040611fa186828701611dc2565b9150509250925092565b6000611fb78383611fc3565b60208301905092915050565b611fcc8161246e565b82525050565b611fdb8161246e565b82525050565b6000611fec826123aa565b611ff681856123c2565b93506120018361239a565b8060005b838110156120325781516120198882611fab565b9750612024836123b5565b925050600181019050612005565b5085935050505092915050565b61204881612492565b82525050565b600061205b6024836123d3565b915061206682612577565b604082019050919050565b600061207e6023836123d3565b9150612089826125c6565b604082019050919050565b60006120a16010836123d3565b91506120ac82612615565b602082019050919050565b60006120c4601b836123d3565b91506120cf8261263e565b602082019050919050565b60006120e76018836123d3565b91506120f282612667565b602082019050919050565b600061210a602e836123d3565b915061211582612690565b604082019050919050565b600061212d600b836123d3565b9150612138826126df565b602082019050919050565b6000612150600e836123d3565b915061215b82612708565b602082019050919050565b60006121736020836123d3565b915061217e82612731565b602082019050919050565b612192816124be565b82525050565b60006020820190506121ad6000830184611fd2565b92915050565b60006040820190506121c86000830185611fd2565b6121d56020830184612189565b9392505050565b600060208201905081810360008301526121f68184611fe1565b905092915050565b6000602082019050612213600083018461203f565b92915050565b600060408201905081810360008301526122328161204e565b90506122416020830184612189565b92915050565b6000604082019050818103600083015261226081612071565b905061226f6020830184612189565b92915050565b6000602082019050818103600083015261228e81612094565b9050919050565b600060408201905081810360008301526122ae816120b7565b90506122bd6020830184612189565b92915050565b600060408201905081810360008301526122dc816120da565b90506122eb6020830184612189565b92915050565b6000602082019050818103600083015261230a816120fd565b9050919050565b6000602082019050818103600083015261232a81612120565b9050919050565b6000602082019050818103600083015261234a81612143565b9050919050565b6000604082019050818103600083015261236a81612166565b90506123796020830184612189565b92915050565b60006020820190506123946000830184612189565b92915050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006123ef826124be565b91506123fa836124be565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561242f5761242e612548565b5b828201905092915050565b6000612445826124be565b9150612450836124be565b92508282101561246357612462612548565b5b828203905092915050565b60006124798261249e565b9050919050565b600061248b8261249e565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006124e0826124be565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561251357612512612548565b5b600182019050919050565b6000612529826124c8565b915060ff82141561253d5761253c612548565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f49662074686973206973206e6f7420302c2074686572652077617320616e206560008201527f72726f7200000000000000000000000000000000000000000000000000000000602082015250565b7f45786368616e6765205261746520287363616c6564207570206279203165313860008201527f293a200000000000000000000000000000000000000000000000000000000000602082015250565b7f416c726561647920656e726f6c6c656400000000000000000000000000000000600082015250565b7f45786368616e6765205261746520287363616c6564207570293a200000000000600082015250565b7f537570706c7920526174653a20287363616c6564207570290000000000000000600082015250565b7f4572726f7220616d6f756e742c2063616e2774207769746864726177206d6f7260008201527f65207468616e206465706f736974000000000000000000000000000000000000602082015250565b7f4e6f7420616c6c6f776564000000000000000000000000000000000000000000600082015250565b7f4e6f7420617574686f72697a6564000000000000000000000000000000000000600082015250565b7f537570706c7920526174653a20287363616c6564207570206279203165313829600082015250565b6127638161246e565b811461276e57600080fd5b50565b61277a81612480565b811461278557600080fd5b50565b61279181612492565b811461279c57600080fd5b50565b6127a8816124be565b81146127b357600080fd5b5056fea2646970667358221220524b6b48db8851ffcebbcab8a847efb7149ae1c11a4b8512d97ffbe2b87cf8b864736f6c63430008010033", "immutableReferences": {}, "generatedSources": [ { "ast": { "nodeType": "YulBlock", - "src": "0:498:6", + "src": "0:1316:6", "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:6", - "statements": [] - }, { "body": { "nodeType": "YulBlock", - "src": "109:387:6", + "src": "70:80:6", "statements": [ { - "body": { - "nodeType": "YulBlock", - "src": "155:26:6", - "statements": [ + "nodeType": "YulAssignment", + "src": "80:22:6", + "value": { + "arguments": [ { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "164:6:6" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "172:6:6" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "157:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "157:22:6" - }, - "nodeType": "YulExpressionStatement", - "src": "157:22:6" + "name": "offset", + "nodeType": "YulIdentifier", + "src": "95:6:6" } - ] + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "89:5:6" + }, + "nodeType": "YulFunctionCall", + "src": "89:13:6" }, - "condition": { + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "80:5:6" + } + ] + }, + { + "expression": { "arguments": [ { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "130:7:6" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "139:9:6" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "126:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "126:23:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "151:2:6", - "type": "", - "value": "64" + "name": "value", + "nodeType": "YulIdentifier", + "src": "138:5:6" } ], "functionName": { - "name": "slt", + "name": "validator_revert_t_address", "nodeType": "YulIdentifier", - "src": "122:3:6" + "src": "111:26:6" }, "nodeType": "YulFunctionCall", - "src": "122:32:6" + "src": "111:33:6" }, - "nodeType": "YulIf", - "src": "119:2:6" - }, + "nodeType": "YulExpressionStatement", + "src": "111:33:6" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "48:6:6", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "56:3:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "64:5:6", + "type": "" + } + ], + "src": "7:143:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "216:77:6", + "statements": [ { - "nodeType": "YulVariableDeclaration", - "src": "190:29:6", + "nodeType": "YulAssignment", + "src": "226:22:6", "value": { "arguments": [ { - "name": "headStart", + "name": "offset", "nodeType": "YulIdentifier", - "src": "209:9:6" + "src": "241:6:6" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "203:5:6" + "src": "235:5:6" }, "nodeType": "YulFunctionCall", - "src": "203:16:6" + "src": "235:13:6" }, - "variables": [ + "variableNames": [ { "name": "value", - "nodeType": "YulTypedName", - "src": "194:5:6", - "type": "" + "nodeType": "YulIdentifier", + "src": "226:5:6" } ] }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "281:5:6" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nodeType": "YulIdentifier", + "src": "257:23:6" + }, + "nodeType": "YulFunctionCall", + "src": "257:30:6" + }, + "nodeType": "YulExpressionStatement", + "src": "257:30:6" + } + ] + }, + "name": "abi_decode_t_bool_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "194:6:6", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "202:3:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "210:5:6", + "type": "" + } + ], + "src": "156:137:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "390:343:6", + "statements": [ { "body": { "nodeType": "YulBlock", - "src": "272:26:6", + "src": "436:16:6", "statements": [ { "expression": { "arguments": [ { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "281:6:6" + "kind": "number", + "nodeType": "YulLiteral", + "src": "445:1:6", + "type": "", + "value": "0" }, { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "289:6:6" + "kind": "number", + "nodeType": "YulLiteral", + "src": "448:1:6", + "type": "", + "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "274:6:6" + "src": "438:6:6" }, "nodeType": "YulFunctionCall", - "src": "274:22:6" + "src": "438:12:6" }, "nodeType": "YulExpressionStatement", - "src": "274:22:6" + "src": "438:12:6" } ] }, @@ -610,344 +667,441 @@ { "arguments": [ { - "name": "value", + "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "241:5:6" + "src": "411:7:6" }, { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "262:5:6" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "255:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "255:13:6" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "248:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "248:21:6" + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "420:9:6" } ], "functionName": { - "name": "eq", + "name": "sub", "nodeType": "YulIdentifier", - "src": "238:2:6" + "src": "407:3:6" }, "nodeType": "YulFunctionCall", - "src": "238:32:6" + "src": "407:23:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "432:2:6", + "type": "", + "value": "64" } ], "functionName": { - "name": "iszero", + "name": "slt", "nodeType": "YulIdentifier", - "src": "231:6:6" + "src": "403:3:6" }, "nodeType": "YulFunctionCall", - "src": "231:40:6" + "src": "403:32:6" }, "nodeType": "YulIf", - "src": "228:2:6" + "src": "400:2:6" }, { - "nodeType": "YulAssignment", - "src": "307:15:6", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "317:5:6" - }, - "variableNames": [ + "nodeType": "YulBlock", + "src": "462:125:6", + "statements": [ { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "307:6:6" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "331:40:6", - "value": { - "arguments": [ - { + "nodeType": "YulVariableDeclaration", + "src": "477:15:6", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "491:1:6", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "481:6:6", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "506:71:6", + "value": { "arguments": [ { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "356:9:6" + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "549:9:6" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "560:6:6" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "545:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "545:22:6" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "367:2:6", - "type": "", - "value": "32" + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "569:7:6" } ], "functionName": { - "name": "add", + "name": "abi_decode_t_bool_fromMemory", "nodeType": "YulIdentifier", - "src": "352:3:6" + "src": "516:28:6" }, "nodeType": "YulFunctionCall", - "src": "352:18:6" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "346:5:6" - }, - "nodeType": "YulFunctionCall", - "src": "346:25:6" - }, - "variables": [ - { - "name": "value_1", - "nodeType": "YulTypedName", - "src": "335:7:6", - "type": "" + "src": "516:61:6" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "506:6:6" + } + ] } ] }, { - "body": { - "nodeType": "YulBlock", - "src": "438:26:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "447:6:6" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "455:6:6" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "440:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "440:22:6" - }, - "nodeType": "YulExpressionStatement", - "src": "440:22:6" - } - ] - }, - "condition": { - "arguments": [ - { + "nodeType": "YulBlock", + "src": "597:129:6", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "612:16:6", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "626:2:6", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "616:6:6", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "642:74:6", + "value": { "arguments": [ - { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "393:7:6" - }, { "arguments": [ { - "name": "value_1", + "name": "headStart", "nodeType": "YulIdentifier", - "src": "406:7:6" + "src": "688:9:6" }, { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "423:3:6", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "428:1:6", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "419:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "419:11:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "432:1:6", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "415:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "415:19:6" + "name": "offset", + "nodeType": "YulIdentifier", + "src": "699:6:6" } ], "functionName": { - "name": "and", + "name": "add", "nodeType": "YulIdentifier", - "src": "402:3:6" + "src": "684:3:6" }, "nodeType": "YulFunctionCall", - "src": "402:33:6" + "src": "684:22:6" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "708:7:6" } ], "functionName": { - "name": "eq", + "name": "abi_decode_t_address_fromMemory", "nodeType": "YulIdentifier", - "src": "390:2:6" + "src": "652:31:6" }, "nodeType": "YulFunctionCall", - "src": "390:46:6" + "src": "652:64:6" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "642:6:6" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_boolt_address_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "352:9:6", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "363:7:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "375:6:6", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "383:6:6", + "type": "" + } + ], + "src": "299:434:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "784:51:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "794:35:6", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "823:5:6" } ], "functionName": { - "name": "iszero", + "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", - "src": "383:6:6" + "src": "805:17:6" }, "nodeType": "YulFunctionCall", - "src": "383:54:6" + "src": "805:24:6" }, - "nodeType": "YulIf", - "src": "380:2:6" - }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "794:7:6" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "766:5:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "776:7:6", + "type": "" + } + ], + "src": "739:96:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "883:48:6", + "statements": [ { "nodeType": "YulAssignment", - "src": "473:17:6", + "src": "893:32:6", "value": { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "483:7:6" + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "918:5:6" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "911:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "911:13:6" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "904:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "904:21:6" }, "variableNames": [ { - "name": "value1", + "name": "cleaned", "nodeType": "YulIdentifier", - "src": "473:6:6" + "src": "893:7:6" } ] } ] }, - "name": "abi_decode_tuple_t_boolt_address_fromMemory", + "name": "cleanup_t_bool", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "headStart", + "name": "value", "nodeType": "YulTypedName", - "src": "67:9:6", + "src": "865:5:6", "type": "" - }, + } + ], + "returnVariables": [ { - "name": "dataEnd", + "name": "cleaned", "nodeType": "YulTypedName", - "src": "78:7:6", + "src": "875:7:6", "type": "" } ], - "returnVariables": [ + "src": "841:90:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "982:81:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "992:65:6", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1007:5:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1014:42:6", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1003:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "1003:54:6" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "992:7:6" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ { - "name": "value0", + "name": "value", "nodeType": "YulTypedName", - "src": "90:6:6", + "src": "964:5:6", "type": "" - }, + } + ], + "returnVariables": [ { - "name": "value1", + "name": "cleaned", "nodeType": "YulTypedName", - "src": "98:6:6", + "src": "974:7:6", "type": "" } ], - "src": "14:482:6" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_boolt_address_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(value0, value0) }\n let value := mload(headStart)\n if iszero(eq(value, iszero(iszero(value)))) { revert(value0, value0) }\n value0 := value\n let value_1 := mload(add(headStart, 32))\n if iszero(eq(value_1, and(value_1, sub(shl(160, 1), 1)))) { revert(value1, value1) }\n value1 := value_1\n }\n}", - "id": 6, - "language": "Yul", - "name": "#utility.yul" - } - ], - "deployedGeneratedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:8342:6", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:6", - "statements": [] + "src": "937:126:6" }, { "body": { "nodeType": "YulBlock", - "src": "84:189:6", + "src": "1112:79:6", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "130:26:6", + "src": "1169:16:6", "statements": [ { "expression": { "arguments": [ { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "139:6:6" + "kind": "number", + "nodeType": "YulLiteral", + "src": "1178:1:6", + "type": "", + "value": "0" }, { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "147:6:6" + "kind": "number", + "nodeType": "YulLiteral", + "src": "1181:1:6", + "type": "", + "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "132:6:6" + "src": "1171:6:6" }, "nodeType": "YulFunctionCall", - "src": "132:22:6" + "src": "1171:12:6" }, "nodeType": "YulExpressionStatement", - "src": "132:22:6" + "src": "1171:12:6" } ] }, @@ -956,68 +1110,3713 @@ { "arguments": [ { - "name": "dataEnd", + "name": "value", "nodeType": "YulIdentifier", - "src": "105:7:6" + "src": "1135:5:6" }, { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "114:9:6" + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1160:5:6" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "1142:17:6" + }, + "nodeType": "YulFunctionCall", + "src": "1142:24:6" } ], "functionName": { - "name": "sub", + "name": "eq", "nodeType": "YulIdentifier", - "src": "101:3:6" + "src": "1132:2:6" }, "nodeType": "YulFunctionCall", - "src": "101:23:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "126:2:6", - "type": "", - "value": "32" + "src": "1132:35:6" } ], "functionName": { - "name": "slt", + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1125:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "1125:43:6" + }, + "nodeType": "YulIf", + "src": "1122:2:6" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1105:5:6", + "type": "" + } + ], + "src": "1069:122:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1237:76:6", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1291:16:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1300:1:6", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1303:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1293:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "1293:12:6" + }, + "nodeType": "YulExpressionStatement", + "src": "1293:12:6" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1260:5:6" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1282:5:6" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "1267:14:6" + }, + "nodeType": "YulFunctionCall", + "src": "1267:21:6" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "1257:2:6" + }, + "nodeType": "YulFunctionCall", + "src": "1257:32:6" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1250:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "1250:40:6" + }, + "nodeType": "YulIf", + "src": "1247:2:6" + } + ] + }, + "name": "validator_revert_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1230:5:6", + "type": "" + } + ], + "src": "1197:116:6" + } + ] + }, + "contents": "{\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_boolt_address_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n}\n", + "id": 6, + "language": "Yul", + "name": "#utility.yul" + } + ], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:18673:6", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "59:87:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "69:29:6", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "91:6:6" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "78:12:6" + }, + "nodeType": "YulFunctionCall", + "src": "78:20:6" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "69:5:6" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "134:5:6" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "107:26:6" + }, + "nodeType": "YulFunctionCall", + "src": "107:33:6" + }, + "nodeType": "YulExpressionStatement", + "src": "107:33:6" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "37:6:6", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "45:3:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "53:5:6", + "type": "" + } + ], + "src": "7:139:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "212:95:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "222:29:6", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "244:6:6" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "231:12:6" + }, + "nodeType": "YulFunctionCall", + "src": "231:20:6" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "222:5:6" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "295:5:6" + } + ], + "functionName": { + "name": "validator_revert_t_address_payable", + "nodeType": "YulIdentifier", + "src": "260:34:6" + }, + "nodeType": "YulFunctionCall", + "src": "260:41:6" + }, + "nodeType": "YulExpressionStatement", + "src": "260:41:6" + } + ] + }, + "name": "abi_decode_t_address_payable", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "190:6:6", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "198:3:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "206:5:6", + "type": "" + } + ], + "src": "152:155:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "362:84:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "372:29:6", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "394:6:6" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "381:12:6" + }, + "nodeType": "YulFunctionCall", + "src": "381:20:6" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "372:5:6" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "434:5:6" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nodeType": "YulIdentifier", + "src": "410:23:6" + }, + "nodeType": "YulFunctionCall", + "src": "410:30:6" + }, + "nodeType": "YulExpressionStatement", + "src": "410:30:6" + } + ] + }, + "name": "abi_decode_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "340:6:6", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "348:3:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "356:5:6", + "type": "" + } + ], + "src": "313:133:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "512:77:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "522:22:6", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "537:6:6" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "531:5:6" + }, + "nodeType": "YulFunctionCall", + "src": "531:13:6" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "522:5:6" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "577:5:6" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nodeType": "YulIdentifier", + "src": "553:23:6" + }, + "nodeType": "YulFunctionCall", + "src": "553:30:6" + }, + "nodeType": "YulExpressionStatement", + "src": "553:30:6" + } + ] + }, + "name": "abi_decode_t_bool_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "490:6:6", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "498:3:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "506:5:6", + "type": "" + } + ], + "src": "452:137:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "647:87:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "657:29:6", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "679:6:6" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "666:12:6" + }, + "nodeType": "YulFunctionCall", + "src": "666:20:6" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "657:5:6" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "722:5:6" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "695:26:6" + }, + "nodeType": "YulFunctionCall", + "src": "695:33:6" + }, + "nodeType": "YulExpressionStatement", + "src": "695:33:6" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "625:6:6", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "633:3:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "641:5:6", + "type": "" + } + ], + "src": "595:139:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "803:80:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "813:22:6", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "828:6:6" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "822:5:6" + }, + "nodeType": "YulFunctionCall", + "src": "822:13:6" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "813:5:6" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "871:5:6" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "844:26:6" + }, + "nodeType": "YulFunctionCall", + "src": "844:33:6" + }, + "nodeType": "YulExpressionStatement", + "src": "844:33:6" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "781:6:6", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "789:3:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "797:5:6", + "type": "" + } + ], + "src": "740:143:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "955:196:6", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1001:16:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1010:1:6", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1013:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1003:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "1003:12:6" + }, + "nodeType": "YulExpressionStatement", + "src": "1003:12:6" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "976:7:6" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "985:9:6" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "972:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "972:23:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "997:2:6", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "968:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "968:32:6" + }, + "nodeType": "YulIf", + "src": "965:2:6" + }, + { + "nodeType": "YulBlock", + "src": "1027:117:6", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1042:15:6", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1056:1:6", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1046:6:6", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1071:63:6", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1106:9:6" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1117:6:6" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1102:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "1102:22:6" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1126:7:6" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1081:20:6" + }, + "nodeType": "YulFunctionCall", + "src": "1081:53:6" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1071:6:6" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "925:9:6", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "936:7:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "948:6:6", + "type": "" + } + ], + "src": "889:262:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1231:204:6", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1277:16:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1286:1:6", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1289:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1279:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "1279:12:6" + }, + "nodeType": "YulExpressionStatement", + "src": "1279:12:6" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1252:7:6" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1261:9:6" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1248:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "1248:23:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1273:2:6", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1244:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "1244:32:6" + }, + "nodeType": "YulIf", + "src": "1241:2:6" + }, + { + "nodeType": "YulBlock", + "src": "1303:125:6", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1318:15:6", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1332:1:6", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1322:6:6", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1347:71:6", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1390:9:6" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1401:6:6" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1386:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "1386:22:6" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1410:7:6" + } + ], + "functionName": { + "name": "abi_decode_t_address_payable", + "nodeType": "YulIdentifier", + "src": "1357:28:6" + }, + "nodeType": "YulFunctionCall", + "src": "1357:61:6" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1347:6:6" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address_payable", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1201:9:6", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1212:7:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1224:6:6", + "type": "" + } + ], + "src": "1157:278:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1541:452:6", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1587:16:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1596:1:6", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1599:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1589:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "1589:12:6" + }, + "nodeType": "YulExpressionStatement", + "src": "1589:12:6" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1562:7:6" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1571:9:6" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1558:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "1558:23:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1583:2:6", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1554:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "1554:32:6" + }, + "nodeType": "YulIf", + "src": "1551:2:6" + }, + { + "nodeType": "YulBlock", + "src": "1613:117:6", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1628:15:6", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1642:1:6", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1632:6:6", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1657:63:6", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1692:9:6" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1703:6:6" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1688:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "1688:22:6" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1712:7:6" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1667:20:6" + }, + "nodeType": "YulFunctionCall", + "src": "1667:53:6" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1657:6:6" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1740:118:6", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1755:16:6", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1769:2:6", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1759:6:6", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1785:63:6", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1820:9:6" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1831:6:6" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1816:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "1816:22:6" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1840:7:6" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1795:20:6" + }, + "nodeType": "YulFunctionCall", + "src": "1795:53:6" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1785:6:6" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1868:118:6", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1883:16:6", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1897:2:6", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1887:6:6", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1913:63:6", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1948:9:6" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1959:6:6" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1944:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "1944:22:6" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1968:7:6" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "1923:20:6" + }, + "nodeType": "YulFunctionCall", + "src": "1923:53:6" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "1913:6:6" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1495:9:6", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1506:7:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1518:6:6", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1526:6:6", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "1534:6:6", + "type": "" + } + ], + "src": "1441:552:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2073:204:6", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2119:16:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2128:1:6", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2131:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2121:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "2121:12:6" + }, + "nodeType": "YulExpressionStatement", + "src": "2121:12:6" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2094:7:6" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2103:9:6" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2090:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "2090:23:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2115:2:6", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2086:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "2086:32:6" + }, + "nodeType": "YulIf", + "src": "2083:2:6" + }, + { + "nodeType": "YulBlock", + "src": "2145:125:6", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2160:15:6", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2174:1:6", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2164:6:6", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2189:71:6", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2232:9:6" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2243:6:6" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2228:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "2228:22:6" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2252:7:6" + } + ], + "functionName": { + "name": "abi_decode_t_bool_fromMemory", + "nodeType": "YulIdentifier", + "src": "2199:28:6" + }, + "nodeType": "YulFunctionCall", + "src": "2199:61:6" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2189:6:6" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bool_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2043:9:6", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2054:7:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2066:6:6", + "type": "" + } + ], + "src": "1999:278:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2349:196:6", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2395:16:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2404:1:6", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2407:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2397:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "2397:12:6" + }, + "nodeType": "YulExpressionStatement", + "src": "2397:12:6" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2370:7:6" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2379:9:6" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2366:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "2366:23:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2391:2:6", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2362:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "2362:32:6" + }, + "nodeType": "YulIf", + "src": "2359:2:6" + }, + { + "nodeType": "YulBlock", + "src": "2421:117:6", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2436:15:6", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2450:1:6", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2440:6:6", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2465:63:6", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2500:9:6" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2511:6:6" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2496:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "2496:22:6" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2520:7:6" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "2475:20:6" + }, + "nodeType": "YulFunctionCall", + "src": "2475:53:6" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2465:6:6" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2319:9:6", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2330:7:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2342:6:6", + "type": "" + } + ], + "src": "2283:262:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2628:207:6", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2674:16:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2683:1:6", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2686:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2676:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "2676:12:6" + }, + "nodeType": "YulExpressionStatement", + "src": "2676:12:6" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2649:7:6" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2658:9:6" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2645:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "2645:23:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2670:2:6", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2641:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "2641:32:6" + }, + "nodeType": "YulIf", + "src": "2638:2:6" + }, + { + "nodeType": "YulBlock", + "src": "2700:128:6", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2715:15:6", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2729:1:6", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2719:6:6", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2744:74:6", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2790:9:6" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2801:6:6" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2786:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "2786:22:6" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2810:7:6" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulIdentifier", + "src": "2754:31:6" + }, + "nodeType": "YulFunctionCall", + "src": "2754:64:6" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2744:6:6" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2598:9:6", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2609:7:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2621:6:6", + "type": "" + } + ], + "src": "2551:284:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2938:449:6", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2984:16:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2993:1:6", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2996:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2986:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "2986:12:6" + }, + "nodeType": "YulExpressionStatement", + "src": "2986:12:6" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2959:7:6" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2968:9:6" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2955:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "2955:23:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2980:2:6", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2951:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "2951:32:6" + }, + "nodeType": "YulIf", + "src": "2948:2:6" + }, + { + "nodeType": "YulBlock", + "src": "3010:117:6", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3025:15:6", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3039:1:6", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3029:6:6", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3054:63:6", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3089:9:6" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3100:6:6" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3085:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "3085:22:6" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3109:7:6" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "3064:20:6" + }, + "nodeType": "YulFunctionCall", + "src": "3064:53:6" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3054:6:6" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3137:115:6", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3152:16:6", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3166:2:6", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3156:6:6", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3182:60:6", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3214:9:6" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3225:6:6" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3210:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "3210:22:6" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3234:7:6" + } + ], + "functionName": { + "name": "abi_decode_t_bool", + "nodeType": "YulIdentifier", + "src": "3192:17:6" + }, + "nodeType": "YulFunctionCall", + "src": "3192:50:6" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3182:6:6" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3262:118:6", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3277:16:6", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3291:2:6", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3281:6:6", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3307:63:6", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3342:9:6" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3353:6:6" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3338:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "3338:22:6" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3362:7:6" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "3317:20:6" + }, + "nodeType": "YulFunctionCall", + "src": "3317:53:6" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "3307:6:6" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_boolt_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2892:9:6", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2903:7:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2915:6:6", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "2923:6:6", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "2931:6:6", + "type": "" + } + ], + "src": "2841:546:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3473:99:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3517:6:6" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3525:3:6" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address", + "nodeType": "YulIdentifier", + "src": "3483:33:6" + }, + "nodeType": "YulFunctionCall", + "src": "3483:46:6" + }, + "nodeType": "YulExpressionStatement", + "src": "3483:46:6" + }, + { + "nodeType": "YulAssignment", + "src": "3538:28:6", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3556:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3561:4:6", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3552:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "3552:14:6" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "3538:10:6" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_address_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3446:6:6", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3454:3:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "3462:10:6", + "type": "" + } + ], + "src": "3393:179:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3633:53:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3650:3:6" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3673:5:6" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "3655:17:6" + }, + "nodeType": "YulFunctionCall", + "src": "3655:24:6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3643:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "3643:37:6" + }, + "nodeType": "YulExpressionStatement", + "src": "3643:37:6" + } + ] + }, + "name": "abi_encode_t_address_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3621:5:6", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3628:3:6", + "type": "" + } + ], + "src": "3578:108:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3757:53:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3774:3:6" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3797:5:6" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "3779:17:6" + }, + "nodeType": "YulFunctionCall", + "src": "3779:24:6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3767:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "3767:37:6" + }, + "nodeType": "YulExpressionStatement", + "src": "3767:37:6" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3745:5:6", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3752:3:6", + "type": "" + } + ], + "src": "3692:118:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3970:608:6", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3980:68:6", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4042:5:6" + } + ], + "functionName": { + "name": "array_length_t_array$_t_address_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "3994:47:6" + }, + "nodeType": "YulFunctionCall", + "src": "3994:54:6" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3984:6:6", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4057:93:6", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4138:3:6" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4143:6:6" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "4064:73:6" + }, + "nodeType": "YulFunctionCall", + "src": "4064:86:6" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4057:3:6" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4159:71:6", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4224:5:6" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_address_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "4174:49:6" + }, + "nodeType": "YulFunctionCall", + "src": "4174:56:6" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "4163:7:6", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4239:21:6", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "4253:7:6" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "4243:6:6", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4329:224:6", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4343:34:6", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "4370:6:6" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "4364:5:6" + }, + "nodeType": "YulFunctionCall", + "src": "4364:13:6" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "4347:13:6", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4390:70:6", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "4441:13:6" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4456:3:6" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_address_to_t_address", + "nodeType": "YulIdentifier", + "src": "4397:43:6" + }, + "nodeType": "YulFunctionCall", + "src": "4397:63:6" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4390:3:6" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4473:70:6", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "4536:6:6" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_address_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "4483:52:6" + }, + "nodeType": "YulFunctionCall", + "src": "4483:60:6" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "4473:6:6" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4291:1:6" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4294:6:6" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4288:2:6" + }, + "nodeType": "YulFunctionCall", + "src": "4288:13:6" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "4302:18:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4304:14:6", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4313:1:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4316:1:6", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4309:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "4309:9:6" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4304:1:6" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "4273:14:6", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4275:10:6", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4284:1:6", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "4279:1:6", + "type": "" + } + ] + } + ] + }, + "src": "4269:284:6" + }, + { + "nodeType": "YulAssignment", + "src": "4562:10:6", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4569:3:6" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4562:3:6" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3949:5:6", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3956:3:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3965:3:6", + "type": "" + } + ], + "src": "3846:732:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4643:50:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4660:3:6" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4680:5:6" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "4665:14:6" + }, + "nodeType": "YulFunctionCall", + "src": "4665:21:6" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4653:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "4653:34:6" + }, + "nodeType": "YulExpressionStatement", + "src": "4653:34:6" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4631:5:6", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4638:3:6", + "type": "" + } + ], + "src": "4584:109:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4845:220:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4855:74:6", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4921:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4926:2:6", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "4862:58:6" + }, + "nodeType": "YulFunctionCall", + "src": "4862:67:6" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4855:3:6" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5027:3:6" + } + ], + "functionName": { + "name": "store_literal_in_memory_32ea112dcb61457845498aa22384476c9df97ef6cf5696f8777ea00b1e4090b1", + "nodeType": "YulIdentifier", + "src": "4938:88:6" + }, + "nodeType": "YulFunctionCall", + "src": "4938:93:6" + }, + "nodeType": "YulExpressionStatement", + "src": "4938:93:6" + }, + { + "nodeType": "YulAssignment", + "src": "5040:19:6", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5051:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5056:2:6", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5047:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "5047:12:6" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5040:3:6" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_32ea112dcb61457845498aa22384476c9df97ef6cf5696f8777ea00b1e4090b1_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4833:3:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4841:3:6", + "type": "" + } + ], + "src": "4699:366:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5217:220:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5227:74:6", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5293:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5298:2:6", + "type": "", + "value": "35" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "5234:58:6" + }, + "nodeType": "YulFunctionCall", + "src": "5234:67:6" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5227:3:6" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5399:3:6" + } + ], + "functionName": { + "name": "store_literal_in_memory_33aebce51cebc1d7a804cac67786205e44686c5f6c0dfdcaaa23961518079af0", + "nodeType": "YulIdentifier", + "src": "5310:88:6" + }, + "nodeType": "YulFunctionCall", + "src": "5310:93:6" + }, + "nodeType": "YulExpressionStatement", + "src": "5310:93:6" + }, + { + "nodeType": "YulAssignment", + "src": "5412:19:6", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5423:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5428:2:6", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5419:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "5419:12:6" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5412:3:6" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_33aebce51cebc1d7a804cac67786205e44686c5f6c0dfdcaaa23961518079af0_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5205:3:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "5213:3:6", + "type": "" + } + ], + "src": "5071:366:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5589:220:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5599:74:6", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5665:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5670:2:6", + "type": "", + "value": "16" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "5606:58:6" + }, + "nodeType": "YulFunctionCall", + "src": "5606:67:6" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5599:3:6" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5771:3:6" + } + ], + "functionName": { + "name": "store_literal_in_memory_48b7a0baac09175ffa7884a2d5aa95e238fd9814c62dfb962cc278d32292f4bb", + "nodeType": "YulIdentifier", + "src": "5682:88:6" + }, + "nodeType": "YulFunctionCall", + "src": "5682:93:6" + }, + "nodeType": "YulExpressionStatement", + "src": "5682:93:6" + }, + { + "nodeType": "YulAssignment", + "src": "5784:19:6", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5795:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5800:2:6", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5791:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "5791:12:6" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5784:3:6" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_48b7a0baac09175ffa7884a2d5aa95e238fd9814c62dfb962cc278d32292f4bb_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5577:3:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "5585:3:6", + "type": "" + } + ], + "src": "5443:366:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5961:220:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5971:74:6", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6037:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6042:2:6", + "type": "", + "value": "27" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "5978:58:6" + }, + "nodeType": "YulFunctionCall", + "src": "5978:67:6" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5971:3:6" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6143:3:6" + } + ], + "functionName": { + "name": "store_literal_in_memory_60003323d73a4c13327cfaa2a8d8fe88065dce5b6000d4910be114bf7db7ab30", + "nodeType": "YulIdentifier", + "src": "6054:88:6" + }, + "nodeType": "YulFunctionCall", + "src": "6054:93:6" + }, + "nodeType": "YulExpressionStatement", + "src": "6054:93:6" + }, + { + "nodeType": "YulAssignment", + "src": "6156:19:6", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6167:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6172:2:6", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6163:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "6163:12:6" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "6156:3:6" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_60003323d73a4c13327cfaa2a8d8fe88065dce5b6000d4910be114bf7db7ab30_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5949:3:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "5957:3:6", + "type": "" + } + ], + "src": "5815:366:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6333:220:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6343:74:6", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6409:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6414:2:6", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6350:58:6" + }, + "nodeType": "YulFunctionCall", + "src": "6350:67:6" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6343:3:6" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6515:3:6" + } + ], + "functionName": { + "name": "store_literal_in_memory_62e5a51f7160e94c03bd94dca3de2ee225284130303648a60d547e2dc2fc0233", + "nodeType": "YulIdentifier", + "src": "6426:88:6" + }, + "nodeType": "YulFunctionCall", + "src": "6426:93:6" + }, + "nodeType": "YulExpressionStatement", + "src": "6426:93:6" + }, + { + "nodeType": "YulAssignment", + "src": "6528:19:6", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6539:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6544:2:6", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6535:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "6535:12:6" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "6528:3:6" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_62e5a51f7160e94c03bd94dca3de2ee225284130303648a60d547e2dc2fc0233_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6321:3:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6329:3:6", + "type": "" + } + ], + "src": "6187:366:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6705:220:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6715:74:6", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6781:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6786:2:6", + "type": "", + "value": "46" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6722:58:6" + }, + "nodeType": "YulFunctionCall", + "src": "6722:67:6" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6715:3:6" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6887:3:6" + } + ], + "functionName": { + "name": "store_literal_in_memory_7b0248c8ab69ffcfe6f3b094480b3dfdc31226061479921adc7cd0fb5baf7c35", + "nodeType": "YulIdentifier", + "src": "6798:88:6" + }, + "nodeType": "YulFunctionCall", + "src": "6798:93:6" + }, + "nodeType": "YulExpressionStatement", + "src": "6798:93:6" + }, + { + "nodeType": "YulAssignment", + "src": "6900:19:6", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6911:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6916:2:6", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6907:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "6907:12:6" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "6900:3:6" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_7b0248c8ab69ffcfe6f3b094480b3dfdc31226061479921adc7cd0fb5baf7c35_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6693:3:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6701:3:6", + "type": "" + } + ], + "src": "6559:366:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7077:220:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7087:74:6", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7153:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7158:2:6", + "type": "", + "value": "11" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "7094:58:6" + }, + "nodeType": "YulFunctionCall", + "src": "7094:67:6" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7087:3:6" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7259:3:6" + } + ], + "functionName": { + "name": "store_literal_in_memory_98bb0d434888d1b812a0a4194c9568f0648e9ed0f8cbde68f7f17a68afe7b6cd", + "nodeType": "YulIdentifier", + "src": "7170:88:6" + }, + "nodeType": "YulFunctionCall", + "src": "7170:93:6" + }, + "nodeType": "YulExpressionStatement", + "src": "7170:93:6" + }, + { + "nodeType": "YulAssignment", + "src": "7272:19:6", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7283:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7288:2:6", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", "nodeType": "YulIdentifier", - "src": "97:3:6" + "src": "7279:3:6" }, "nodeType": "YulFunctionCall", - "src": "97:32:6" + "src": "7279:12:6" }, - "nodeType": "YulIf", - "src": "94:2:6" - }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7272:3:6" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_98bb0d434888d1b812a0a4194c9568f0648e9ed0f8cbde68f7f17a68afe7b6cd_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7065:3:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "7073:3:6", + "type": "" + } + ], + "src": "6931:366:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7449:220:6", + "statements": [ { - "nodeType": "YulVariableDeclaration", - "src": "165:36:6", + "nodeType": "YulAssignment", + "src": "7459:74:6", "value": { "arguments": [ { - "name": "headStart", + "name": "pos", "nodeType": "YulIdentifier", - "src": "191:9:6" + "src": "7525:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7530:2:6", + "type": "", + "value": "14" } ], "functionName": { - "name": "calldataload", + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "178:12:6" + "src": "7466:58:6" }, "nodeType": "YulFunctionCall", - "src": "178:23:6" + "src": "7466:67:6" }, - "variables": [ + "variableNames": [ { - "name": "value", - "nodeType": "YulTypedName", - "src": "169:5:6", - "type": "" + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7459:3:6" } ] }, @@ -1025,341 +4824,400 @@ "expression": { "arguments": [ { - "name": "value", + "name": "pos", "nodeType": "YulIdentifier", - "src": "237:5:6" + "src": "7631:3:6" } ], "functionName": { - "name": "validator_revert_t_address", + "name": "store_literal_in_memory_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36", "nodeType": "YulIdentifier", - "src": "210:26:6" + "src": "7542:88:6" }, "nodeType": "YulFunctionCall", - "src": "210:33:6" + "src": "7542:93:6" }, "nodeType": "YulExpressionStatement", - "src": "210:33:6" + "src": "7542:93:6" }, { "nodeType": "YulAssignment", - "src": "252:15:6", + "src": "7644:19:6", "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "262:5:6" + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7655:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7660:2:6", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7651:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "7651:12:6" }, "variableNames": [ { - "name": "value0", + "name": "end", "nodeType": "YulIdentifier", - "src": "252:6:6" + "src": "7644:3:6" } ] } ] }, - "name": "abi_decode_tuple_t_address", + "name": "abi_encode_t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "50:9:6", - "type": "" - }, - { - "name": "dataEnd", + "name": "pos", "nodeType": "YulTypedName", - "src": "61:7:6", + "src": "7437:3:6", "type": "" } ], "returnVariables": [ { - "name": "value0", + "name": "end", "nodeType": "YulTypedName", - "src": "73:6:6", + "src": "7445:3:6", "type": "" } ], - "src": "14:259:6" + "src": "7303:366:6" }, { "body": { "nodeType": "YulBlock", - "src": "356:189:6", + "src": "7821:220:6", "statements": [ { - "body": { - "nodeType": "YulBlock", - "src": "402:26:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "411:6:6" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "419:6:6" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "404:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "404:22:6" - }, - "nodeType": "YulExpressionStatement", - "src": "404:22:6" - } - ] - }, - "condition": { + "nodeType": "YulAssignment", + "src": "7831:74:6", + "value": { "arguments": [ { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "377:7:6" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "386:9:6" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "373:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "373:23:6" + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7897:3:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "398:2:6", + "src": "7902:2:6", "type": "", "value": "32" } ], "functionName": { - "name": "slt", + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "369:3:6" + "src": "7838:58:6" }, "nodeType": "YulFunctionCall", - "src": "369:32:6" + "src": "7838:67:6" }, - "nodeType": "YulIf", - "src": "366:2:6" + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7831:3:6" + } + ] }, { - "nodeType": "YulVariableDeclaration", - "src": "437:36:6", - "value": { + "expression": { "arguments": [ { - "name": "headStart", + "name": "pos", "nodeType": "YulIdentifier", - "src": "463:9:6" + "src": "8003:3:6" } ], "functionName": { - "name": "calldataload", + "name": "store_literal_in_memory_fb11453b6c78aa27b60cb68bf4fe797153c8722a422197eb0962704a1b341201", "nodeType": "YulIdentifier", - "src": "450:12:6" + "src": "7914:88:6" }, "nodeType": "YulFunctionCall", - "src": "450:23:6" + "src": "7914:93:6" }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "441:5:6", - "type": "" - } - ] + "nodeType": "YulExpressionStatement", + "src": "7914:93:6" }, { - "expression": { + "nodeType": "YulAssignment", + "src": "8016:19:6", + "value": { "arguments": [ { - "name": "value", + "name": "pos", "nodeType": "YulIdentifier", - "src": "509:5:6" + "src": "8027:3:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8032:2:6", + "type": "", + "value": "32" } ], "functionName": { - "name": "validator_revert_t_address", + "name": "add", "nodeType": "YulIdentifier", - "src": "482:26:6" + "src": "8023:3:6" }, "nodeType": "YulFunctionCall", - "src": "482:33:6" - }, - "nodeType": "YulExpressionStatement", - "src": "482:33:6" - }, - { - "nodeType": "YulAssignment", - "src": "524:15:6", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "534:5:6" + "src": "8023:12:6" }, "variableNames": [ { - "name": "value0", + "name": "end", "nodeType": "YulIdentifier", - "src": "524:6:6" + "src": "8016:3:6" } ] } ] }, - "name": "abi_decode_tuple_t_address_payable", + "name": "abi_encode_t_stringliteral_fb11453b6c78aa27b60cb68bf4fe797153c8722a422197eb0962704a1b341201_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "322:9:6", - "type": "" - }, - { - "name": "dataEnd", + "name": "pos", "nodeType": "YulTypedName", - "src": "333:7:6", + "src": "7809:3:6", "type": "" } ], "returnVariables": [ { - "name": "value0", + "name": "end", "nodeType": "YulTypedName", - "src": "345:6:6", + "src": "7817:3:6", "type": "" } ], - "src": "278:267:6" + "src": "7675:366:6" }, { "body": { "nodeType": "YulBlock", - "src": "654:366:6", + "src": "8112:53:6", "statements": [ { - "body": { - "nodeType": "YulBlock", - "src": "700:26:6", - "statements": [ + "expression": { + "arguments": [ { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "709:6:6" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "717:6:6" - } - ], - "functionName": { - "name": "revert", + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8129:3:6" + }, + { + "arguments": [ + { + "name": "value", "nodeType": "YulIdentifier", - "src": "702:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "702:22:6" + "src": "8152:5:6" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "8134:17:6" }, - "nodeType": "YulExpressionStatement", - "src": "702:22:6" + "nodeType": "YulFunctionCall", + "src": "8134:24:6" } - ] + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8122:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "8122:37:6" }, - "condition": { + "nodeType": "YulExpressionStatement", + "src": "8122:37:6" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8100:5:6", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8107:3:6", + "type": "" + } + ], + "src": "8047:118:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8269:124:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8279:26:6", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8291:9:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8302:2:6", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8287:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "8287:18:6" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8279:4:6" + } + ] + }, + { + "expression": { "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8359:6:6" + }, { "arguments": [ { - "name": "dataEnd", + "name": "headStart", "nodeType": "YulIdentifier", - "src": "675:7:6" + "src": "8372:9:6" }, { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "684:9:6" + "kind": "number", + "nodeType": "YulLiteral", + "src": "8383:1:6", + "type": "", + "value": "0" } ], "functionName": { - "name": "sub", + "name": "add", "nodeType": "YulIdentifier", - "src": "671:3:6" + "src": "8368:3:6" }, "nodeType": "YulFunctionCall", - "src": "671:23:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "696:2:6", - "type": "", - "value": "96" + "src": "8368:17:6" } ], "functionName": { - "name": "slt", + "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "667:3:6" + "src": "8315:43:6" }, "nodeType": "YulFunctionCall", - "src": "667:32:6" + "src": "8315:71:6" }, - "nodeType": "YulIf", - "src": "664:2:6" - }, + "nodeType": "YulExpressionStatement", + "src": "8315:71:6" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8241:9:6", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8253:6:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8264:4:6", + "type": "" + } + ], + "src": "8171:222:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8525:206:6", + "statements": [ { - "nodeType": "YulVariableDeclaration", - "src": "735:36:6", + "nodeType": "YulAssignment", + "src": "8535:26:6", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "761:9:6" + "src": "8547:9:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8558:2:6", + "type": "", + "value": "64" } ], "functionName": { - "name": "calldataload", + "name": "add", "nodeType": "YulIdentifier", - "src": "748:12:6" + "src": "8543:3:6" }, "nodeType": "YulFunctionCall", - "src": "748:23:6" + "src": "8543:18:6" }, - "variables": [ + "variableNames": [ { - "name": "value", - "nodeType": "YulTypedName", - "src": "739:5:6", - "type": "" + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8535:4:6" } ] }, @@ -1367,54 +5225,64 @@ "expression": { "arguments": [ { - "name": "value", + "name": "value0", "nodeType": "YulIdentifier", - "src": "807:5:6" + "src": "8615:6:6" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8628:9:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8639:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8624:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "8624:17:6" } ], "functionName": { - "name": "validator_revert_t_address", + "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "780:26:6" + "src": "8571:43:6" }, "nodeType": "YulFunctionCall", - "src": "780:33:6" + "src": "8571:71:6" }, "nodeType": "YulExpressionStatement", - "src": "780:33:6" - }, - { - "nodeType": "YulAssignment", - "src": "822:15:6", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "832:5:6" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "822:6:6" - } - ] + "src": "8571:71:6" }, { - "nodeType": "YulVariableDeclaration", - "src": "846:47:6", - "value": { + "expression": { "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "8696:6:6" + }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "878:9:6" + "src": "8709:9:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "889:2:6", + "src": "8720:2:6", "type": "", "value": "32" } @@ -1422,254 +5290,251 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "874:3:6" + "src": "8705:3:6" }, "nodeType": "YulFunctionCall", - "src": "874:18:6" + "src": "8705:18:6" } ], "functionName": { - "name": "calldataload", + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "861:12:6" + "src": "8652:43:6" }, "nodeType": "YulFunctionCall", - "src": "861:32:6" + "src": "8652:72:6" }, - "variables": [ - { - "name": "value_1", - "nodeType": "YulTypedName", - "src": "850:7:6", - "type": "" - } - ] - }, + "nodeType": "YulExpressionStatement", + "src": "8652:72:6" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8489:9:6", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "8501:6:6", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8509:6:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8520:4:6", + "type": "" + } + ], + "src": "8399:332:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8885:225:6", + "statements": [ { - "expression": { + "nodeType": "YulAssignment", + "src": "8895:26:6", + "value": { "arguments": [ { - "name": "value_1", + "name": "headStart", "nodeType": "YulIdentifier", - "src": "929:7:6" + "src": "8907:9:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8918:2:6", + "type": "", + "value": "32" } ], "functionName": { - "name": "validator_revert_t_address", + "name": "add", "nodeType": "YulIdentifier", - "src": "902:26:6" + "src": "8903:3:6" }, "nodeType": "YulFunctionCall", - "src": "902:35:6" - }, - "nodeType": "YulExpressionStatement", - "src": "902:35:6" - }, - { - "nodeType": "YulAssignment", - "src": "946:17:6", - "value": { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "956:7:6" + "src": "8903:18:6" }, "variableNames": [ { - "name": "value1", + "name": "tail", "nodeType": "YulIdentifier", - "src": "946:6:6" + "src": "8895:4:6" } ] }, { - "nodeType": "YulAssignment", - "src": "972:42:6", - "value": { + "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "999:9:6" + "src": "8942:9:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1010:2:6", + "src": "8953:1:6", "type": "", - "value": "64" + "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "995:3:6" + "src": "8938:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "8938:17:6" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8961:4:6" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8967:9:6" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8957:3:6" }, "nodeType": "YulFunctionCall", - "src": "995:18:6" + "src": "8957:20:6" } ], "functionName": { - "name": "calldataload", + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8931:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "8931:47:6" + }, + "nodeType": "YulExpressionStatement", + "src": "8931:47:6" + }, + { + "nodeType": "YulAssignment", + "src": "8987:116:6", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9089:6:6" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9098:4:6" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "982:12:6" + "src": "8995:93:6" }, "nodeType": "YulFunctionCall", - "src": "982:32:6" + "src": "8995:108:6" }, "variableNames": [ { - "name": "value2", + "name": "tail", "nodeType": "YulIdentifier", - "src": "972:6:6" + "src": "8987:4:6" } ] } ] }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256", + "name": "abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "604:9:6", + "src": "8857:9:6", "type": "" }, { - "name": "dataEnd", + "name": "value0", "nodeType": "YulTypedName", - "src": "615:7:6", + "src": "8869:6:6", "type": "" } ], "returnVariables": [ { - "name": "value0", - "nodeType": "YulTypedName", - "src": "627:6:6", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "635:6:6", - "type": "" - }, - { - "name": "value2", + "name": "tail", "nodeType": "YulTypedName", - "src": "643:6:6", + "src": "8880:4:6", "type": "" } ], - "src": "550:470:6" + "src": "8737:373:6" }, { "body": { "nodeType": "YulBlock", - "src": "1103:179:6", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1149:26:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1158:6:6" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1166:6:6" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1151:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "1151:22:6" - }, - "nodeType": "YulExpressionStatement", - "src": "1151:22:6" - } - ] - }, - "condition": { + "src": "9208:118:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9218:26:6", + "value": { "arguments": [ { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1124:7:6" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1133:9:6" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1120:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "1120:23:6" + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9230:9:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1145:2:6", + "src": "9241:2:6", "type": "", "value": "32" } ], "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1116:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "1116:32:6" - }, - "nodeType": "YulIf", - "src": "1113:2:6" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1184:29:6", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1203:9:6" - } - ], - "functionName": { - "name": "mload", + "name": "add", "nodeType": "YulIdentifier", - "src": "1197:5:6" + "src": "9226:3:6" }, "nodeType": "YulFunctionCall", - "src": "1197:16:6" + "src": "9226:18:6" }, - "variables": [ + "variableNames": [ { - "name": "value", - "nodeType": "YulTypedName", - "src": "1188:5:6", - "type": "" + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9218:4:6" } ] }, @@ -1677,680 +5542,734 @@ "expression": { "arguments": [ { - "name": "value", + "name": "value0", "nodeType": "YulIdentifier", - "src": "1246:5:6" + "src": "9292:6:6" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9305:9:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9316:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9301:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "9301:17:6" } ], "functionName": { - "name": "validator_revert_t_bool", + "name": "abi_encode_t_bool_to_t_bool_fromStack", "nodeType": "YulIdentifier", - "src": "1222:23:6" + "src": "9254:37:6" }, "nodeType": "YulFunctionCall", - "src": "1222:30:6" + "src": "9254:65:6" }, "nodeType": "YulExpressionStatement", - "src": "1222:30:6" - }, - { - "nodeType": "YulAssignment", - "src": "1261:15:6", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1271:5:6" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1261:6:6" - } - ] + "src": "9254:65:6" } ] }, - "name": "abi_decode_tuple_t_bool_fromMemory", + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "1069:9:6", + "src": "9180:9:6", "type": "" }, { - "name": "dataEnd", + "name": "value0", "nodeType": "YulTypedName", - "src": "1080:7:6", + "src": "9192:6:6", "type": "" } ], "returnVariables": [ { - "name": "value0", + "name": "tail", "nodeType": "YulTypedName", - "src": "1092:6:6", + "src": "9203:4:6", "type": "" } ], - "src": "1025:257:6" + "src": "9116:210:6" }, { "body": { "nodeType": "YulBlock", - "src": "1357:120:6", + "src": "9531:330:6", "statements": [ { - "body": { - "nodeType": "YulBlock", - "src": "1403:26:6", - "statements": [ + "nodeType": "YulAssignment", + "src": "9541:26:6", + "value": { + "arguments": [ { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1412:6:6" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1420:6:6" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1405:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "1405:22:6" - }, - "nodeType": "YulExpressionStatement", - "src": "1405:22:6" + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9553:9:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9564:2:6", + "type": "", + "value": "64" } - ] + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9549:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "9549:18:6" }, - "condition": { + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9541:4:6" + } + ] + }, + { + "expression": { "arguments": [ { "arguments": [ { - "name": "dataEnd", + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9588:9:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9599:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9584:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "9584:17:6" + }, + { + "arguments": [ + { + "name": "tail", "nodeType": "YulIdentifier", - "src": "1378:7:6" + "src": "9607:4:6" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1387:9:6" + "src": "9613:9:6" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "1374:3:6" + "src": "9603:3:6" }, "nodeType": "YulFunctionCall", - "src": "1374:23:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1399:2:6", - "type": "", - "value": "32" + "src": "9603:20:6" } ], "functionName": { - "name": "slt", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "1370:3:6" + "src": "9577:6:6" }, "nodeType": "YulFunctionCall", - "src": "1370:32:6" + "src": "9577:47:6" }, - "nodeType": "YulIf", - "src": "1367:2:6" + "nodeType": "YulExpressionStatement", + "src": "9577:47:6" }, { "nodeType": "YulAssignment", - "src": "1438:33:6", + "src": "9633:139:6", "value": { "arguments": [ { - "name": "headStart", + "name": "tail", "nodeType": "YulIdentifier", - "src": "1461:9:6" + "src": "9767:4:6" } ], "functionName": { - "name": "calldataload", + "name": "abi_encode_t_stringliteral_32ea112dcb61457845498aa22384476c9df97ef6cf5696f8777ea00b1e4090b1_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "1448:12:6" + "src": "9641:124:6" }, "nodeType": "YulFunctionCall", - "src": "1448:23:6" + "src": "9641:131:6" }, "variableNames": [ { - "name": "value0", + "name": "tail", "nodeType": "YulIdentifier", - "src": "1438:6:6" + "src": "9633:4:6" } ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9826:6:6" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9839:9:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9850:2:6", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9835:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "9835:18:6" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "9782:43:6" + }, + "nodeType": "YulFunctionCall", + "src": "9782:72:6" + }, + "nodeType": "YulExpressionStatement", + "src": "9782:72:6" } ] }, - "name": "abi_decode_tuple_t_uint256", + "name": "abi_encode_tuple_t_stringliteral_32ea112dcb61457845498aa22384476c9df97ef6cf5696f8777ea00b1e4090b1_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "1323:9:6", + "src": "9503:9:6", "type": "" }, { - "name": "dataEnd", + "name": "value0", "nodeType": "YulTypedName", - "src": "1334:7:6", + "src": "9515:6:6", "type": "" } ], "returnVariables": [ { - "name": "value0", + "name": "tail", "nodeType": "YulTypedName", - "src": "1346:6:6", + "src": "9526:4:6", "type": "" } ], - "src": "1287:190:6" + "src": "9332:529:6" }, { "body": { "nodeType": "YulBlock", - "src": "1563:113:6", + "src": "10066:330:6", "statements": [ { - "body": { - "nodeType": "YulBlock", - "src": "1609:26:6", - "statements": [ + "nodeType": "YulAssignment", + "src": "10076:26:6", + "value": { + "arguments": [ { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1618:6:6" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1626:6:6" - } - ], - "functionName": { - "name": "revert", + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10088:9:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10099:2:6", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10084:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "10084:18:6" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10076:4:6" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", "nodeType": "YulIdentifier", - "src": "1611:6:6" + "src": "10123:9:6" }, - "nodeType": "YulFunctionCall", - "src": "1611:22:6" + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10134:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10119:3:6" }, - "nodeType": "YulExpressionStatement", - "src": "1611:22:6" - } - ] - }, - "condition": { - "arguments": [ + "nodeType": "YulFunctionCall", + "src": "10119:17:6" + }, { "arguments": [ { - "name": "dataEnd", + "name": "tail", "nodeType": "YulIdentifier", - "src": "1584:7:6" + "src": "10142:4:6" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1593:9:6" + "src": "10148:9:6" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "1580:3:6" + "src": "10138:3:6" }, "nodeType": "YulFunctionCall", - "src": "1580:23:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1605:2:6", - "type": "", - "value": "32" + "src": "10138:20:6" } ], "functionName": { - "name": "slt", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "1576:3:6" + "src": "10112:6:6" }, "nodeType": "YulFunctionCall", - "src": "1576:32:6" + "src": "10112:47:6" }, - "nodeType": "YulIf", - "src": "1573:2:6" + "nodeType": "YulExpressionStatement", + "src": "10112:47:6" }, { "nodeType": "YulAssignment", - "src": "1644:26:6", + "src": "10168:139:6", "value": { "arguments": [ { - "name": "headStart", + "name": "tail", "nodeType": "YulIdentifier", - "src": "1660:9:6" + "src": "10302:4:6" } ], "functionName": { - "name": "mload", + "name": "abi_encode_t_stringliteral_33aebce51cebc1d7a804cac67786205e44686c5f6c0dfdcaaa23961518079af0_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "1654:5:6" + "src": "10176:124:6" }, "nodeType": "YulFunctionCall", - "src": "1654:16:6" + "src": "10176:131:6" }, "variableNames": [ { - "name": "value0", + "name": "tail", "nodeType": "YulIdentifier", - "src": "1644:6:6" + "src": "10168:4:6" } ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10361:6:6" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10374:9:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10385:2:6", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10370:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "10370:18:6" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "10317:43:6" + }, + "nodeType": "YulFunctionCall", + "src": "10317:72:6" + }, + "nodeType": "YulExpressionStatement", + "src": "10317:72:6" } ] }, - "name": "abi_decode_tuple_t_uint256_fromMemory", + "name": "abi_encode_tuple_t_stringliteral_33aebce51cebc1d7a804cac67786205e44686c5f6c0dfdcaaa23961518079af0_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "1529:9:6", + "src": "10038:9:6", "type": "" }, { - "name": "dataEnd", + "name": "value0", "nodeType": "YulTypedName", - "src": "1540:7:6", + "src": "10050:6:6", "type": "" } ], "returnVariables": [ { - "name": "value0", + "name": "tail", "nodeType": "YulTypedName", - "src": "1552:6:6", + "src": "10061:4:6", "type": "" } ], - "src": "1482:194:6" + "src": "9867:529:6" }, { "body": { "nodeType": "YulBlock", - "src": "1782:363:6", + "src": "10573:248:6", "statements": [ { - "body": { - "nodeType": "YulBlock", - "src": "1828:26:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1837:6:6" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1845:6:6" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1830:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "1830:22:6" - }, - "nodeType": "YulExpressionStatement", - "src": "1830:22:6" - } - ] - }, - "condition": { + "nodeType": "YulAssignment", + "src": "10583:26:6", + "value": { "arguments": [ { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1803:7:6" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1812:9:6" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1799:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "1799:23:6" + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10595:9:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1824:2:6", + "src": "10606:2:6", "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1795:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "1795:32:6" - }, - "nodeType": "YulIf", - "src": "1792:2:6" - }, - { - "nodeType": "YulAssignment", - "src": "1863:33:6", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1886:9:6" + "value": "32" } ], "functionName": { - "name": "calldataload", + "name": "add", "nodeType": "YulIdentifier", - "src": "1873:12:6" + "src": "10591:3:6" }, "nodeType": "YulFunctionCall", - "src": "1873:23:6" + "src": "10591:18:6" }, "variableNames": [ { - "name": "value0", + "name": "tail", "nodeType": "YulIdentifier", - "src": "1863:6:6" + "src": "10583:4:6" } ] }, { - "nodeType": "YulVariableDeclaration", - "src": "1905:45:6", - "value": { + "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1935:9:6" + "src": "10630:9:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1946:2:6", + "src": "10641:1:6", "type": "", - "value": "32" + "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1931:3:6" + "src": "10626:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "10626:17:6" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10649:4:6" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10655:9:6" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10645:3:6" }, "nodeType": "YulFunctionCall", - "src": "1931:18:6" + "src": "10645:20:6" } ], "functionName": { - "name": "calldataload", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "1918:12:6" + "src": "10619:6:6" }, "nodeType": "YulFunctionCall", - "src": "1918:32:6" + "src": "10619:47:6" }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1909:5:6", - "type": "" - } - ] + "nodeType": "YulExpressionStatement", + "src": "10619:47:6" }, { - "expression": { + "nodeType": "YulAssignment", + "src": "10675:139:6", + "value": { "arguments": [ { - "name": "value", + "name": "tail", "nodeType": "YulIdentifier", - "src": "1983:5:6" + "src": "10809:4:6" } ], "functionName": { - "name": "validator_revert_t_bool", + "name": "abi_encode_t_stringliteral_48b7a0baac09175ffa7884a2d5aa95e238fd9814c62dfb962cc278d32292f4bb_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "1959:23:6" + "src": "10683:124:6" }, "nodeType": "YulFunctionCall", - "src": "1959:30:6" + "src": "10683:131:6" }, - "nodeType": "YulExpressionStatement", - "src": "1959:30:6" - }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10675:4:6" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_48b7a0baac09175ffa7884a2d5aa95e238fd9814c62dfb962cc278d32292f4bb__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10553:9:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "10568:4:6", + "type": "" + } + ], + "src": "10402:419:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11026:330:6", + "statements": [ { "nodeType": "YulAssignment", - "src": "1998:15:6", + "src": "11036:26:6", "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2008:5:6" + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11048:9:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11059:2:6", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11044:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "11044:18:6" }, "variableNames": [ { - "name": "value1", + "name": "tail", "nodeType": "YulIdentifier", - "src": "1998:6:6" + "src": "11036:4:6" } ] }, { - "nodeType": "YulVariableDeclaration", - "src": "2022:47:6", - "value": { + "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "2054:9:6" + "src": "11083:9:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2065:2:6", + "src": "11094:1:6", "type": "", - "value": "64" + "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2050:3:6" + "src": "11079:3:6" }, "nodeType": "YulFunctionCall", - "src": "2050:18:6" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2037:12:6" - }, - "nodeType": "YulFunctionCall", - "src": "2037:32:6" - }, - "variables": [ - { - "name": "value_1", - "nodeType": "YulTypedName", - "src": "2026:7:6", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ + "src": "11079:17:6" + }, { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "2105:7:6" + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11102:4:6" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11108:9:6" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11098:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "11098:20:6" } ], "functionName": { - "name": "validator_revert_t_address", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "2078:26:6" + "src": "11072:6:6" }, "nodeType": "YulFunctionCall", - "src": "2078:35:6" + "src": "11072:47:6" }, "nodeType": "YulExpressionStatement", - "src": "2078:35:6" + "src": "11072:47:6" }, { "nodeType": "YulAssignment", - "src": "2122:17:6", - "value": { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "2132:7:6" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "2122:6:6" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_boolt_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1732:9:6", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1743:7:6", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1755:6:6", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1763:6:6", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1771:6:6", - "type": "" - } - ], - "src": "1681:464:6" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2251:102:6", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2261:26:6", + "src": "11128:139:6", "value": { "arguments": [ { - "name": "headStart", + "name": "tail", "nodeType": "YulIdentifier", - "src": "2273:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2284:2:6", - "type": "", - "value": "32" + "src": "11262:4:6" } ], "functionName": { - "name": "add", + "name": "abi_encode_t_stringliteral_60003323d73a4c13327cfaa2a8d8fe88065dce5b6000d4910be114bf7db7ab30_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "2269:3:6" + "src": "11136:124:6" }, "nodeType": "YulFunctionCall", - "src": "2269:18:6" + "src": "11136:131:6" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "2261:4:6" + "src": "11128:4:6" } ] }, @@ -2358,96 +6277,60 @@ "expression": { "arguments": [ { - "name": "headStart", + "name": "value0", "nodeType": "YulIdentifier", - "src": "2303:9:6" + "src": "11321:6:6" }, { "arguments": [ { - "name": "value0", + "name": "headStart", "nodeType": "YulIdentifier", - "src": "2318:6:6" + "src": "11334:9:6" }, { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2334:3:6", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2339:1:6", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2330:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "2330:11:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2343:1:6", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2326:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "2326:19:6" + "kind": "number", + "nodeType": "YulLiteral", + "src": "11345:2:6", + "type": "", + "value": "32" } ], "functionName": { - "name": "and", + "name": "add", "nodeType": "YulIdentifier", - "src": "2314:3:6" + "src": "11330:3:6" }, "nodeType": "YulFunctionCall", - "src": "2314:32:6" + "src": "11330:18:6" } ], "functionName": { - "name": "mstore", + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "2296:6:6" + "src": "11277:43:6" }, "nodeType": "YulFunctionCall", - "src": "2296:51:6" + "src": "11277:72:6" }, "nodeType": "YulExpressionStatement", - "src": "2296:51:6" + "src": "11277:72:6" } ] }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_60003323d73a4c13327cfaa2a8d8fe88065dce5b6000d4910be114bf7db7ab30_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "2220:9:6", + "src": "10998:9:6", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "2231:6:6", + "src": "11010:6:6", "type": "" } ], @@ -2455,31 +6338,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "2242:4:6", + "src": "11021:4:6", "type": "" } ], - "src": "2150:203:6" + "src": "10827:529:6" }, { "body": { "nodeType": "YulBlock", - "src": "2487:145:6", + "src": "11561:330:6", "statements": [ { "nodeType": "YulAssignment", - "src": "2497:26:6", + "src": "11571:26:6", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "2509:9:6" + "src": "11583:9:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2520:2:6", + "src": "11594:2:6", "type": "", "value": "64" } @@ -2487,16 +6370,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2505:3:6" + "src": "11579:3:6" }, "nodeType": "YulFunctionCall", - "src": "2505:18:6" + "src": "11579:18:6" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "2497:4:6" + "src": "11571:4:6" } ] }, @@ -2504,95 +6387,107 @@ "expression": { "arguments": [ { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2539:9:6" + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11618:9:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11629:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11614:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "11614:17:6" }, { "arguments": [ { - "name": "value0", + "name": "tail", "nodeType": "YulIdentifier", - "src": "2554:6:6" + "src": "11637:4:6" }, { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2570:3:6", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2575:1:6", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2566:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "2566:11:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2579:1:6", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2562:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "2562:19:6" + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11643:9:6" } ], "functionName": { - "name": "and", + "name": "sub", "nodeType": "YulIdentifier", - "src": "2550:3:6" + "src": "11633:3:6" }, "nodeType": "YulFunctionCall", - "src": "2550:32:6" + "src": "11633:20:6" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "2532:6:6" + "src": "11607:6:6" }, "nodeType": "YulFunctionCall", - "src": "2532:51:6" + "src": "11607:47:6" }, "nodeType": "YulExpressionStatement", - "src": "2532:51:6" + "src": "11607:47:6" + }, + { + "nodeType": "YulAssignment", + "src": "11663:139:6", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11797:4:6" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_62e5a51f7160e94c03bd94dca3de2ee225284130303648a60d547e2dc2fc0233_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "11671:124:6" + }, + "nodeType": "YulFunctionCall", + "src": "11671:131:6" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11663:4:6" + } + ] }, { "expression": { "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11856:6:6" + }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "2603:9:6" + "src": "11869:9:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2614:2:6", + "src": "11880:2:6", "type": "", "value": "32" } @@ -2600,49 +6495,38 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2599:3:6" + "src": "11865:3:6" }, "nodeType": "YulFunctionCall", - "src": "2599:18:6" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2619:6:6" + "src": "11865:18:6" } ], "functionName": { - "name": "mstore", + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "2592:6:6" + "src": "11812:43:6" }, "nodeType": "YulFunctionCall", - "src": "2592:34:6" + "src": "11812:72:6" }, "nodeType": "YulExpressionStatement", - "src": "2592:34:6" + "src": "11812:72:6" } ] }, - "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_62e5a51f7160e94c03bd94dca3de2ee225284130303648a60d547e2dc2fc0233_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "2448:9:6", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2459:6:6", + "src": "11533:9:6", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "2467:6:6", + "src": "11545:6:6", "type": "" } ], @@ -2650,136 +6534,48 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "2478:4:6", + "src": "11556:4:6", "type": "" } ], - "src": "2358:274:6" + "src": "11362:529:6" }, { "body": { "nodeType": "YulBlock", - "src": "2788:510:6", + "src": "12068:248:6", "statements": [ { - "nodeType": "YulVariableDeclaration", - "src": "2798:12:6", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2808:2:6", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "2802:2:6", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2819:32:6", + "nodeType": "YulAssignment", + "src": "12078:26:6", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "2837:9:6" + "src": "12090:9:6" }, { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2848:2:6" + "kind": "number", + "nodeType": "YulLiteral", + "src": "12101:2:6", + "type": "", + "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2833:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "2833:18:6" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "2823:6:6", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2867:9:6" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2878:2:6" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2860:6:6" + "src": "12086:3:6" }, "nodeType": "YulFunctionCall", - "src": "2860:21:6" - }, - "nodeType": "YulExpressionStatement", - "src": "2860:21:6" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2890:17:6", - "value": { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "2901:6:6" + "src": "12086:18:6" }, - "variables": [ + "variableNames": [ { - "name": "pos", - "nodeType": "YulTypedName", - "src": "2894:3:6", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2916:27:6", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2936:6:6" - } - ], - "functionName": { - "name": "mload", + "name": "tail", "nodeType": "YulIdentifier", - "src": "2930:5:6" - }, - "nodeType": "YulFunctionCall", - "src": "2930:13:6" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2920:6:6", - "type": "" + "src": "12078:4:6" } ] }, @@ -2787,372 +6583,244 @@ "expression": { "arguments": [ { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "2959:6:6" + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12125:9:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12136:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12121:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "12121:17:6" }, { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2967:6:6" + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12144:4:6" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12150:9:6" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12140:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "12140:20:6" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "2952:6:6" + "src": "12114:6:6" }, "nodeType": "YulFunctionCall", - "src": "2952:22:6" + "src": "12114:47:6" }, "nodeType": "YulExpressionStatement", - "src": "2952:22:6" + "src": "12114:47:6" }, { "nodeType": "YulAssignment", - "src": "2983:25:6", + "src": "12170:139:6", "value": { "arguments": [ { - "name": "headStart", + "name": "tail", "nodeType": "YulIdentifier", - "src": "2994:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3005:2:6", - "type": "", - "value": "64" + "src": "12304:4:6" } ], "functionName": { - "name": "add", + "name": "abi_encode_t_stringliteral_7b0248c8ab69ffcfe6f3b094480b3dfdc31226061479921adc7cd0fb5baf7c35_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "2990:3:6" + "src": "12178:124:6" }, "nodeType": "YulFunctionCall", - "src": "2990:18:6" + "src": "12178:131:6" }, "variableNames": [ { - "name": "pos", + "name": "tail", "nodeType": "YulIdentifier", - "src": "2983:3:6" + "src": "12170:4:6" } ] - }, + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_7b0248c8ab69ffcfe6f3b094480b3dfdc31226061479921adc7cd0fb5baf7c35__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12048:9:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "12063:4:6", + "type": "" + } + ], + "src": "11897:419:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12493:248:6", + "statements": [ { - "nodeType": "YulVariableDeclaration", - "src": "3017:29:6", + "nodeType": "YulAssignment", + "src": "12503:26:6", "value": { "arguments": [ { - "name": "value0", + "name": "headStart", "nodeType": "YulIdentifier", - "src": "3035:6:6" + "src": "12515:9:6" }, { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3043:2:6" + "kind": "number", + "nodeType": "YulLiteral", + "src": "12526:2:6", + "type": "", + "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3031:3:6" + "src": "12511:3:6" }, "nodeType": "YulFunctionCall", - "src": "3031:15:6" - }, - "variables": [ - { - "name": "srcPtr", - "nodeType": "YulTypedName", - "src": "3021:6:6", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3055:13:6", - "value": { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3064:4:6" + "src": "12511:18:6" }, - "variables": [ + "variableNames": [ { - "name": "i", - "nodeType": "YulTypedName", - "src": "3059:1:6", - "type": "" + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12503:4:6" } ] }, { - "body": { - "nodeType": "YulBlock", - "src": "3126:146:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3147:3:6" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "3162:6:6" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3156:5:6" - }, - "nodeType": "YulFunctionCall", - "src": "3156:13:6" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3179:3:6", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3184:1:6", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3175:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "3175:11:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3188:1:6", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3171:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "3171:19:6" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3152:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "3152:39:6" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3140:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "3140:52:6" - }, - "nodeType": "YulExpressionStatement", - "src": "3140:52:6" - }, + "expression": { + "arguments": [ { - "nodeType": "YulAssignment", - "src": "3205:19:6", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3216:3:6" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3221:2:6" - } - ], - "functionName": { - "name": "add", + "arguments": [ + { + "name": "headStart", "nodeType": "YulIdentifier", - "src": "3212:3:6" + "src": "12550:9:6" }, - "nodeType": "YulFunctionCall", - "src": "3212:12:6" - }, - "variableNames": [ { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3205:3:6" + "kind": "number", + "nodeType": "YulLiteral", + "src": "12561:1:6", + "type": "", + "value": "0" } - ] + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12546:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "12546:17:6" }, { - "nodeType": "YulAssignment", - "src": "3237:25:6", - "value": { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "3251:6:6" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3259:2:6" - } - ], - "functionName": { - "name": "add", + "arguments": [ + { + "name": "tail", "nodeType": "YulIdentifier", - "src": "3247:3:6" + "src": "12569:4:6" }, - "nodeType": "YulFunctionCall", - "src": "3247:15:6" - }, - "variableNames": [ { - "name": "srcPtr", + "name": "headStart", "nodeType": "YulIdentifier", - "src": "3237:6:6" + "src": "12575:9:6" } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "3088:1:6" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3091:6:6" + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12565:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "12565:20:6" } ], "functionName": { - "name": "lt", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "3085:2:6" + "src": "12539:6:6" }, "nodeType": "YulFunctionCall", - "src": "3085:13:6" + "src": "12539:47:6" }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "3099:18:6", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3101:14:6", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "3110:1:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3113:1:6", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3106:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "3106:9:6" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "3101:1:6" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "3081:3:6", - "statements": [] - }, - "src": "3077:195:6" + "nodeType": "YulExpressionStatement", + "src": "12539:47:6" }, { "nodeType": "YulAssignment", - "src": "3281:11:6", + "src": "12595:139:6", "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "3289:3:6" + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12729:4:6" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_98bb0d434888d1b812a0a4194c9568f0648e9ed0f8cbde68f7f17a68afe7b6cd_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12603:124:6" + }, + "nodeType": "YulFunctionCall", + "src": "12603:131:6" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "3281:4:6" + "src": "12595:4:6" } ] } ] }, - "name": "abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_98bb0d434888d1b812a0a4194c9568f0648e9ed0f8cbde68f7f17a68afe7b6cd__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "2757:9:6", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2768:6:6", + "src": "12473:9:6", "type": "" } ], @@ -3160,31 +6828,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "2779:4:6", + "src": "12488:4:6", "type": "" } ], - "src": "2637:661:6" + "src": "12322:419:6" }, { "body": { "nodeType": "YulBlock", - "src": "3398:92:6", + "src": "12918:248:6", "statements": [ { "nodeType": "YulAssignment", - "src": "3408:26:6", + "src": "12928:26:6", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3420:9:6" + "src": "12940:9:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3431:2:6", + "src": "12951:2:6", "type": "", "value": "32" } @@ -3192,16 +6860,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3416:3:6" + "src": "12936:3:6" }, "nodeType": "YulFunctionCall", - "src": "3416:18:6" + "src": "12936:18:6" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "3408:4:6" + "src": "12928:4:6" } ] }, @@ -3209,64 +6877,97 @@ "expression": { "arguments": [ { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3450:9:6" + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12975:9:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12986:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12971:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "12971:17:6" }, { "arguments": [ { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3475:6:6" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3468:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "3468:14:6" + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12994:4:6" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13000:9:6" } ], "functionName": { - "name": "iszero", + "name": "sub", "nodeType": "YulIdentifier", - "src": "3461:6:6" + "src": "12990:3:6" }, "nodeType": "YulFunctionCall", - "src": "3461:22:6" + "src": "12990:20:6" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "3443:6:6" + "src": "12964:6:6" }, "nodeType": "YulFunctionCall", - "src": "3443:41:6" + "src": "12964:47:6" }, "nodeType": "YulExpressionStatement", - "src": "3443:41:6" + "src": "12964:47:6" + }, + { + "nodeType": "YulAssignment", + "src": "13020:139:6", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13154:4:6" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "13028:124:6" + }, + "nodeType": "YulFunctionCall", + "src": "13028:131:6" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13020:4:6" + } + ] } ] }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "3367:9:6", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3378:6:6", + "src": "12898:9:6", "type": "" } ], @@ -3274,43 +6975,50 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "3389:4:6", + "src": "12913:4:6", "type": "" } ], - "src": "3303:187:6" + "src": "12747:419:6" }, { "body": { "nodeType": "YulBlock", - "src": "3697:272:6", + "src": "13371:330:6", "statements": [ { - "expression": { + "nodeType": "YulAssignment", + "src": "13381:26:6", + "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3714:9:6" + "src": "13393:9:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3725:2:6", + "src": "13404:2:6", "type": "", "value": "64" } ], "functionName": { - "name": "mstore", + "name": "add", "nodeType": "YulIdentifier", - "src": "3707:6:6" + "src": "13389:3:6" }, "nodeType": "YulFunctionCall", - "src": "3707:21:6" + "src": "13389:18:6" }, - "nodeType": "YulExpressionStatement", - "src": "3707:21:6" + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13381:4:6" + } + ] }, { "expression": { @@ -3320,1619 +7028,1742 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3748:9:6" + "src": "13428:9:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3759:2:6", + "src": "13439:1:6", "type": "", - "value": "64" + "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3744:3:6" + "src": "13424:3:6" }, "nodeType": "YulFunctionCall", - "src": "3744:18:6" + "src": "13424:17:6" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3764:2:6", - "type": "", - "value": "36" + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13447:4:6" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13453:9:6" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "13443:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "13443:20:6" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "3737:6:6" + "src": "13417:6:6" }, "nodeType": "YulFunctionCall", - "src": "3737:30:6" + "src": "13417:47:6" }, "nodeType": "YulExpressionStatement", - "src": "3737:30:6" + "src": "13417:47:6" + }, + { + "nodeType": "YulAssignment", + "src": "13473:139:6", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13607:4:6" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_fb11453b6c78aa27b60cb68bf4fe797153c8722a422197eb0962704a1b341201_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "13481:124:6" + }, + "nodeType": "YulFunctionCall", + "src": "13481:131:6" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13473:4:6" + } + ] }, { "expression": { "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13666:6:6" + }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3787:9:6" + "src": "13679:9:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3798:2:6", + "src": "13690:2:6", "type": "", - "value": "96" + "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3783:3:6" + "src": "13675:3:6" }, "nodeType": "YulFunctionCall", - "src": "3783:18:6" + "src": "13675:18:6" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "13622:43:6" + }, + "nodeType": "YulFunctionCall", + "src": "13622:72:6" + }, + "nodeType": "YulExpressionStatement", + "src": "13622:72:6" + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_fb11453b6c78aa27b60cb68bf4fe797153c8722a422197eb0962704a1b341201_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13343:9:6", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13355:6:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "13366:4:6", + "type": "" + } + ], + "src": "13172:529:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13805:124:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13815:26:6", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13827:9:6" }, { - "kind": "string", + "kind": "number", "nodeType": "YulLiteral", - "src": "3803:34:6", + "src": "13838:2:6", "type": "", - "value": "If this is not 0, there was an e" + "value": "32" } ], "functionName": { - "name": "mstore", + "name": "add", "nodeType": "YulIdentifier", - "src": "3776:6:6" + "src": "13823:3:6" }, "nodeType": "YulFunctionCall", - "src": "3776:62:6" + "src": "13823:18:6" }, - "nodeType": "YulExpressionStatement", - "src": "3776:62:6" + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13815:4:6" + } + ] }, { "expression": { "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13895:6:6" + }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3858:9:6" + "src": "13908:9:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3869:3:6", + "src": "13919:1:6", "type": "", - "value": "128" + "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3854:3:6" + "src": "13904:3:6" }, "nodeType": "YulFunctionCall", - "src": "3854:19:6" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "3875:6:6", - "type": "", - "value": "rror" + "src": "13904:17:6" } ], "functionName": { - "name": "mstore", + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "3847:6:6" + "src": "13851:43:6" }, "nodeType": "YulFunctionCall", - "src": "3847:35:6" + "src": "13851:71:6" }, "nodeType": "YulExpressionStatement", - "src": "3847:35:6" + "src": "13851:71:6" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13777:9:6", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13789:6:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "13800:4:6", + "type": "" + } + ], + "src": "13707:222:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14007:60:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14017:11:6", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "14025:3:6" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "14017:4:6" + } + ] }, { "nodeType": "YulAssignment", - "src": "3891:27:6", + "src": "14038:22:6", "value": { "arguments": [ { - "name": "headStart", + "name": "ptr", "nodeType": "YulIdentifier", - "src": "3903:9:6" + "src": "14050:3:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3914:3:6", + "src": "14055:4:6", "type": "", - "value": "160" + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14046:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "14046:14:6" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "14038:4:6" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_address_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "13994:3:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "14002:4:6", + "type": "" + } + ], + "src": "13935:132:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14147:40:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14158:22:6", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14174:5:6" } ], "functionName": { - "name": "add", + "name": "mload", "nodeType": "YulIdentifier", - "src": "3899:3:6" + "src": "14168:5:6" }, "nodeType": "YulFunctionCall", - "src": "3899:19:6" + "src": "14168:12:6" }, "variableNames": [ { - "name": "tail", + "name": "length", "nodeType": "YulIdentifier", - "src": "3891:4:6" + "src": "14158:6:6" } ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3938:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3949:4:6", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3934:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "3934:20:6" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3956:6:6" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3927:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "3927:36:6" - }, - "nodeType": "YulExpressionStatement", - "src": "3927:36:6" } ] }, - "name": "abi_encode_tuple_t_stringliteral_32ea112dcb61457845498aa22384476c9df97ef6cf5696f8777ea00b1e4090b1_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed", + "name": "array_length_t_array$_t_address_$dyn_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3666:9:6", - "type": "" - }, - { - "name": "value0", + "name": "value", "nodeType": "YulTypedName", - "src": "3677:6:6", + "src": "14130:5:6", "type": "" } ], "returnVariables": [ { - "name": "tail", + "name": "length", "nodeType": "YulTypedName", - "src": "3688:4:6", + "src": "14140:6:6", "type": "" } ], - "src": "3495:474:6" + "src": "14073:114:6" }, { "body": { "nodeType": "YulBlock", - "src": "4176:271:6", + "src": "14268:38:6", "statements": [ { - "expression": { + "nodeType": "YulAssignment", + "src": "14278:22:6", + "value": { "arguments": [ { - "name": "headStart", + "name": "ptr", "nodeType": "YulIdentifier", - "src": "4193:9:6" + "src": "14290:3:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4204:2:6", + "src": "14295:4:6", "type": "", - "value": "64" + "value": "0x20" } ], "functionName": { - "name": "mstore", + "name": "add", "nodeType": "YulIdentifier", - "src": "4186:6:6" + "src": "14286:3:6" }, "nodeType": "YulFunctionCall", - "src": "4186:21:6" + "src": "14286:14:6" }, - "nodeType": "YulExpressionStatement", - "src": "4186:21:6" - }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "14278:4:6" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_address_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "14255:3:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "14263:4:6", + "type": "" + } + ], + "src": "14193:113:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14423:73:6", + "statements": [ { "expression": { "arguments": [ { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4227:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4238:2:6", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4223:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "4223:18:6" + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14440:3:6" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4243:2:6", - "type": "", - "value": "35" + "name": "length", + "nodeType": "YulIdentifier", + "src": "14445:6:6" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "4216:6:6" + "src": "14433:6:6" }, "nodeType": "YulFunctionCall", - "src": "4216:30:6" + "src": "14433:19:6" }, "nodeType": "YulExpressionStatement", - "src": "4216:30:6" + "src": "14433:19:6" }, { - "expression": { + "nodeType": "YulAssignment", + "src": "14461:29:6", + "value": { "arguments": [ { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4266:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4277:2:6", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4262:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "4262:18:6" + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14480:3:6" }, { - "kind": "string", + "kind": "number", "nodeType": "YulLiteral", - "src": "4282:34:6", + "src": "14485:4:6", "type": "", - "value": "Exchange Rate (scaled up by 1e18" + "value": "0x20" } ], "functionName": { - "name": "mstore", + "name": "add", "nodeType": "YulIdentifier", - "src": "4255:6:6" + "src": "14476:3:6" }, "nodeType": "YulFunctionCall", - "src": "4255:62:6" + "src": "14476:14:6" }, - "nodeType": "YulExpressionStatement", - "src": "4255:62:6" - }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "14461:11:6" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "14395:3:6", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "14400:6:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "14411:11:6", + "type": "" + } + ], + "src": "14312:184:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14598:73:6", + "statements": [ { "expression": { "arguments": [ { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4337:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4348:3:6", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4333:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "4333:19:6" + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14615:3:6" }, { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4354:5:6", - "type": "", - "value": "): " + "name": "length", + "nodeType": "YulIdentifier", + "src": "14620:6:6" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "4326:6:6" + "src": "14608:6:6" }, "nodeType": "YulFunctionCall", - "src": "4326:34:6" + "src": "14608:19:6" }, "nodeType": "YulExpressionStatement", - "src": "4326:34:6" + "src": "14608:19:6" }, { "nodeType": "YulAssignment", - "src": "4369:27:6", + "src": "14636:29:6", "value": { "arguments": [ { - "name": "headStart", + "name": "pos", "nodeType": "YulIdentifier", - "src": "4381:9:6" + "src": "14655:3:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4392:3:6", + "src": "14660:4:6", "type": "", - "value": "160" + "value": "0x20" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4377:3:6" + "src": "14651:3:6" }, "nodeType": "YulFunctionCall", - "src": "4377:19:6" + "src": "14651:14:6" }, "variableNames": [ { - "name": "tail", + "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "4369:4:6" + "src": "14636:11:6" } ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4416:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4427:4:6", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4412:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "4412:20:6" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4434:6:6" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4405:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "4405:36:6" - }, - "nodeType": "YulExpressionStatement", - "src": "4405:36:6" } ] }, - "name": "abi_encode_tuple_t_stringliteral_33aebce51cebc1d7a804cac67786205e44686c5f6c0dfdcaaa23961518079af0_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed", + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "headStart", + "name": "pos", "nodeType": "YulTypedName", - "src": "4145:9:6", + "src": "14570:3:6", "type": "" }, { - "name": "value0", + "name": "length", "nodeType": "YulTypedName", - "src": "4156:6:6", + "src": "14575:6:6", "type": "" } ], "returnVariables": [ { - "name": "tail", + "name": "updated_pos", "nodeType": "YulTypedName", - "src": "4167:4:6", + "src": "14586:11:6", "type": "" } ], - "src": "3974:473:6" + "src": "14502:169:6" }, { "body": { "nodeType": "YulBlock", - "src": "4626:166:6", + "src": "14721:261:6", "statements": [ { - "expression": { + "nodeType": "YulAssignment", + "src": "14731:25:6", + "value": { "arguments": [ { - "name": "headStart", + "name": "x", "nodeType": "YulIdentifier", - "src": "4643:9:6" - }, + "src": "14754:1:6" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "14736:17:6" + }, + "nodeType": "YulFunctionCall", + "src": "14736:20:6" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "14731:1:6" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14765:25:6", + "value": { + "arguments": [ { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4654:2:6", - "type": "", - "value": "32" + "name": "y", + "nodeType": "YulIdentifier", + "src": "14788:1:6" } ], "functionName": { - "name": "mstore", + "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "4636:6:6" + "src": "14770:17:6" }, "nodeType": "YulFunctionCall", - "src": "4636:21:6" + "src": "14770:20:6" }, - "nodeType": "YulExpressionStatement", - "src": "4636:21:6" + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "14765:1:6" + } + ] }, { - "expression": { - "arguments": [ + "body": { + "nodeType": "YulBlock", + "src": "14928:22:6", + "statements": [ { - "arguments": [ - { - "name": "headStart", + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "4677:9:6" + "src": "14930:16:6" }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4688:2:6", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4673:3:6" + "nodeType": "YulFunctionCall", + "src": "14930:18:6" }, - "nodeType": "YulFunctionCall", - "src": "4673:18:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4693:2:6", - "type": "", - "value": "16" + "nodeType": "YulExpressionStatement", + "src": "14930:18:6" } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4666:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "4666:30:6" + ] }, - "nodeType": "YulExpressionStatement", - "src": "4666:30:6" - }, - { - "expression": { + "condition": { "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "14849:1:6" + }, { "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4716:9:6" - }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4727:2:6", + "src": "14856:66:6", "type": "", - "value": "64" + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "14924:1:6" } ], "functionName": { - "name": "add", + "name": "sub", "nodeType": "YulIdentifier", - "src": "4712:3:6" + "src": "14852:3:6" }, "nodeType": "YulFunctionCall", - "src": "4712:18:6" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "4732:18:6", - "type": "", - "value": "Already enrolled" + "src": "14852:74:6" } ], "functionName": { - "name": "mstore", + "name": "gt", "nodeType": "YulIdentifier", - "src": "4705:6:6" + "src": "14846:2:6" }, "nodeType": "YulFunctionCall", - "src": "4705:46:6" + "src": "14846:81:6" }, - "nodeType": "YulExpressionStatement", - "src": "4705:46:6" + "nodeType": "YulIf", + "src": "14843:2:6" }, { "nodeType": "YulAssignment", - "src": "4760:26:6", + "src": "14960:16:6", "value": { "arguments": [ { - "name": "headStart", + "name": "x", "nodeType": "YulIdentifier", - "src": "4772:9:6" + "src": "14971:1:6" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4783:2:6", - "type": "", - "value": "96" + "name": "y", + "nodeType": "YulIdentifier", + "src": "14974:1:6" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4768:3:6" + "src": "14967:3:6" }, "nodeType": "YulFunctionCall", - "src": "4768:18:6" + "src": "14967:9:6" }, "variableNames": [ { - "name": "tail", + "name": "sum", "nodeType": "YulIdentifier", - "src": "4760:4:6" + "src": "14960:3:6" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_48b7a0baac09175ffa7884a2d5aa95e238fd9814c62dfb962cc278d32292f4bb__to_t_string_memory_ptr__fromStack_reversed", + "name": "checked_add_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "headStart", + "name": "x", + "nodeType": "YulTypedName", + "src": "14708:1:6", + "type": "" + }, + { + "name": "y", "nodeType": "YulTypedName", - "src": "4603:9:6", + "src": "14711:1:6", "type": "" } ], "returnVariables": [ { - "name": "tail", + "name": "sum", "nodeType": "YulTypedName", - "src": "4617:4:6", + "src": "14717:3:6", "type": "" } ], - "src": "4452:340:6" + "src": "14677:305:6" }, { "body": { "nodeType": "YulBlock", - "src": "4999:223:6", + "src": "15033:146:6", "statements": [ { - "expression": { + "nodeType": "YulAssignment", + "src": "15043:25:6", + "value": { "arguments": [ { - "name": "headStart", + "name": "x", "nodeType": "YulIdentifier", - "src": "5016:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5027:2:6", - "type": "", - "value": "64" + "src": "15066:1:6" } ], "functionName": { - "name": "mstore", + "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "5009:6:6" + "src": "15048:17:6" }, "nodeType": "YulFunctionCall", - "src": "5009:21:6" + "src": "15048:20:6" }, - "nodeType": "YulExpressionStatement", - "src": "5009:21:6" + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "15043:1:6" + } + ] }, { - "expression": { + "nodeType": "YulAssignment", + "src": "15077:25:6", + "value": { "arguments": [ { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5050:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5061:2:6", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5046:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "5046:18:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5066:2:6", - "type": "", - "value": "27" + "name": "y", + "nodeType": "YulIdentifier", + "src": "15100:1:6" } ], "functionName": { - "name": "mstore", + "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "5039:6:6" + "src": "15082:17:6" }, "nodeType": "YulFunctionCall", - "src": "5039:30:6" + "src": "15082:20:6" }, - "nodeType": "YulExpressionStatement", - "src": "5039:30:6" + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "15077:1:6" + } + ] }, { - "expression": { - "arguments": [ + "body": { + "nodeType": "YulBlock", + "src": "15124:22:6", + "statements": [ { - "arguments": [ - { - "name": "headStart", + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "5089:9:6" + "src": "15126:16:6" }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5100:2:6", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5085:3:6" + "nodeType": "YulFunctionCall", + "src": "15126:18:6" }, - "nodeType": "YulFunctionCall", - "src": "5085:18:6" + "nodeType": "YulExpressionStatement", + "src": "15126:18:6" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "15118:1:6" }, { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5105:29:6", - "type": "", - "value": "Exchange Rate (scaled up): " + "name": "y", + "nodeType": "YulIdentifier", + "src": "15121:1:6" } ], "functionName": { - "name": "mstore", + "name": "lt", "nodeType": "YulIdentifier", - "src": "5078:6:6" + "src": "15115:2:6" }, "nodeType": "YulFunctionCall", - "src": "5078:57:6" + "src": "15115:8:6" }, - "nodeType": "YulExpressionStatement", - "src": "5078:57:6" + "nodeType": "YulIf", + "src": "15112:2:6" }, { "nodeType": "YulAssignment", - "src": "5144:27:6", + "src": "15156:17:6", "value": { "arguments": [ { - "name": "headStart", + "name": "x", "nodeType": "YulIdentifier", - "src": "5156:9:6" + "src": "15168:1:6" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5167:3:6", - "type": "", - "value": "128" + "name": "y", + "nodeType": "YulIdentifier", + "src": "15171:1:6" } ], "functionName": { - "name": "add", + "name": "sub", "nodeType": "YulIdentifier", - "src": "5152:3:6" + "src": "15164:3:6" }, "nodeType": "YulFunctionCall", - "src": "5152:19:6" + "src": "15164:9:6" }, "variableNames": [ { - "name": "tail", + "name": "diff", "nodeType": "YulIdentifier", - "src": "5144:4:6" + "src": "15156:4:6" } ] - }, + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "15019:1:6", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "15022:1:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "15028:4:6", + "type": "" + } + ], + "src": "14988:191:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15230:51:6", + "statements": [ { - "expression": { + "nodeType": "YulAssignment", + "src": "15240:35:6", + "value": { "arguments": [ { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5191:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5202:4:6", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5187:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "5187:20:6" - }, - { - "name": "value0", + "name": "value", "nodeType": "YulIdentifier", - "src": "5209:6:6" + "src": "15269:5:6" } ], "functionName": { - "name": "mstore", + "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", - "src": "5180:6:6" + "src": "15251:17:6" }, "nodeType": "YulFunctionCall", - "src": "5180:36:6" + "src": "15251:24:6" }, - "nodeType": "YulExpressionStatement", - "src": "5180:36:6" + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "15240:7:6" + } + ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_60003323d73a4c13327cfaa2a8d8fe88065dce5b6000d4910be114bf7db7ab30_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed", + "name": "cleanup_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4968:9:6", - "type": "" - }, - { - "name": "value0", + "name": "value", "nodeType": "YulTypedName", - "src": "4979:6:6", + "src": "15212:5:6", "type": "" } ], "returnVariables": [ { - "name": "tail", + "name": "cleaned", "nodeType": "YulTypedName", - "src": "4990:4:6", + "src": "15222:7:6", "type": "" } ], - "src": "4797:425:6" + "src": "15185:96:6" }, { "body": { "nodeType": "YulBlock", - "src": "5429:220:6", + "src": "15340:51:6", "statements": [ { - "expression": { + "nodeType": "YulAssignment", + "src": "15350:35:6", + "value": { "arguments": [ { - "name": "headStart", + "name": "value", "nodeType": "YulIdentifier", - "src": "5446:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5457:2:6", - "type": "", - "value": "64" + "src": "15379:5:6" } ], "functionName": { - "name": "mstore", + "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", - "src": "5439:6:6" + "src": "15361:17:6" }, "nodeType": "YulFunctionCall", - "src": "5439:21:6" + "src": "15361:24:6" }, - "nodeType": "YulExpressionStatement", - "src": "5439:21:6" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5480:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5491:2:6", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5476:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "5476:18:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5496:2:6", - "type": "", - "value": "24" - } - ], - "functionName": { - "name": "mstore", + "variableNames": [ + { + "name": "cleaned", "nodeType": "YulIdentifier", - "src": "5469:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "5469:30:6" - }, - "nodeType": "YulExpressionStatement", - "src": "5469:30:6" - }, + "src": "15350:7:6" + } + ] + } + ] + }, + "name": "cleanup_t_address_payable", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15322:5:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "15332:7:6", + "type": "" + } + ], + "src": "15287:104:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15439:48:6", + "statements": [ { - "expression": { + "nodeType": "YulAssignment", + "src": "15449:32:6", + "value": { "arguments": [ { "arguments": [ { - "name": "headStart", + "name": "value", "nodeType": "YulIdentifier", - "src": "5519:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5530:2:6", - "type": "", - "value": "96" + "src": "15474:5:6" } ], "functionName": { - "name": "add", + "name": "iszero", "nodeType": "YulIdentifier", - "src": "5515:3:6" + "src": "15467:6:6" }, "nodeType": "YulFunctionCall", - "src": "5515:18:6" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5535:26:6", - "type": "", - "value": "Supply Rate: (scaled up)" + "src": "15467:13:6" } ], "functionName": { - "name": "mstore", + "name": "iszero", "nodeType": "YulIdentifier", - "src": "5508:6:6" + "src": "15460:6:6" }, "nodeType": "YulFunctionCall", - "src": "5508:54:6" + "src": "15460:21:6" }, - "nodeType": "YulExpressionStatement", - "src": "5508:54:6" - }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "15449:7:6" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15421:5:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "15431:7:6", + "type": "" + } + ], + "src": "15397:90:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15538:81:6", + "statements": [ { "nodeType": "YulAssignment", - "src": "5571:27:6", + "src": "15548:65:6", "value": { "arguments": [ { - "name": "headStart", + "name": "value", "nodeType": "YulIdentifier", - "src": "5583:9:6" + "src": "15563:5:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5594:3:6", + "src": "15570:42:6", "type": "", - "value": "128" + "value": "0xffffffffffffffffffffffffffffffffffffffff" } ], "functionName": { - "name": "add", + "name": "and", "nodeType": "YulIdentifier", - "src": "5579:3:6" + "src": "15559:3:6" }, "nodeType": "YulFunctionCall", - "src": "5579:19:6" + "src": "15559:54:6" }, "variableNames": [ { - "name": "tail", + "name": "cleaned", "nodeType": "YulIdentifier", - "src": "5571:4:6" + "src": "15548:7:6" } ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5618:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5629:4:6", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5614:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "5614:20:6" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5636:6:6" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5607:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "5607:36:6" - }, - "nodeType": "YulExpressionStatement", - "src": "5607:36:6" } ] }, - "name": "abi_encode_tuple_t_stringliteral_62e5a51f7160e94c03bd94dca3de2ee225284130303648a60d547e2dc2fc0233_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed", + "name": "cleanup_t_uint160", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "headStart", + "name": "value", "nodeType": "YulTypedName", - "src": "5398:9:6", + "src": "15520:5:6", "type": "" - }, + } + ], + "returnVariables": [ { - "name": "value0", + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "15530:7:6", + "type": "" + } + ], + "src": "15493:126:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15670:32:6", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15680:16:6", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15691:5:6" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "15680:7:6" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", "nodeType": "YulTypedName", - "src": "5409:6:6", + "src": "15652:5:6", "type": "" } ], "returnVariables": [ { - "name": "tail", + "name": "cleaned", "nodeType": "YulTypedName", - "src": "5420:4:6", + "src": "15662:7:6", "type": "" } ], - "src": "5227:422:6" + "src": "15625:77:6" }, { "body": { "nodeType": "YulBlock", - "src": "5828:236:6", + "src": "15751:43:6", "statements": [ { - "expression": { + "nodeType": "YulAssignment", + "src": "15761:27:6", + "value": { "arguments": [ { - "name": "headStart", + "name": "value", "nodeType": "YulIdentifier", - "src": "5845:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5856:2:6", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5838:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "5838:21:6" - }, - "nodeType": "YulExpressionStatement", - "src": "5838:21:6" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5879:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5890:2:6", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5875:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "5875:18:6" + "src": "15776:5:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5895:2:6", + "src": "15783:4:6", "type": "", - "value": "46" + "value": "0xff" } ], "functionName": { - "name": "mstore", + "name": "and", "nodeType": "YulIdentifier", - "src": "5868:6:6" + "src": "15772:3:6" }, "nodeType": "YulFunctionCall", - "src": "5868:30:6" + "src": "15772:16:6" }, - "nodeType": "YulExpressionStatement", - "src": "5868:30:6" - }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "15761:7:6" + } + ] + } + ] + }, + "name": "cleanup_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15733:5:6", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "15743:7:6", + "type": "" + } + ], + "src": "15708:86:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15843:190:6", + "statements": [ { - "expression": { + "nodeType": "YulAssignment", + "src": "15853:33:6", + "value": { "arguments": [ { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5918:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5929:2:6", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5914:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "5914:18:6" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "5934:34:6", - "type": "", - "value": "Error amount, can't withdraw mor" + "name": "value", + "nodeType": "YulIdentifier", + "src": "15880:5:6" } ], "functionName": { - "name": "mstore", + "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "5907:6:6" + "src": "15862:17:6" }, "nodeType": "YulFunctionCall", - "src": "5907:62:6" + "src": "15862:24:6" }, - "nodeType": "YulExpressionStatement", - "src": "5907:62:6" + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15853:5:6" + } + ] }, { - "expression": { - "arguments": [ + "body": { + "nodeType": "YulBlock", + "src": "15976:22:6", + "statements": [ { - "arguments": [ - { - "name": "headStart", + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "5989:9:6" + "src": "15978:16:6" }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6000:2:6", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5985:3:6" + "nodeType": "YulFunctionCall", + "src": "15978:18:6" }, - "nodeType": "YulFunctionCall", - "src": "5985:18:6" + "nodeType": "YulExpressionStatement", + "src": "15978:18:6" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15901:5:6" }, { - "kind": "string", + "kind": "number", "nodeType": "YulLiteral", - "src": "6005:16:6", + "src": "15908:66:6", "type": "", - "value": "e than deposit" + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" } ], "functionName": { - "name": "mstore", + "name": "eq", "nodeType": "YulIdentifier", - "src": "5978:6:6" + "src": "15898:2:6" }, "nodeType": "YulFunctionCall", - "src": "5978:44:6" + "src": "15898:77:6" }, - "nodeType": "YulExpressionStatement", - "src": "5978:44:6" + "nodeType": "YulIf", + "src": "15895:2:6" }, { "nodeType": "YulAssignment", - "src": "6031:27:6", + "src": "16007:20:6", "value": { "arguments": [ { - "name": "headStart", + "name": "value", "nodeType": "YulIdentifier", - "src": "6043:9:6" + "src": "16018:5:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6054:3:6", + "src": "16025:1:6", "type": "", - "value": "128" + "value": "1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6039:3:6" + "src": "16014:3:6" }, "nodeType": "YulFunctionCall", - "src": "6039:19:6" + "src": "16014:13:6" }, "variableNames": [ { - "name": "tail", + "name": "ret", "nodeType": "YulIdentifier", - "src": "6031:4:6" + "src": "16007:3:6" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_7b0248c8ab69ffcfe6f3b094480b3dfdc31226061479921adc7cd0fb5baf7c35__to_t_string_memory_ptr__fromStack_reversed", + "name": "increment_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "headStart", + "name": "value", "nodeType": "YulTypedName", - "src": "5805:9:6", + "src": "15829:5:6", "type": "" } ], "returnVariables": [ { - "name": "tail", + "name": "ret", "nodeType": "YulTypedName", - "src": "5819:4:6", + "src": "15839:3:6", "type": "" } ], - "src": "5654:410:6" + "src": "15800:233:6" }, { "body": { "nodeType": "YulBlock", - "src": "6243:161:6", + "src": "16080:126:6", "statements": [ { - "expression": { + "nodeType": "YulAssignment", + "src": "16090:31:6", + "value": { "arguments": [ { - "name": "headStart", + "name": "value", "nodeType": "YulIdentifier", - "src": "6260:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6271:2:6", - "type": "", - "value": "32" + "src": "16115:5:6" } ], "functionName": { - "name": "mstore", + "name": "cleanup_t_uint8", "nodeType": "YulIdentifier", - "src": "6253:6:6" + "src": "16099:15:6" }, "nodeType": "YulFunctionCall", - "src": "6253:21:6" + "src": "16099:22:6" }, - "nodeType": "YulExpressionStatement", - "src": "6253:21:6" + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16090:5:6" + } + ] }, { - "expression": { - "arguments": [ + "body": { + "nodeType": "YulBlock", + "src": "16149:22:6", + "statements": [ { - "arguments": [ - { - "name": "headStart", + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "6294:9:6" + "src": "16151:16:6" }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6305:2:6", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6290:3:6" + "nodeType": "YulFunctionCall", + "src": "16151:18:6" }, - "nodeType": "YulFunctionCall", - "src": "6290:18:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6310:2:6", - "type": "", - "value": "11" + "nodeType": "YulExpressionStatement", + "src": "16151:18:6" } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6283:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "6283:30:6" + ] }, - "nodeType": "YulExpressionStatement", - "src": "6283:30:6" - }, - { - "expression": { + "condition": { "arguments": [ { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6333:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6344:2:6", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6329:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "6329:18:6" + "name": "value", + "nodeType": "YulIdentifier", + "src": "16136:5:6" }, { - "kind": "string", + "kind": "number", "nodeType": "YulLiteral", - "src": "6349:13:6", + "src": "16143:4:6", "type": "", - "value": "Not allowed" + "value": "0xff" } ], "functionName": { - "name": "mstore", + "name": "eq", "nodeType": "YulIdentifier", - "src": "6322:6:6" + "src": "16133:2:6" }, "nodeType": "YulFunctionCall", - "src": "6322:41:6" + "src": "16133:15:6" }, - "nodeType": "YulExpressionStatement", - "src": "6322:41:6" + "nodeType": "YulIf", + "src": "16130:2:6" }, { "nodeType": "YulAssignment", - "src": "6372:26:6", + "src": "16180:20:6", "value": { "arguments": [ { - "name": "headStart", + "name": "value", "nodeType": "YulIdentifier", - "src": "6384:9:6" + "src": "16191:5:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6395:2:6", + "src": "16198:1:6", "type": "", - "value": "96" + "value": "1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6380:3:6" + "src": "16187:3:6" }, "nodeType": "YulFunctionCall", - "src": "6380:18:6" + "src": "16187:13:6" }, "variableNames": [ { - "name": "tail", + "name": "ret", "nodeType": "YulIdentifier", - "src": "6372:4:6" + "src": "16180:3:6" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_98bb0d434888d1b812a0a4194c9568f0648e9ed0f8cbde68f7f17a68afe7b6cd__to_t_string_memory_ptr__fromStack_reversed", + "name": "increment_t_uint8", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "headStart", + "name": "value", "nodeType": "YulTypedName", - "src": "6220:9:6", + "src": "16066:5:6", "type": "" } ], "returnVariables": [ { - "name": "tail", + "name": "ret", "nodeType": "YulTypedName", - "src": "6234:4:6", + "src": "16076:3:6", "type": "" } ], - "src": "6069:335:6" + "src": "16039:167:6" }, { "body": { "nodeType": "YulBlock", - "src": "6583:164:6", + "src": "16240:152:6", "statements": [ { "expression": { "arguments": [ { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6600:9:6" + "kind": "number", + "nodeType": "YulLiteral", + "src": "16257:1:6", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16260:77:6", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16250:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "16250:88:6" + }, + "nodeType": "YulExpressionStatement", + "src": "16250:88:6" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16354:1:6", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16357:4:6", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16347:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "16347:15:6" + }, + "nodeType": "YulExpressionStatement", + "src": "16347:15:6" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16378:1:6", + "type": "", + "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6611:2:6", + "src": "16381:4:6", "type": "", - "value": "32" + "value": "0x24" } ], "functionName": { - "name": "mstore", + "name": "revert", "nodeType": "YulIdentifier", - "src": "6593:6:6" + "src": "16371:6:6" }, "nodeType": "YulFunctionCall", - "src": "6593:21:6" + "src": "16371:15:6" }, "nodeType": "YulExpressionStatement", - "src": "6593:21:6" - }, + "src": "16371:15:6" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "16212:180:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16504:117:6", + "statements": [ { "expression": { "arguments": [ { "arguments": [ { - "name": "headStart", + "name": "memPtr", "nodeType": "YulIdentifier", - "src": "6634:9:6" + "src": "16526:6:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6645:2:6", + "src": "16534:1:6", "type": "", - "value": "32" + "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6630:3:6" + "src": "16522:3:6" }, "nodeType": "YulFunctionCall", - "src": "6630:18:6" + "src": "16522:14:6" }, { - "kind": "number", + "kind": "string", "nodeType": "YulLiteral", - "src": "6650:2:6", + "src": "16538:34:6", "type": "", - "value": "14" + "value": "If this is not 0, there was an e" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6623:6:6" + "src": "16515:6:6" }, "nodeType": "YulFunctionCall", - "src": "6623:30:6" + "src": "16515:58:6" }, "nodeType": "YulExpressionStatement", - "src": "6623:30:6" + "src": "16515:58:6" }, { "expression": { @@ -4940,132 +8771,108 @@ { "arguments": [ { - "name": "headStart", + "name": "memPtr", "nodeType": "YulIdentifier", - "src": "6673:9:6" + "src": "16594:6:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6684:2:6", + "src": "16602:2:6", "type": "", - "value": "64" + "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6669:3:6" + "src": "16590:3:6" }, "nodeType": "YulFunctionCall", - "src": "6669:18:6" + "src": "16590:15:6" }, { "kind": "string", "nodeType": "YulLiteral", - "src": "6689:16:6", + "src": "16607:6:6", "type": "", - "value": "Not authorized" + "value": "rror" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6662:6:6" + "src": "16583:6:6" }, "nodeType": "YulFunctionCall", - "src": "6662:44:6" + "src": "16583:31:6" }, "nodeType": "YulExpressionStatement", - "src": "6662:44:6" - }, - { - "nodeType": "YulAssignment", - "src": "6715:26:6", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6727:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6738:2:6", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6723:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "6723:18:6" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6715:4:6" - } - ] + "src": "16583:31:6" } ] }, - "name": "abi_encode_tuple_t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36__to_t_string_memory_ptr__fromStack_reversed", + "name": "store_literal_in_memory_32ea112dcb61457845498aa22384476c9df97ef6cf5696f8777ea00b1e4090b1", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6560:9:6", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", + "name": "memPtr", "nodeType": "YulTypedName", - "src": "6574:4:6", + "src": "16496:6:6", "type": "" } ], - "src": "6409:338:6" + "src": "16398:223:6" }, { "body": { "nodeType": "YulBlock", - "src": "6954:226:6", + "src": "16733:116:6", "statements": [ { "expression": { "arguments": [ { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6971:9:6" + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "16755:6:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16763:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16751:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "16751:14:6" }, { - "kind": "number", + "kind": "string", "nodeType": "YulLiteral", - "src": "6982:2:6", + "src": "16767:34:6", "type": "", - "value": "64" + "value": "Exchange Rate (scaled up by 1e18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6964:6:6" + "src": "16744:6:6" }, "nodeType": "YulFunctionCall", - "src": "6964:21:6" + "src": "16744:58:6" }, "nodeType": "YulExpressionStatement", - "src": "6964:21:6" + "src": "16744:58:6" }, { "expression": { @@ -5073,905 +8880,763 @@ { "arguments": [ { - "name": "headStart", + "name": "memPtr", "nodeType": "YulIdentifier", - "src": "7005:9:6" + "src": "16823:6:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7016:2:6", + "src": "16831:2:6", "type": "", - "value": "64" + "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7001:3:6" + "src": "16819:3:6" }, "nodeType": "YulFunctionCall", - "src": "7001:18:6" + "src": "16819:15:6" }, { - "kind": "number", + "kind": "string", "nodeType": "YulLiteral", - "src": "7021:2:6", + "src": "16836:5:6", "type": "", - "value": "32" + "value": "): " } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6994:6:6" + "src": "16812:6:6" }, "nodeType": "YulFunctionCall", - "src": "6994:30:6" + "src": "16812:30:6" }, "nodeType": "YulExpressionStatement", - "src": "6994:30:6" - }, + "src": "16812:30:6" + } + ] + }, + "name": "store_literal_in_memory_33aebce51cebc1d7a804cac67786205e44686c5f6c0dfdcaaa23961518079af0", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "16725:6:6", + "type": "" + } + ], + "src": "16627:222:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16961:60:6", + "statements": [ { "expression": { "arguments": [ { "arguments": [ { - "name": "headStart", + "name": "memPtr", "nodeType": "YulIdentifier", - "src": "7044:9:6" + "src": "16983:6:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7055:2:6", + "src": "16991:1:6", "type": "", - "value": "96" + "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7040:3:6" + "src": "16979:3:6" }, "nodeType": "YulFunctionCall", - "src": "7040:18:6" + "src": "16979:14:6" }, { "kind": "string", "nodeType": "YulLiteral", - "src": "7060:34:6", + "src": "16995:18:6", "type": "", - "value": "Supply Rate: (scaled up by 1e18)" + "value": "Already enrolled" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7033:6:6" + "src": "16972:6:6" }, "nodeType": "YulFunctionCall", - "src": "7033:62:6" + "src": "16972:42:6" }, "nodeType": "YulExpressionStatement", - "src": "7033:62:6" - }, - { - "nodeType": "YulAssignment", - "src": "7104:27:6", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7116:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7127:3:6", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7112:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "7112:19:6" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7104:4:6" - } - ] - }, + "src": "16972:42:6" + } + ] + }, + "name": "store_literal_in_memory_48b7a0baac09175ffa7884a2d5aa95e238fd9814c62dfb962cc278d32292f4bb", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "16953:6:6", + "type": "" + } + ], + "src": "16855:166:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17133:71:6", + "statements": [ { "expression": { "arguments": [ { "arguments": [ { - "name": "headStart", + "name": "memPtr", "nodeType": "YulIdentifier", - "src": "7151:9:6" + "src": "17155:6:6" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7162:2:6", + "src": "17163:1:6", "type": "", - "value": "32" + "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7147:3:6" + "src": "17151:3:6" }, "nodeType": "YulFunctionCall", - "src": "7147:18:6" + "src": "17151:14:6" }, { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7167:6:6" + "kind": "string", + "nodeType": "YulLiteral", + "src": "17167:29:6", + "type": "", + "value": "Exchange Rate (scaled up): " } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7140:6:6" + "src": "17144:6:6" }, "nodeType": "YulFunctionCall", - "src": "7140:34:6" + "src": "17144:53:6" }, "nodeType": "YulExpressionStatement", - "src": "7140:34:6" + "src": "17144:53:6" } ] }, - "name": "abi_encode_tuple_t_stringliteral_fb11453b6c78aa27b60cb68bf4fe797153c8722a422197eb0962704a1b341201_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed", + "name": "store_literal_in_memory_60003323d73a4c13327cfaa2a8d8fe88065dce5b6000d4910be114bf7db7ab30", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6923:9:6", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6934:6:6", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", + "name": "memPtr", "nodeType": "YulTypedName", - "src": "6945:4:6", + "src": "17125:6:6", "type": "" } ], - "src": "6752:428:6" + "src": "17027:177:6" }, { "body": { "nodeType": "YulBlock", - "src": "7286:76:6", + "src": "17316:68:6", "statements": [ { - "nodeType": "YulAssignment", - "src": "7296:26:6", - "value": { + "expression": { "arguments": [ { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7308:9:6" + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "17338:6:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17346:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17334:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "17334:14:6" }, { - "kind": "number", + "kind": "string", "nodeType": "YulLiteral", - "src": "7319:2:6", + "src": "17350:26:6", "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7304:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "7304:18:6" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7296:4:6" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7338:9:6" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7349:6:6" + "value": "Supply Rate: (scaled up)" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7331:6:6" + "src": "17327:6:6" }, "nodeType": "YulFunctionCall", - "src": "7331:25:6" + "src": "17327:50:6" }, "nodeType": "YulExpressionStatement", - "src": "7331:25:6" + "src": "17327:50:6" } ] }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "name": "store_literal_in_memory_62e5a51f7160e94c03bd94dca3de2ee225284130303648a60d547e2dc2fc0233", "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7255:9:6", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7266:6:6", - "type": "" - } - ], - "returnVariables": [ + "parameters": [ { - "name": "tail", + "name": "memPtr", "nodeType": "YulTypedName", - "src": "7277:4:6", + "src": "17308:6:6", "type": "" } ], - "src": "7185:177:6" + "src": "17210:174:6" }, { "body": { "nodeType": "YulBlock", - "src": "7415:80:6", + "src": "17496:127:6", "statements": [ { - "body": { - "nodeType": "YulBlock", - "src": "7442:22:6", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "7444:16:6" - }, - "nodeType": "YulFunctionCall", - "src": "7444:18:6" - }, - "nodeType": "YulExpressionStatement", - "src": "7444:18:6" - } - ] - }, - "condition": { + "expression": { "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "7431:1:6" - }, { "arguments": [ { - "name": "y", + "name": "memPtr", "nodeType": "YulIdentifier", - "src": "7438:1:6" + "src": "17518:6:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17526:1:6", + "type": "", + "value": "0" } ], "functionName": { - "name": "not", + "name": "add", "nodeType": "YulIdentifier", - "src": "7434:3:6" + "src": "17514:3:6" }, "nodeType": "YulFunctionCall", - "src": "7434:6:6" + "src": "17514:14:6" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "17530:34:6", + "type": "", + "value": "Error amount, can't withdraw mor" } ], "functionName": { - "name": "gt", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "7428:2:6" + "src": "17507:6:6" }, "nodeType": "YulFunctionCall", - "src": "7428:13:6" + "src": "17507:58:6" }, - "nodeType": "YulIf", - "src": "7425:2:6" + "nodeType": "YulExpressionStatement", + "src": "17507:58:6" }, { - "nodeType": "YulAssignment", - "src": "7473:16:6", - "value": { + "expression": { "arguments": [ { - "name": "x", - "nodeType": "YulIdentifier", - "src": "7484:1:6" + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "17586:6:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17594:2:6", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17582:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "17582:15:6" }, { - "name": "y", - "nodeType": "YulIdentifier", - "src": "7487:1:6" + "kind": "string", + "nodeType": "YulLiteral", + "src": "17599:16:6", + "type": "", + "value": "e than deposit" } ], "functionName": { - "name": "add", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "7480:3:6" + "src": "17575:6:6" }, "nodeType": "YulFunctionCall", - "src": "7480:9:6" + "src": "17575:41:6" }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "7473:3:6" - } - ] + "nodeType": "YulExpressionStatement", + "src": "17575:41:6" } ] }, - "name": "checked_add_t_uint256", + "name": "store_literal_in_memory_7b0248c8ab69ffcfe6f3b094480b3dfdc31226061479921adc7cd0fb5baf7c35", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "x", - "nodeType": "YulTypedName", - "src": "7398:1:6", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "7401:1:6", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", + "name": "memPtr", "nodeType": "YulTypedName", - "src": "7407:3:6", + "src": "17488:6:6", "type": "" } ], - "src": "7367:128:6" + "src": "17390:233:6" }, { "body": { "nodeType": "YulBlock", - "src": "7549:76:6", + "src": "17735:55:6", "statements": [ { - "body": { - "nodeType": "YulBlock", - "src": "7571:22:6", - "statements": [ + "expression": { + "arguments": [ { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", + "arguments": [ + { + "name": "memPtr", "nodeType": "YulIdentifier", - "src": "7573:16:6" + "src": "17757:6:6" }, - "nodeType": "YulFunctionCall", - "src": "7573:18:6" + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17765:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17753:3:6" }, - "nodeType": "YulExpressionStatement", - "src": "7573:18:6" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "7565:1:6" + "nodeType": "YulFunctionCall", + "src": "17753:14:6" }, { - "name": "y", - "nodeType": "YulIdentifier", - "src": "7568:1:6" + "kind": "string", + "nodeType": "YulLiteral", + "src": "17769:13:6", + "type": "", + "value": "Not allowed" } ], "functionName": { - "name": "lt", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "7562:2:6" + "src": "17746:6:6" }, "nodeType": "YulFunctionCall", - "src": "7562:8:6" + "src": "17746:37:6" }, - "nodeType": "YulIf", - "src": "7559:2:6" - }, + "nodeType": "YulExpressionStatement", + "src": "17746:37:6" + } + ] + }, + "name": "store_literal_in_memory_98bb0d434888d1b812a0a4194c9568f0648e9ed0f8cbde68f7f17a68afe7b6cd", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "17727:6:6", + "type": "" + } + ], + "src": "17629:161:6" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17902:58:6", + "statements": [ { - "nodeType": "YulAssignment", - "src": "7602:17:6", - "value": { + "expression": { "arguments": [ { - "name": "x", - "nodeType": "YulIdentifier", - "src": "7614:1:6" + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "17924:6:6" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17932:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17920:3:6" + }, + "nodeType": "YulFunctionCall", + "src": "17920:14:6" }, { - "name": "y", - "nodeType": "YulIdentifier", - "src": "7617:1:6" + "kind": "string", + "nodeType": "YulLiteral", + "src": "17936:16:6", + "type": "", + "value": "Not authorized" } ], "functionName": { - "name": "sub", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "7610:3:6" + "src": "17913:6:6" }, "nodeType": "YulFunctionCall", - "src": "7610:9:6" + "src": "17913:40:6" }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "7602:4:6" - } - ] + "nodeType": "YulExpressionStatement", + "src": "17913:40:6" } ] }, - "name": "checked_sub_t_uint256", + "name": "store_literal_in_memory_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "x", - "nodeType": "YulTypedName", - "src": "7531:1:6", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "7534:1:6", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", + "name": "memPtr", "nodeType": "YulTypedName", - "src": "7540:4:6", + "src": "17894:6:6", "type": "" } ], - "src": "7500:125:6" + "src": "17796:164:6" }, { "body": { "nodeType": "YulBlock", - "src": "7677:88:6", + "src": "18072:76:6", "statements": [ { - "body": { - "nodeType": "YulBlock", - "src": "7708:22:6", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "7710:16:6" - }, - "nodeType": "YulFunctionCall", - "src": "7710:18:6" - }, - "nodeType": "YulExpressionStatement", - "src": "7710:18:6" - } - ] - }, - "condition": { + "expression": { "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7693:5:6" - }, { "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18094:6:6" + }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7704:1:6", + "src": "18102:1:6", "type": "", "value": "0" } ], "functionName": { - "name": "not", + "name": "add", "nodeType": "YulIdentifier", - "src": "7700:3:6" + "src": "18090:3:6" }, "nodeType": "YulFunctionCall", - "src": "7700:6:6" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "7690:2:6" - }, - "nodeType": "YulFunctionCall", - "src": "7690:17:6" - }, - "nodeType": "YulIf", - "src": "7687:2:6" - }, - { - "nodeType": "YulAssignment", - "src": "7739:20:6", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7750:5:6" + "src": "18090:14:6" }, { - "kind": "number", + "kind": "string", "nodeType": "YulLiteral", - "src": "7757:1:6", + "src": "18106:34:6", "type": "", - "value": "1" + "value": "Supply Rate: (scaled up by 1e18)" } ], "functionName": { - "name": "add", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "7746:3:6" + "src": "18083:6:6" }, "nodeType": "YulFunctionCall", - "src": "7746:13:6" + "src": "18083:58:6" }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "7739:3:6" - } - ] + "nodeType": "YulExpressionStatement", + "src": "18083:58:6" } ] }, - "name": "increment_t_uint256", + "name": "store_literal_in_memory_fb11453b6c78aa27b60cb68bf4fe797153c8722a422197eb0962704a1b341201", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "value", - "nodeType": "YulTypedName", - "src": "7659:5:6", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", + "name": "memPtr", "nodeType": "YulTypedName", - "src": "7669:3:6", + "src": "18064:6:6", "type": "" } ], - "src": "7630:135:6" + "src": "17966:182:6" }, { "body": { "nodeType": "YulBlock", - "src": "7815:130:6", + "src": "18197:79:6", "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7825:31:6", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7844:5:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7851:4:6", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "7840:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "7840:16:6" - }, - "variables": [ - { - "name": "value_1", - "nodeType": "YulTypedName", - "src": "7829:7:6", - "type": "" - } - ] - }, { "body": { "nodeType": "YulBlock", - "src": "7886:22:6", + "src": "18254:16:6", "statements": [ { "expression": { - "arguments": [], + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18263:1:6", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18266:1:6", + "type": "", + "value": "0" + } + ], "functionName": { - "name": "panic_error_0x11", + "name": "revert", "nodeType": "YulIdentifier", - "src": "7888:16:6" + "src": "18256:6:6" }, "nodeType": "YulFunctionCall", - "src": "7888:18:6" + "src": "18256:12:6" }, "nodeType": "YulExpressionStatement", - "src": "7888:18:6" + "src": "18256:12:6" } ] }, "condition": { "arguments": [ { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "7871:7:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7880:4:6", - "type": "", - "value": "0xff" + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "18220:5:6" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "18245:5:6" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "18227:17:6" + }, + "nodeType": "YulFunctionCall", + "src": "18227:24:6" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "18217:2:6" + }, + "nodeType": "YulFunctionCall", + "src": "18217:35:6" } ], "functionName": { - "name": "eq", + "name": "iszero", "nodeType": "YulIdentifier", - "src": "7868:2:6" + "src": "18210:6:6" }, "nodeType": "YulFunctionCall", - "src": "7868:17:6" + "src": "18210:43:6" }, "nodeType": "YulIf", - "src": "7865:2:6" - }, - { - "nodeType": "YulAssignment", - "src": "7917:22:6", - "value": { - "arguments": [ - { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "7928:7:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7937:1:6", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7924:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "7924:15:6" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "7917:3:6" - } - ] + "src": "18207:2:6" } ] }, - "name": "increment_t_uint8", + "name": "validator_revert_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "7797:5:6", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "7807:3:6", + "src": "18190:5:6", "type": "" } ], - "src": "7770:175:6" + "src": "18154:122:6" }, { "body": { "nodeType": "YulBlock", - "src": "7982:95:6", + "src": "18333:87:6", "statements": [ { - "expression": { - "arguments": [ + "body": { + "nodeType": "YulBlock", + "src": "18398:16:6", + "statements": [ { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7999:1:6", - "type": "", - "value": "0" - }, + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18407:1:6", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18410:1:6", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "18400:6:6" + }, + "nodeType": "YulFunctionCall", + "src": "18400:12:6" + }, + "nodeType": "YulExpressionStatement", + "src": "18400:12:6" + } + ] + }, + "condition": { + "arguments": [ { "arguments": [ { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8006:3:6", - "type": "", - "value": "224" + "name": "value", + "nodeType": "YulIdentifier", + "src": "18356:5:6" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8011:10:6", - "type": "", - "value": "0x4e487b71" + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "18389:5:6" + } + ], + "functionName": { + "name": "cleanup_t_address_payable", + "nodeType": "YulIdentifier", + "src": "18363:25:6" + }, + "nodeType": "YulFunctionCall", + "src": "18363:32:6" } ], "functionName": { - "name": "shl", + "name": "eq", "nodeType": "YulIdentifier", - "src": "8002:3:6" + "src": "18353:2:6" }, "nodeType": "YulFunctionCall", - "src": "8002:20:6" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7992:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "7992:31:6" - }, - "nodeType": "YulExpressionStatement", - "src": "7992:31:6" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8039:1:6", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8042:4:6", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8032:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "8032:15:6" - }, - "nodeType": "YulExpressionStatement", - "src": "8032:15:6" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8063:1:6", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8066:4:6", - "type": "", - "value": "0x24" + "src": "18353:43:6" } ], "functionName": { - "name": "revert", + "name": "iszero", "nodeType": "YulIdentifier", - "src": "8056:6:6" + "src": "18346:6:6" }, "nodeType": "YulFunctionCall", - "src": "8056:15:6" + "src": "18346:51:6" }, - "nodeType": "YulExpressionStatement", - "src": "8056:15:6" + "nodeType": "YulIf", + "src": "18343:2:6" } ] }, - "name": "panic_error_0x11", + "name": "validator_revert_t_address_payable", "nodeType": "YulFunctionDefinition", - "src": "7950:127:6" + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "18326:5:6", + "type": "" + } + ], + "src": "18282:138:6" }, { "body": { "nodeType": "YulBlock", - "src": "8129:86:6", + "src": "18466:76:6", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "8193:16:6", + "src": "18520:16:6", "statements": [ { "expression": { @@ -5979,14 +9644,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "8202:1:6", + "src": "18529:1:6", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8205:1:6", + "src": "18532:1:6", "type": "", "value": "0" } @@ -5994,13 +9659,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "8195:6:6" + "src": "18522:6:6" }, "nodeType": "YulFunctionCall", - "src": "8195:12:6" + "src": "18522:12:6" }, "nodeType": "YulExpressionStatement", - "src": "8195:12:6" + "src": "18522:12:6" } ] }, @@ -6011,111 +9676,68 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "8152:5:6" + "src": "18489:5:6" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "8163:5:6" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8178:3:6", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8183:1:6", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "8174:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "8174:11:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8187:1:6", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "8170:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "8170:19:6" + "src": "18511:5:6" } ], "functionName": { - "name": "and", + "name": "cleanup_t_bool", "nodeType": "YulIdentifier", - "src": "8159:3:6" + "src": "18496:14:6" }, "nodeType": "YulFunctionCall", - "src": "8159:31:6" + "src": "18496:21:6" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "8149:2:6" + "src": "18486:2:6" }, "nodeType": "YulFunctionCall", - "src": "8149:42:6" + "src": "18486:32:6" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "8142:6:6" + "src": "18479:6:6" }, "nodeType": "YulFunctionCall", - "src": "8142:50:6" + "src": "18479:40:6" }, "nodeType": "YulIf", - "src": "8139:2:6" + "src": "18476:2:6" } ] }, - "name": "validator_revert_t_address", + "name": "validator_revert_t_bool", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "8118:5:6", + "src": "18459:5:6", "type": "" } ], - "src": "8082:133:6" + "src": "18426:116:6" }, { "body": { "nodeType": "YulBlock", - "src": "8264:76:6", + "src": "18591:79:6", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "8318:16:6", + "src": "18648:16:6", "statements": [ { "expression": { @@ -6123,14 +9745,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "8327:1:6", + "src": "18657:1:6", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8330:1:6", + "src": "18660:1:6", "type": "", "value": "0" } @@ -6138,13 +9760,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "8320:6:6" + "src": "18650:6:6" }, "nodeType": "YulFunctionCall", - "src": "8320:12:6" + "src": "18650:12:6" }, "nodeType": "YulExpressionStatement", - "src": "8320:12:6" + "src": "18650:12:6" } ] }, @@ -6155,80 +9777,69 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "8287:5:6" + "src": "18614:5:6" }, { "arguments": [ { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8308:5:6" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "8301:6:6" - }, - "nodeType": "YulFunctionCall", - "src": "8301:13:6" + "name": "value", + "nodeType": "YulIdentifier", + "src": "18639:5:6" } ], "functionName": { - "name": "iszero", + "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "8294:6:6" + "src": "18621:17:6" }, "nodeType": "YulFunctionCall", - "src": "8294:21:6" + "src": "18621:24:6" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "8284:2:6" + "src": "18611:2:6" }, "nodeType": "YulFunctionCall", - "src": "8284:32:6" + "src": "18611:35:6" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "8277:6:6" + "src": "18604:6:6" }, "nodeType": "YulFunctionCall", - "src": "8277:40:6" + "src": "18604:43:6" }, "nodeType": "YulIf", - "src": "8274:2:6" + "src": "18601:2:6" } ] }, - "name": "validator_revert_t_bool", + "name": "validator_revert_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "8253:5:6", + "src": "18584:5:6", "type": "" } ], - "src": "8220:120:6" + "src": "18548:122:6" } ] }, - "contents": "{\n { }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := calldataload(headStart)\n validator_revert_t_address(value)\n value0 := value\n }\n function abi_decode_tuple_t_address_payable(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := calldataload(headStart)\n validator_revert_t_address(value)\n value0 := value\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(value1, value1) }\n let value := calldataload(headStart)\n validator_revert_t_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_t_address(value_1)\n value1 := value_1\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n let value := mload(headStart)\n validator_revert_t_bool(value)\n value0 := value\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n value0 := mload(headStart)\n }\n function abi_decode_tuple_t_uint256t_boolt_address(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(value0, value0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n validator_revert_t_bool(value)\n value1 := value\n let value_1 := calldataload(add(headStart, 64))\n validator_revert_t_address(value_1)\n value2 := value_1\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n let tail_1 := add(headStart, _1)\n mstore(headStart, _1)\n let pos := tail_1\n let length := mload(value0)\n mstore(tail_1, length)\n pos := add(headStart, 64)\n let srcPtr := add(value0, _1)\n let i := tail\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_stringliteral_32ea112dcb61457845498aa22384476c9df97ef6cf5696f8777ea00b1e4090b1_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 64)\n mstore(add(headStart, 64), 36)\n mstore(add(headStart, 96), \"If this is not 0, there was an e\")\n mstore(add(headStart, 128), \"rror\")\n tail := add(headStart, 160)\n mstore(add(headStart, 0x20), value0)\n }\n function abi_encode_tuple_t_stringliteral_33aebce51cebc1d7a804cac67786205e44686c5f6c0dfdcaaa23961518079af0_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 64)\n mstore(add(headStart, 64), 35)\n mstore(add(headStart, 96), \"Exchange Rate (scaled up by 1e18\")\n mstore(add(headStart, 128), \"): \")\n tail := add(headStart, 160)\n mstore(add(headStart, 0x20), value0)\n }\n function abi_encode_tuple_t_stringliteral_48b7a0baac09175ffa7884a2d5aa95e238fd9814c62dfb962cc278d32292f4bb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"Already enrolled\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_60003323d73a4c13327cfaa2a8d8fe88065dce5b6000d4910be114bf7db7ab30_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 64)\n mstore(add(headStart, 64), 27)\n mstore(add(headStart, 96), \"Exchange Rate (scaled up): \")\n tail := add(headStart, 128)\n mstore(add(headStart, 0x20), value0)\n }\n function abi_encode_tuple_t_stringliteral_62e5a51f7160e94c03bd94dca3de2ee225284130303648a60d547e2dc2fc0233_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 64)\n mstore(add(headStart, 64), 24)\n mstore(add(headStart, 96), \"Supply Rate: (scaled up)\")\n tail := add(headStart, 128)\n mstore(add(headStart, 0x20), value0)\n }\n function abi_encode_tuple_t_stringliteral_7b0248c8ab69ffcfe6f3b094480b3dfdc31226061479921adc7cd0fb5baf7c35__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), \"Error amount, can't withdraw mor\")\n mstore(add(headStart, 96), \"e than deposit\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_98bb0d434888d1b812a0a4194c9568f0648e9ed0f8cbde68f7f17a68afe7b6cd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 11)\n mstore(add(headStart, 64), \"Not allowed\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 14)\n mstore(add(headStart, 64), \"Not authorized\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_fb11453b6c78aa27b60cb68bf4fe797153c8722a422197eb0962704a1b341201_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 64)\n mstore(add(headStart, 64), 32)\n mstore(add(headStart, 96), \"Supply Rate: (scaled up by 1e18)\")\n tail := add(headStart, 128)\n mstore(add(headStart, 32), 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 checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function 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 panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function validator_revert_t_address(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function validator_revert_t_bool(value)\n {\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n}", + "contents": "{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_address_payable(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address_payable(value)\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address_payable(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_payable(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256t_boolt_address(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encodeUpdatedPos_t_address_to_t_address(value0, pos) -> updatedPos {\n abi_encode_t_address_to_t_address(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n // address[] -> address[]\n function abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_address_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_address_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_address_to_t_address(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_address_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_stringliteral_32ea112dcb61457845498aa22384476c9df97ef6cf5696f8777ea00b1e4090b1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_32ea112dcb61457845498aa22384476c9df97ef6cf5696f8777ea00b1e4090b1(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_33aebce51cebc1d7a804cac67786205e44686c5f6c0dfdcaaa23961518079af0_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\n store_literal_in_memory_33aebce51cebc1d7a804cac67786205e44686c5f6c0dfdcaaa23961518079af0(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_48b7a0baac09175ffa7884a2d5aa95e238fd9814c62dfb962cc278d32292f4bb_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 16)\n store_literal_in_memory_48b7a0baac09175ffa7884a2d5aa95e238fd9814c62dfb962cc278d32292f4bb(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_60003323d73a4c13327cfaa2a8d8fe88065dce5b6000d4910be114bf7db7ab30_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 27)\n store_literal_in_memory_60003323d73a4c13327cfaa2a8d8fe88065dce5b6000d4910be114bf7db7ab30(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_62e5a51f7160e94c03bd94dca3de2ee225284130303648a60d547e2dc2fc0233_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_62e5a51f7160e94c03bd94dca3de2ee225284130303648a60d547e2dc2fc0233(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_7b0248c8ab69ffcfe6f3b094480b3dfdc31226061479921adc7cd0fb5baf7c35_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 46)\n store_literal_in_memory_7b0248c8ab69ffcfe6f3b094480b3dfdc31226061479921adc7cd0fb5baf7c35(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_98bb0d434888d1b812a0a4194c9568f0648e9ed0f8cbde68f7f17a68afe7b6cd_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 11)\n store_literal_in_memory_98bb0d434888d1b812a0a4194c9568f0648e9ed0f8cbde68f7f17a68afe7b6cd(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 14)\n store_literal_in_memory_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_fb11453b6c78aa27b60cb68bf4fe797153c8722a422197eb0962704a1b341201_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_fb11453b6c78aa27b60cb68bf4fe797153c8722a422197eb0962704a1b341201(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_stringliteral_32ea112dcb61457845498aa22384476c9df97ef6cf5696f8777ea00b1e4090b1_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_32ea112dcb61457845498aa22384476c9df97ef6cf5696f8777ea00b1e4090b1_to_t_string_memory_ptr_fromStack( tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_stringliteral_33aebce51cebc1d7a804cac67786205e44686c5f6c0dfdcaaa23961518079af0_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_33aebce51cebc1d7a804cac67786205e44686c5f6c0dfdcaaa23961518079af0_to_t_string_memory_ptr_fromStack( tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_stringliteral_48b7a0baac09175ffa7884a2d5aa95e238fd9814c62dfb962cc278d32292f4bb__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_48b7a0baac09175ffa7884a2d5aa95e238fd9814c62dfb962cc278d32292f4bb_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_60003323d73a4c13327cfaa2a8d8fe88065dce5b6000d4910be114bf7db7ab30_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_60003323d73a4c13327cfaa2a8d8fe88065dce5b6000d4910be114bf7db7ab30_to_t_string_memory_ptr_fromStack( tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_stringliteral_62e5a51f7160e94c03bd94dca3de2ee225284130303648a60d547e2dc2fc0233_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_62e5a51f7160e94c03bd94dca3de2ee225284130303648a60d547e2dc2fc0233_to_t_string_memory_ptr_fromStack( tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_stringliteral_7b0248c8ab69ffcfe6f3b094480b3dfdc31226061479921adc7cd0fb5baf7c35__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_7b0248c8ab69ffcfe6f3b094480b3dfdc31226061479921adc7cd0fb5baf7c35_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_98bb0d434888d1b812a0a4194c9568f0648e9ed0f8cbde68f7f17a68afe7b6cd__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_98bb0d434888d1b812a0a4194c9568f0648e9ed0f8cbde68f7f17a68afe7b6cd_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_fb11453b6c78aa27b60cb68bf4fe797153c8722a422197eb0962704a1b341201_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fb11453b6c78aa27b60cb68bf4fe797153c8722a422197eb0962704a1b341201_to_t_string_memory_ptr_fromStack( tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_dataslot_t_array$_t_address_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function array_length_t_array$_t_address_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_nextElement_t_array$_t_address_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n function array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function increment_t_uint8(value) -> ret {\n value := cleanup_t_uint8(value)\n if eq(value, 0xff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function store_literal_in_memory_32ea112dcb61457845498aa22384476c9df97ef6cf5696f8777ea00b1e4090b1(memPtr) {\n\n mstore(add(memPtr, 0), \"If this is not 0, there was an e\")\n\n mstore(add(memPtr, 32), \"rror\")\n\n }\n\n function store_literal_in_memory_33aebce51cebc1d7a804cac67786205e44686c5f6c0dfdcaaa23961518079af0(memPtr) {\n\n mstore(add(memPtr, 0), \"Exchange Rate (scaled up by 1e18\")\n\n mstore(add(memPtr, 32), \"): \")\n\n }\n\n function store_literal_in_memory_48b7a0baac09175ffa7884a2d5aa95e238fd9814c62dfb962cc278d32292f4bb(memPtr) {\n\n mstore(add(memPtr, 0), \"Already enrolled\")\n\n }\n\n function store_literal_in_memory_60003323d73a4c13327cfaa2a8d8fe88065dce5b6000d4910be114bf7db7ab30(memPtr) {\n\n mstore(add(memPtr, 0), \"Exchange Rate (scaled up): \")\n\n }\n\n function store_literal_in_memory_62e5a51f7160e94c03bd94dca3de2ee225284130303648a60d547e2dc2fc0233(memPtr) {\n\n mstore(add(memPtr, 0), \"Supply Rate: (scaled up)\")\n\n }\n\n function store_literal_in_memory_7b0248c8ab69ffcfe6f3b094480b3dfdc31226061479921adc7cd0fb5baf7c35(memPtr) {\n\n mstore(add(memPtr, 0), \"Error amount, can't withdraw mor\")\n\n mstore(add(memPtr, 32), \"e than deposit\")\n\n }\n\n function store_literal_in_memory_98bb0d434888d1b812a0a4194c9568f0648e9ed0f8cbde68f7f17a68afe7b6cd(memPtr) {\n\n mstore(add(memPtr, 0), \"Not allowed\")\n\n }\n\n function store_literal_in_memory_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36(memPtr) {\n\n mstore(add(memPtr, 0), \"Not authorized\")\n\n }\n\n function store_literal_in_memory_fb11453b6c78aa27b60cb68bf4fe797153c8722a422197eb0962704a1b341201(memPtr) {\n\n mstore(add(memPtr, 0), \"Supply Rate: (scaled up by 1e18)\")\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_address_payable(value) {\n if iszero(eq(value, cleanup_t_address_payable(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n", "id": 6, "language": "Yul", "name": "#utility.yul" } ], - "sourceMap": "93:5138:1:-:0;;;506:292;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;620:8;:20;;-1:-1:-1;;;;;650:14:1;;;620:20;650:14;;;-1:-1:-1;;;;;;620:20:1;;;-1:-1:-1;;620:20:1;;;;650:14;;;;;;;;;;;683:5;;;;;674:15;;:8;:15;;;;;;;;:19;;;710:5;;;;;;;703:13;;:6;:13;;;;;:20;;;;;-1:-1:-1;703:20:1;;;;;;733;;-1:-1:-1;;;;733:20:1;;;;763:28;;;;;;;;;;;;;;;-1:-1:-1;;;;;;763:28:1;785:5;;;;;;;763:28;;;;;;93:5138;;14:482:6;;;151:2;139:9;130:7;126:23;122:32;119:2;;;172:6;164;157:22;119:2;209:9;203:16;262:5;255:13;248:21;241:5;238:32;228:2;;289:6;281;274:22;228:2;367;352:18;;346:25;317:5;;-1:-1:-1;;;;;;402:33:6;;390:46;;380:2;;455:6;447;440:22;380:2;483:7;473:17;;;109:387;;;;;:::o;:::-;93:5138:1;;;;;;", - "deployedSourceMap": "93:5138:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4800:152;;;;;;;;;;-1:-1:-1;4800:152:1;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4629:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;4202:325::-;;;;;;;;;;;;;:::i;260:43::-;;;;;;;;;;-1:-1:-1;260:43:1;;;;;:::i;:::-;;:::i;221:33::-;;;;;;;;;;-1:-1:-1;221:33:1;;;;;:::i;:::-;;:::i;2684:558::-;;;;;;;;;;-1:-1:-1;2684:558:1;;;;;:::i;:::-;;:::i;3248:684::-;;;;;;;;;;-1:-1:-1;3248:684:1;;;;;:::i;:::-;;:::i;918:1050:3:-;;;;;;;;;;-1:-1:-1;918:1050:3;;;;;:::i;:::-;;:::i;1962:609:1:-;;;;;;:::i;:::-;;:::i;159:20::-;;;;;;;;;;;;;:::i;4715:79::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;151:761:3:-;;;;;;:::i;:::-;;:::i;4533:90:1:-;;;;;;;;;;;;;:::i;4958:119::-;;;;;;;;;;-1:-1:-1;4958:119:1;;;;;:::i;:::-;;:::i;4054:93::-;;;;;;;;;;;;;:::i;957:373::-;;;;;;;;;;-1:-1:-1;957:373:1;;;;;:::i;:::-;;:::i;2907:844:3:-;;;;;;;;;;-1:-1:-1;2907:844:3;;;;;:::i;:::-;;:::i;1472:484:1:-;;;:::i;5120:109::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;309:38::-;;;;;;;;;;-1:-1:-1;309:38:1;;;;;:::i;:::-;;:::i;4800:152::-;-1:-1:-1;;;;;4924:21:1;4894:7;4924:21;;;:8;:21;;;;;;;4800:152::o;4629:80::-;4671:7;4697:5;;;;-1:-1:-1;;;;;4697:5:1;4629:80;;:::o;4202:325::-;4273:16;:23;4250:7;;4269:67;;-1:-1:-1;4324:1:1;4317:8;;4269:67;4345:11;4375:13;4370:131;4402:16;:23;4394:31;;4370:131;;;4457:8;:33;4466:16;4483:5;4466:23;;;;;;-1:-1:-1;;;4466:23:1;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4466:23:1;4457:33;;;;;;;;;;;;;4450:40;;;;:::i;:::-;;-1:-1:-1;4427:7:1;;;;:::i;:::-;;;;4370:131;;;-1:-1:-1;4517:3:1;-1:-1:-1;4202:325:1;:::o;260:43::-;;;;;;;;;;;;;:::o;221:33::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;221:33:1;;-1:-1:-1;221:33:1;:::o;2684:558::-;2809:10;2758:20;2802:18;;;:6;:18;;;;;;;;:26;;:18;:26;2794:50;;;;-1:-1:-1;;;2794:50:1;;;;;;;:::i;:::-;;;;;;;;;2889:10;2880:20;;;;:8;:20;;;;;;2862:38;;;2854:97;;;;-1:-1:-1;;;2854:97:1;;;;;;;:::i;:::-;3065:10;3056:20;;;;:8;:20;;;;;;3038:38;;3034:165;;3101:10;3092:20;;;;:8;:20;;;;;:38;;3116:14;;3092:20;:38;;3116:14;;3092:38;:::i;:::-;;;;-1:-1:-1;;3144:44:1;;3152:10;;3144:44;;;;;3173:14;;3144:44;;;;3173:14;3152:10;3144:44;;;;;;;;;;;;;;;;;;;;;3034:165;-1:-1:-1;;3224:10:1;3215:20;;;;:8;:20;;;;;;;2684:558::o;3248:684::-;3434:10;3383:20;3427:18;;;:6;:18;;;;;;;;:26;;:18;:26;3419:50;;;;-1:-1:-1;;;3419:50:1;;;;;;;:::i;:::-;3514:10;3505:20;;;;:8;:20;;;;;;3487:38;;;3479:97;;;;-1:-1:-1;;;3479:97:1;;;;;;;:::i;:::-;3659:55;3670:14;3686:10;3698:15;3659:10;:55::i;:::-;-1:-1:-1;3755:10:1;3746:20;;;;:8;:20;;;;;;3728:38;;3724:165;;3791:10;3782:20;;;;:8;:20;;;;;:38;;3806:14;;3782:20;:38;;3806:14;;3782:38;:::i;:::-;;;;-1:-1:-1;;3834:44:1;;3842:10;;3834:44;;;;;3863:14;;3834:44;;;;3863:14;3842:10;3834:44;;;;;;;;;;;;;;;;;;;;;3724:165;-1:-1:-1;3914:10:1;3905:20;;;;:8;:20;;;;;;3248:684;;;;;:::o;918:1050:3:-;1072:4;1162:16;1187:14;1162:40;;1291:13;1314:15;1291:39;;1410:28;1441:6;-1:-1:-1;;;;;1441:26:3;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1410:59;;-1:-1:-1;;;;;;;;;;;1521:20:3;1484:58;;;;;;:::i;:::-;;;;;;;;1610:26;1639:6;-1:-1:-1;;;;;1639:25:3;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1610:56;;-1:-1:-1;;;;;;;;;;;1715:18:3;1681:53;;;;;;:::i;:::-;;;;;;;;1795:55;;-1:-1:-1;;;1795:55:3;;-1:-1:-1;;;;;1795:18:3;;;-1:-1:-1;;1795:55:3;;1814:15;;1831:18;;1795:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1903:31:3;;-1:-1:-1;;;1903:31:3;;1885:15;;-1:-1:-1;;;;;1903:11:3;;;;;:31;;1915:18;;1903:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1885:49;918:1050;-1:-1:-1;;;;;;;;;918:1050:3:o;1962:609:1:-;2118:10;2080:7;2111:18;;;:6;:18;;;;;;;;:26;;:18;:26;;:46;;-1:-1:-1;2141:8:1;;;;:16;;:8;:16;2111:46;2103:70;;;;-1:-1:-1;;;2103:70:1;;;;;;;:::i;:::-;2187:22;2198:10;2187;:22::i;:::-;2183:204;;2234:16;:18;;-1:-1:-1;;;2234:18:1;;;;;:16;:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2266:33:1;;;;;;;;;;;-1:-1:-1;;;;;;2266:33:1;2288:10;2266:33;;;;;;-1:-1:-1;2313:20:1;;;:8;2266:33;2313:20;;;;;;;:24;;;2351:6;:18;;;;;:25;;-1:-1:-1;;2351:25:1;;;;;;2183:204;2405:10;2396:20;;;;:8;:20;;;;;:33;;2420:9;;2396:20;:33;;2420:9;;2396:33;:::i;:::-;;;;-1:-1:-1;2439:36:1;;-1:-1:-1;2459:15:1;2439:19;:36::i;:::-;-1:-1:-1;2490:37:1;;2505:10;;2490:37;;;;2517:9;;2490:37;:::i;:::-;;;;;;;;-1:-1:-1;;2553:10:1;2544:20;;;;:8;:20;;;;;;;1962:609::o;159:20::-;;;;;;-1:-1:-1;;;;;159:20:1;;:::o;4715:79::-;4756:4;4779:8;;;4715:79;:::o;151:761:3:-;261:4;348:11;367:15;348:35;;463:28;494:6;-1:-1:-1;;;;;494:26:3;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;463:59;;-1:-1:-1;;;;;;;;;;;582:20:3;537:66;;;;;;:::i;:::-;;;;;;;;671:26;700:6;-1:-1:-1;;;;;700:25:3;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;671:56;;-1:-1:-1;;;;;;;;;;;784:18:3;742:61;;;;;;:::i;:::-;;;;;;;;853:6;-1:-1:-1;;;;;853:11:3;;872:9;853:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;901:4:3;;151:761;-1:-1:-1;;;;;;;;;151:761:3:o;4533:90:1:-;4574:4;4597:5;;;;-1:-1:-1;;;;;4597:5:1;4606:10;4597:19;4533:90;:::o;4958:119::-;-1:-1:-1;;;;;5043:19:1;5020:4;5043:19;;;:6;:19;;;;;;;;:27;;-1:-1:-1;5043:27:1;;4958:119::o;4054:93::-;4129:10;4094:7;4120:20;;;:8;:20;;;;;;4054:93;:::o;957:373::-;1010:7;1051:5;;;;;-1:-1:-1;;;;;1051:5:1;1037:10;:19;1029:46;;;;-1:-1:-1;;;1029:46:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;1093:19:1;;;;;;:6;:19;;;;;;;;:28;1085:57;;;;-1:-1:-1;;;1085:57:1;;;;;;;:::i;:::-;1152:16;:18;;-1:-1:-1;;;1152:18:1;;;;;:16;:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1180:34:1;;;;;;;;;;;-1:-1:-1;;;;;1180:34:1;;;;-1:-1:-1;;;;;;1180:34:1;;;;;;;-1:-1:-1;1224:21:1;;;:8;1180:34;1224:21;;;;;;;:25;;;1259:6;:19;;;;:26;;-1:-1:-1;;1259:26:1;;;;;;;1302:21;;;;957:373::o;2907:844:3:-;3031:4;3133:15;3031:4;3269;3255:18;;;;3251:289;;;3364:21;;-1:-1:-1;;;3364:21:3;;-1:-1:-1;;;;;3364:13:3;;;-1:-1:-1;;3364:21:3;;3378:6;;3364:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3349:36;;3251:289;;;3498:31;;-1:-1:-1;;;3498:31:3;;-1:-1:-1;;;;;3498:23:3;;;-1:-1:-1;;3498:31:3;;3522:6;;3498:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3483:46;;3251:289;-1:-1:-1;;;;;;;;;;;3709:12:3;3663:59;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;3740:4:3;;2907:844;-1:-1:-1;;;;;2907:844:3:o;1472:484:1:-;1549:10;1515:7;1542:18;;;:6;:18;;;;;;;;:26;;:18;:26;;:46;;-1:-1:-1;1572:8:1;;;;:16;;:8;:16;1542:46;1534:70;;;;-1:-1:-1;;;1534:70:1;;;;;;;:::i;:::-;1618:22;1629:10;1618;:22::i;:::-;1614:204;;1665:16;:18;;-1:-1:-1;;;1665:18:1;;;;;:16;:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1697:33:1;;;;;;;;;;;-1:-1:-1;;;;;;1697:33:1;1719:10;1697:33;;;;;;-1:-1:-1;1744:20:1;;;:8;1697:33;1744:20;;;;;;;:24;;;1782:6;:18;;;;;:25;;-1:-1:-1;;1782:25:1;;;;;;1614:204;1836:10;1827:20;;;;:8;:20;;;;;:33;;1851:9;;1827:20;:33;;1851:9;;1827:33;:::i;:::-;;;;-1:-1:-1;;1875:37:1;;1890:10;;1875:37;;;;1902:9;;1875:37;:::i;:::-;;;;;;;;-1:-1:-1;1938:10:1;1929:20;;;;:8;:20;;;;;;1472:484;:::o;5120:109::-;5171:16;5206;5199:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5199:23:1;;;-1:-1:-1;5199:23:1;;;;;;;;;;;;;;;;;;;5120:109;:::o;309:38::-;;;;;;;;;;;;;;;:::o;14:259:6:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:33;237:5;210:33;:::i;:::-;262:5;84:189;-1:-1:-1;;;84:189:6:o;550:470::-;;;;696:2;684:9;675:7;671:23;667:32;664:2;;;717:6;709;702:22;664:2;761:9;748:23;780:33;807:5;780:33;:::i;:::-;832:5;-1:-1:-1;889:2:6;874:18;;861:32;902:35;861:32;902:35;:::i;:::-;654:366;;956:7;;-1:-1:-1;;;1010:2:6;995:18;;;;982:32;;654:366::o;1025:257::-;;1145:2;1133:9;1124:7;1120:23;1116:32;1113:2;;;1166:6;1158;1151:22;1113:2;1203:9;1197:16;1222:30;1246:5;1222:30;:::i;1287:190::-;;1399:2;1387:9;1378:7;1374:23;1370:32;1367:2;;;1420:6;1412;1405:22;1367:2;-1:-1:-1;1448:23:6;;1357:120;-1:-1:-1;1357:120:6:o;1482:194::-;;1605:2;1593:9;1584:7;1580:23;1576:32;1573:2;;;1626:6;1618;1611:22;1573:2;-1:-1:-1;1654:16:6;;1563:113;-1:-1:-1;1563:113:6:o;1681:464::-;;;;1824:2;1812:9;1803:7;1799:23;1795:32;1792:2;;;1845:6;1837;1830:22;1792:2;1886:9;1873:23;1863:33;;1946:2;1935:9;1931:18;1918:32;1959:30;1983:5;1959:30;:::i;:::-;2008:5;-1:-1:-1;2065:2:6;2050:18;;2037:32;2078:35;2037:32;2078:35;:::i;:::-;2132:7;2122:17;;;1782:363;;;;;:::o;2150:203::-;-1:-1:-1;;;;;2314:32:6;;;;2296:51;;2284:2;2269:18;;2251:102::o;2358:274::-;-1:-1:-1;;;;;2550:32:6;;;;2532:51;;2614:2;2599:18;;2592:34;2520:2;2505:18;;2487:145::o;2637:661::-;2808:2;2860:21;;;2930:13;;2833:18;;;2952:22;;;2637:661;;2808:2;3031:15;;;;3005:2;2990:18;;;2637:661;3077:195;3091:6;3088:1;3085:13;3077:195;;;3156:13;;-1:-1:-1;;;;;3152:39:6;3140:52;;3247:15;;;;3212:12;;;;-1:-1:-1;3106:9:6;3077:195;;;-1:-1:-1;3289:3:6;;2788:510;-1:-1:-1;;;;;;2788:510:6:o;3303:187::-;3468:14;;3461:22;3443:41;;3431:2;3416:18;;3398:92::o;3495:474::-;3725:2;3707:21;;;3764:2;3744:18;;;3737:30;3803:34;3798:2;3783:18;;3776:62;-1:-1:-1;;;3869:3:6;3854:19;;3847:35;3949:4;3934:20;;3927:36;;;;3914:3;3899:19;;3697:272::o;3974:473::-;4204:2;4186:21;;;4243:2;4223:18;;;4216:30;4282:34;4277:2;4262:18;;4255:62;-1:-1:-1;;;4348:3:6;4333:19;;4326:34;4427:4;4412:20;;4405:36;;;;4392:3;4377:19;;4176:271::o;4452:340::-;4654:2;4636:21;;;4693:2;4673:18;;;4666:30;-1:-1:-1;;;4727:2:6;4712:18;;4705:46;4783:2;4768:18;;4626:166::o;4797:425::-;5027:2;5009:21;;;5066:2;5046:18;;;5039:30;5105:29;5100:2;5085:18;;5078:57;5202:4;5187:20;;5180:36;;;;5167:3;5152:19;;4999:223::o;5227:422::-;5457:2;5439:21;;;5496:2;5476:18;;;5469:30;5535:26;5530:2;5515:18;;5508:54;5629:4;5614:20;;5607:36;;;;5594:3;5579:19;;5429:220::o;5654:410::-;5856:2;5838:21;;;5895:2;5875:18;;;5868:30;5934:34;5929:2;5914:18;;5907:62;-1:-1:-1;;;6000:2:6;5985:18;;5978:44;6054:3;6039:19;;5828:236::o;6069:335::-;6271:2;6253:21;;;6310:2;6290:18;;;6283:30;-1:-1:-1;;;6344:2:6;6329:18;;6322:41;6395:2;6380:18;;6243:161::o;6409:338::-;6611:2;6593:21;;;6650:2;6630:18;;;6623:30;-1:-1:-1;;;6684:2:6;6669:18;;6662:44;6738:2;6723:18;;6583:164::o;6752:428::-;6982:2;6964:21;;;7021:2;7001:18;;;6994:30;;;7060:34;7055:2;7040:18;;7033:62;7147:18;;7140:34;;;;7127:3;7112:19;;6954:226::o;7185:177::-;7331:25;;;7319:2;7304:18;;7286:76::o;7367:128::-;;7438:1;7434:6;7431:1;7428:13;7425:2;;;7444:18;;:::i;:::-;-1:-1:-1;7480:9:6;;7415:80::o;7500:125::-;;7568:1;7565;7562:8;7559:2;;;7573:18;;:::i;:::-;-1:-1:-1;7610:9:6;;7549:76::o;7630:135::-;;-1:-1:-1;;7690:17:6;;7687:2;;;7710:18;;:::i;:::-;-1:-1:-1;7757:1:6;7746:13;;7677:88::o;7770:175::-;;7851:4;7844:5;7840:16;7880:4;7871:7;7868:17;7865:2;;;7888:18;;:::i;:::-;7937:1;7924:15;;7815:130;-1:-1:-1;;7815:130:6:o;7950:127::-;8011:10;8006:3;8002:20;7999:1;7992:31;8042:4;8039:1;8032:15;8066:4;8063:1;8056:15;8082:133;-1:-1:-1;;;;;8159:31:6;;8149:42;;8139:2;;8205:1;8202;8195:12;8139:2;8129:86;:::o;8220:120::-;8308:5;8301:13;8294:21;8287:5;8284:32;8274:2;;8330:1;8327;8320:12", + "sourceMap": "93:5138:1:-:0;;;506:292;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;631:9;620:8;;:20;;;;;;;;;;;;;;;;;;658:6;650:5;;:14;;;;;;;;;;;;;;;;;;692:1;674:8;:15;683:5;;;;;;;;;;;674:15;;;;;;;;;;;;;;;:19;;;;719:4;703:6;:13;710:5;;;;;;;;;;;703:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;752:1;733:16;;:20;;;;;;;;;;;;;;;;;;763:16;785:5;;;;;;;;;;;763:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;506:292;;93:5138;;7:143:6;;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;70:80;;;;:::o;156:137::-;;241:6;235:13;226:22;;257:30;281:5;257:30;:::i;:::-;216:77;;;;:::o;299:434::-;;;432:2;420:9;411:7;407:23;403:32;400:2;;;448:1;445;438:12;400:2;491:1;516:61;569:7;560:6;549:9;545:22;516:61;:::i;:::-;506:71;;462:125;626:2;652:64;708:7;699:6;688:9;684:22;652:64;:::i;:::-;642:74;;597:129;390:343;;;;;:::o;739:96::-;;805:24;823:5;805:24;:::i;:::-;794:35;;784:51;;;:::o;841:90::-;;918:5;911:13;904:21;893:32;;883:48;;;:::o;937:126::-;;1014:42;1007:5;1003:54;992:65;;982:81;;;:::o;1069:122::-;1142:24;1160:5;1142:24;:::i;:::-;1135:5;1132:35;1122:2;;1181:1;1178;1171:12;1122:2;1112:79;:::o;1197:116::-;1267:21;1282:5;1267:21;:::i;:::-;1260:5;1257:32;1247:2;;1303:1;1300;1293:12;1247:2;1237:76;:::o;93:5138:1:-;;;;;;;", + "deployedSourceMap": "93:5138:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4800:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4629:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4202:325;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;260:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;221:33;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2684:558;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3248:684;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;918:1050:3;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1962:609:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;159:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4715:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;151:761:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4533:90:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4958:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4054:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;957:373;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2907:844:3;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1974:927;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1472:484:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5120:109;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;309:38;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4800:152;4894:7;4924:8;:21;4933:11;4924:21;;;;;;;;;;;;;;;;4917:28;;4800:152;;;:::o;4629:80::-;4671:7;4697:5;;;;;;;;;;;4690:12;;4629:80;:::o;4202:325::-;4250:7;4300:1;4273:16;:23;;;;:28;4269:67;;;4324:1;4317:8;;;;4269:67;4345:11;4375:13;4370:131;4402:16;:23;;;;4394:5;:31;4370:131;;;4457:8;:33;4466:16;4483:5;4466:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4457:33;;;;;;;;;;;;;;;;4450:40;;;;;:::i;:::-;;;4427:7;;;;;:::i;:::-;;;;4370:131;;;;4517:3;4510:10;;;4202:325;;:::o;260:43::-;;;;;;;;;;;;;;;;;:::o;221:33::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2684:558::-;2758:20;2824:4;2802:26;;:6;:18;2809:10;2802:18;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;2794:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;2880:8;:20;2889:10;2880:20;;;;;;;;;;;;;;;;2862:14;:38;;2854:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;3056:8;:20;3065:10;3056:20;;;;;;;;;;;;;;;;3038:14;:38;3034:165;;3116:14;3092:8;:20;3101:10;3092:20;;;;;;;;;;;;;;;;:38;;;;;;;:::i;:::-;;;;;;;;3152:10;3144:28;;:44;3173:14;3144:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3034:165;3215:8;:20;3224:10;3215:20;;;;;;;;;;;;;;;;3208:27;;2684:558;;;:::o;3248:684::-;3383:20;3449:4;3427:26;;:6;:18;3434:10;3427:18;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;3419:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;3505:8;:20;3514:10;3505:20;;;;;;;;;;;;;;;;3487:14;:38;;3479:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;3659:55;3670:14;3686:10;3698:15;3659:10;:55::i;:::-;;3746:8;:20;3755:10;3746:20;;;;;;;;;;;;;;;;3728:14;:38;3724:165;;3806:14;3782:8;:20;3791:10;3782:20;;;;;;;;;;;;;;;;:38;;;;;;;:::i;:::-;;;;;;;;3842:10;3834:28;;:44;3863:14;3834:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3724:165;3905:8;:20;3914:10;3905:20;;;;;;;;;;;;;;;;3898:27;;3248:684;;;;;:::o;918:1050:3:-;1072:4;1162:16;1187:14;1162:40;;1291:13;1314:15;1291:39;;1410:28;1441:6;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1410:59;;1484:58;1521:20;1484:58;;;;;;:::i;:::-;;;;;;;;1610:26;1639:6;:25;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1610:56;;1681:53;1715:18;1681:53;;;;;;:::i;:::-;;;;;;;;1795:10;:18;;;1814:15;1831:18;1795:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1885:15;1903:6;:11;;;1915:18;1903:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1885:49;;1951:10;1944:17;;;;;;;918:1050;;;;;:::o;1962:609:1:-;2080:7;2133:4;2111:26;;:6;:18;2118:10;2111:18;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;:46;;;;2153:4;2141:16;;:8;;;;;;;;;;:16;;;2111:46;2103:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;2213:5;2187:31;;:22;2198:10;2187;:22::i;:::-;:31;;;2183:204;;;2234:16;;:18;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;2266:16;2288:10;2266:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2336:1;2313:8;:20;2322:10;2313:20;;;;;;;;;;;;;;;:24;;;;2372:4;2351:6;:18;2358:10;2351:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;2183:204;2420:9;2396:8;:20;2405:10;2396:20;;;;;;;;;;;;;;;;:33;;;;;;;:::i;:::-;;;;;;;;2439:36;2459:15;2439:19;:36::i;:::-;;2505:10;2490:37;;;2517:9;2490:37;;;;;;:::i;:::-;;;;;;;;2544:8;:20;2553:10;2544:20;;;;;;;;;;;;;;;;2537:27;;1962:609;;;:::o;159:20::-;;;;;;;;;;;;;:::o;4715:79::-;4756:4;4779:8;;;;;;;;;;;4772:15;;4715:79;:::o;151:761:3:-;261:4;348:11;367:15;348:35;;463:28;494:6;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;463:59;;537:66;582:20;537:66;;;;;;:::i;:::-;;;;;;;;671:26;700:6;:25;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;671:56;;742:61;784:18;742:61;;;;;;:::i;:::-;;;;;;;;853:6;:11;;;872:9;853:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;901:4;894:11;;;;;151:761;;;:::o;4533:90:1:-;4574:4;4606:10;4597:19;;:5;;;;;;;;;;;:19;;;4590:26;;4533:90;:::o;4958:119::-;5020:4;5066;5043:27;;:6;:19;5050:11;5043:19;;;;;;;;;;;;;;;;;;;;;;;;;:27;;;5036:34;;4958:119;;;:::o;4054:93::-;4094:7;4120:8;:20;4129:10;4120:20;;;;;;;;;;;;;;;;4113:27;;4054:93;:::o;957:373::-;1010:7;1051:5;;;;;;;;;;;1037:19;;:10;:19;;;1029:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1116:5;1093:28;;:6;:19;1100:11;1093:19;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;1085:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;1152:16;;:18;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;1180:16;1202:11;1180:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1248:1;1224:8;:21;1233:11;1224:21;;;;;;;;;;;;;;;:25;;;;1281:4;1259:6;:19;1266:11;1259:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;1302:8;:21;1311:11;1302:21;;;;;;;;;;;;;;;;1295:28;;957:373;;;:::o;2907:844:3:-;3031:4;3114:11;3133:15;3114:35;;3220:20;3269:4;3255:18;;:10;:18;;;3251:289;;;3364:6;:13;;;3378:6;3364:21;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3349:36;;3251:289;;;3498:6;:23;;;3522:6;3498:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3483:46;;3251:289;3663:59;3709:12;3663:59;;;;;;:::i;:::-;;;;;;;;3740:4;3733:11;;;;2907:844;;;;;:::o;1974:927::-;2106:4;2200:13;2223:15;2200:39;;2364:20;2413:4;2399:18;;:10;:18;;;2395:289;;;2508:6;:13;;;2522:6;2508:21;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2493:36;;2395:289;;;2642:6;:23;;;2666:6;2642:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2627:46;;2395:289;2813:59;2859:12;2813:59;;;;;;:::i;:::-;;;;;;;;2890:4;2883:11;;;;1974:927;;;;;:::o;1472:484:1:-;1515:7;1564:4;1542:26;;:6;:18;1549:10;1542:18;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;:46;;;;1584:4;1572:16;;:8;;;;;;;;;;:16;;;1542:46;1534:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;1644:5;1618:31;;:22;1629:10;1618;:22::i;:::-;:31;;;1614:204;;;1665:16;;:18;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;1697:16;1719:10;1697:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1767:1;1744:8;:20;1753:10;1744:20;;;;;;;;;;;;;;;:24;;;;1803:4;1782:6;:18;1789:10;1782:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;1614:204;1851:9;1827:8;:20;1836:10;1827:20;;;;;;;;;;;;;;;;:33;;;;;;;:::i;:::-;;;;;;;;1890:10;1875:37;;;1902:9;1875:37;;;;;;:::i;:::-;;;;;;;;1929:8;:20;1938:10;1929:20;;;;;;;;;;;;;;;;1922:27;;1472:484;:::o;5120:109::-;5171:16;5206;5199:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5120:109;:::o;309:38::-;;;;;;;;;;;;;;;;;;;;;;:::o;7:139:6:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:155::-;;244:6;231:20;222:29;;260:41;295:5;260:41;:::i;:::-;212:95;;;;:::o;313:133::-;;394:6;381:20;372:29;;410:30;434:5;410:30;:::i;:::-;362:84;;;;:::o;452:137::-;;537:6;531:13;522:22;;553:30;577:5;553:30;:::i;:::-;512:77;;;;:::o;595:139::-;;679:6;666:20;657:29;;695:33;722:5;695:33;:::i;:::-;647:87;;;;:::o;740:143::-;;828:6;822:13;813:22;;844:33;871:5;844:33;:::i;:::-;803:80;;;;:::o;889:262::-;;997:2;985:9;976:7;972:23;968:32;965:2;;;1013:1;1010;1003:12;965:2;1056:1;1081:53;1126:7;1117:6;1106:9;1102:22;1081:53;:::i;:::-;1071:63;;1027:117;955:196;;;;:::o;1157:278::-;;1273:2;1261:9;1252:7;1248:23;1244:32;1241:2;;;1289:1;1286;1279:12;1241:2;1332:1;1357:61;1410:7;1401:6;1390:9;1386:22;1357:61;:::i;:::-;1347:71;;1303:125;1231:204;;;;:::o;1441:552::-;;;;1583:2;1571:9;1562:7;1558:23;1554:32;1551:2;;;1599:1;1596;1589:12;1551:2;1642:1;1667:53;1712:7;1703:6;1692:9;1688:22;1667:53;:::i;:::-;1657:63;;1613:117;1769:2;1795:53;1840:7;1831:6;1820:9;1816:22;1795:53;:::i;:::-;1785:63;;1740:118;1897:2;1923:53;1968:7;1959:6;1948:9;1944:22;1923:53;:::i;:::-;1913:63;;1868:118;1541:452;;;;;:::o;1999:278::-;;2115:2;2103:9;2094:7;2090:23;2086:32;2083:2;;;2131:1;2128;2121:12;2083:2;2174:1;2199:61;2252:7;2243:6;2232:9;2228:22;2199:61;:::i;:::-;2189:71;;2145:125;2073:204;;;;:::o;2283:262::-;;2391:2;2379:9;2370:7;2366:23;2362:32;2359:2;;;2407:1;2404;2397:12;2359:2;2450:1;2475:53;2520:7;2511:6;2500:9;2496:22;2475:53;:::i;:::-;2465:63;;2421:117;2349:196;;;;:::o;2551:284::-;;2670:2;2658:9;2649:7;2645:23;2641:32;2638:2;;;2686:1;2683;2676:12;2638:2;2729:1;2754:64;2810:7;2801:6;2790:9;2786:22;2754:64;:::i;:::-;2744:74;;2700:128;2628:207;;;;:::o;2841:546::-;;;;2980:2;2968:9;2959:7;2955:23;2951:32;2948:2;;;2996:1;2993;2986:12;2948:2;3039:1;3064:53;3109:7;3100:6;3089:9;3085:22;3064:53;:::i;:::-;3054:63;;3010:117;3166:2;3192:50;3234:7;3225:6;3214:9;3210:22;3192:50;:::i;:::-;3182:60;;3137:115;3291:2;3317:53;3362:7;3353:6;3342:9;3338:22;3317:53;:::i;:::-;3307:63;;3262:118;2938:449;;;;;:::o;3393:179::-;;3483:46;3525:3;3517:6;3483:46;:::i;:::-;3561:4;3556:3;3552:14;3538:28;;3473:99;;;;:::o;3578:108::-;3655:24;3673:5;3655:24;:::i;:::-;3650:3;3643:37;3633:53;;:::o;3692:118::-;3779:24;3797:5;3779:24;:::i;:::-;3774:3;3767:37;3757:53;;:::o;3846:732::-;;3994:54;4042:5;3994:54;:::i;:::-;4064:86;4143:6;4138:3;4064:86;:::i;:::-;4057:93;;4174:56;4224:5;4174:56;:::i;:::-;4253:7;4284:1;4269:284;4294:6;4291:1;4288:13;4269:284;;;4370:6;4364:13;4397:63;4456:3;4441:13;4397:63;:::i;:::-;4390:70;;4483:60;4536:6;4483:60;:::i;:::-;4473:70;;4329:224;4316:1;4313;4309:9;4304:14;;4269:284;;;4273:14;4569:3;4562:10;;3970:608;;;;;;;:::o;4584:109::-;4665:21;4680:5;4665:21;:::i;:::-;4660:3;4653:34;4643:50;;:::o;4699:366::-;;4862:67;4926:2;4921:3;4862:67;:::i;:::-;4855:74;;4938:93;5027:3;4938:93;:::i;:::-;5056:2;5051:3;5047:12;5040:19;;4845:220;;;:::o;5071:366::-;;5234:67;5298:2;5293:3;5234:67;:::i;:::-;5227:74;;5310:93;5399:3;5310:93;:::i;:::-;5428:2;5423:3;5419:12;5412:19;;5217:220;;;:::o;5443:366::-;;5606:67;5670:2;5665:3;5606:67;:::i;:::-;5599:74;;5682:93;5771:3;5682:93;:::i;:::-;5800:2;5795:3;5791:12;5784:19;;5589:220;;;:::o;5815:366::-;;5978:67;6042:2;6037:3;5978:67;:::i;:::-;5971:74;;6054:93;6143:3;6054:93;:::i;:::-;6172:2;6167:3;6163:12;6156:19;;5961:220;;;:::o;6187:366::-;;6350:67;6414:2;6409:3;6350:67;:::i;:::-;6343:74;;6426:93;6515:3;6426:93;:::i;:::-;6544:2;6539:3;6535:12;6528:19;;6333:220;;;:::o;6559:366::-;;6722:67;6786:2;6781:3;6722:67;:::i;:::-;6715:74;;6798:93;6887:3;6798:93;:::i;:::-;6916:2;6911:3;6907:12;6900:19;;6705:220;;;:::o;6931:366::-;;7094:67;7158:2;7153:3;7094:67;:::i;:::-;7087:74;;7170:93;7259:3;7170:93;:::i;:::-;7288:2;7283:3;7279:12;7272:19;;7077:220;;;:::o;7303:366::-;;7466:67;7530:2;7525:3;7466:67;:::i;:::-;7459:74;;7542:93;7631:3;7542:93;:::i;:::-;7660:2;7655:3;7651:12;7644:19;;7449:220;;;:::o;7675:366::-;;7838:67;7902:2;7897:3;7838:67;:::i;:::-;7831:74;;7914:93;8003:3;7914:93;:::i;:::-;8032:2;8027:3;8023:12;8016:19;;7821:220;;;:::o;8047:118::-;8134:24;8152:5;8134:24;:::i;:::-;8129:3;8122:37;8112:53;;:::o;8171:222::-;;8302:2;8291:9;8287:18;8279:26;;8315:71;8383:1;8372:9;8368:17;8359:6;8315:71;:::i;:::-;8269:124;;;;:::o;8399:332::-;;8558:2;8547:9;8543:18;8535:26;;8571:71;8639:1;8628:9;8624:17;8615:6;8571:71;:::i;:::-;8652:72;8720:2;8709:9;8705:18;8696:6;8652:72;:::i;:::-;8525:206;;;;;:::o;8737:373::-;;8918:2;8907:9;8903:18;8895:26;;8967:9;8961:4;8957:20;8953:1;8942:9;8938:17;8931:47;8995:108;9098:4;9089:6;8995:108;:::i;:::-;8987:116;;8885:225;;;;:::o;9116:210::-;;9241:2;9230:9;9226:18;9218:26;;9254:65;9316:1;9305:9;9301:17;9292:6;9254:65;:::i;:::-;9208:118;;;;:::o;9332:529::-;;9564:2;9553:9;9549:18;9541:26;;9613:9;9607:4;9603:20;9599:1;9588:9;9584:17;9577:47;9641:131;9767:4;9641:131;:::i;:::-;9633:139;;9782:72;9850:2;9839:9;9835:18;9826:6;9782:72;:::i;:::-;9531:330;;;;:::o;9867:529::-;;10099:2;10088:9;10084:18;10076:26;;10148:9;10142:4;10138:20;10134:1;10123:9;10119:17;10112:47;10176:131;10302:4;10176:131;:::i;:::-;10168:139;;10317:72;10385:2;10374:9;10370:18;10361:6;10317:72;:::i;:::-;10066:330;;;;:::o;10402:419::-;;10606:2;10595:9;10591:18;10583:26;;10655:9;10649:4;10645:20;10641:1;10630:9;10626:17;10619:47;10683:131;10809:4;10683:131;:::i;:::-;10675:139;;10573:248;;;:::o;10827:529::-;;11059:2;11048:9;11044:18;11036:26;;11108:9;11102:4;11098:20;11094:1;11083:9;11079:17;11072:47;11136:131;11262:4;11136:131;:::i;:::-;11128:139;;11277:72;11345:2;11334:9;11330:18;11321:6;11277:72;:::i;:::-;11026:330;;;;:::o;11362:529::-;;11594:2;11583:9;11579:18;11571:26;;11643:9;11637:4;11633:20;11629:1;11618:9;11614:17;11607:47;11671:131;11797:4;11671:131;:::i;:::-;11663:139;;11812:72;11880:2;11869:9;11865:18;11856:6;11812:72;:::i;:::-;11561:330;;;;:::o;11897:419::-;;12101:2;12090:9;12086:18;12078:26;;12150:9;12144:4;12140:20;12136:1;12125:9;12121:17;12114:47;12178:131;12304:4;12178:131;:::i;:::-;12170:139;;12068:248;;;:::o;12322:419::-;;12526:2;12515:9;12511:18;12503:26;;12575:9;12569:4;12565:20;12561:1;12550:9;12546:17;12539:47;12603:131;12729:4;12603:131;:::i;:::-;12595:139;;12493:248;;;:::o;12747:419::-;;12951:2;12940:9;12936:18;12928:26;;13000:9;12994:4;12990:20;12986:1;12975:9;12971:17;12964:47;13028:131;13154:4;13028:131;:::i;:::-;13020:139;;12918:248;;;:::o;13172:529::-;;13404:2;13393:9;13389:18;13381:26;;13453:9;13447:4;13443:20;13439:1;13428:9;13424:17;13417:47;13481:131;13607:4;13481:131;:::i;:::-;13473:139;;13622:72;13690:2;13679:9;13675:18;13666:6;13622:72;:::i;:::-;13371:330;;;;:::o;13707:222::-;;13838:2;13827:9;13823:18;13815:26;;13851:71;13919:1;13908:9;13904:17;13895:6;13851:71;:::i;:::-;13805:124;;;;:::o;13935:132::-;;14025:3;14017:11;;14055:4;14050:3;14046:14;14038:22;;14007:60;;;:::o;14073:114::-;;14174:5;14168:12;14158:22;;14147:40;;;:::o;14193:113::-;;14295:4;14290:3;14286:14;14278:22;;14268:38;;;:::o;14312:184::-;;14445:6;14440:3;14433:19;14485:4;14480:3;14476:14;14461:29;;14423:73;;;;:::o;14502:169::-;;14620:6;14615:3;14608:19;14660:4;14655:3;14651:14;14636:29;;14598:73;;;;:::o;14677:305::-;;14736:20;14754:1;14736:20;:::i;:::-;14731:25;;14770:20;14788:1;14770:20;:::i;:::-;14765:25;;14924:1;14856:66;14852:74;14849:1;14846:81;14843:2;;;14930:18;;:::i;:::-;14843:2;14974:1;14971;14967:9;14960:16;;14721:261;;;;:::o;14988:191::-;;15048:20;15066:1;15048:20;:::i;:::-;15043:25;;15082:20;15100:1;15082:20;:::i;:::-;15077:25;;15121:1;15118;15115:8;15112:2;;;15126:18;;:::i;:::-;15112:2;15171:1;15168;15164:9;15156:17;;15033:146;;;;:::o;15185:96::-;;15251:24;15269:5;15251:24;:::i;:::-;15240:35;;15230:51;;;:::o;15287:104::-;;15361:24;15379:5;15361:24;:::i;:::-;15350:35;;15340:51;;;:::o;15397:90::-;;15474:5;15467:13;15460:21;15449:32;;15439:48;;;:::o;15493:126::-;;15570:42;15563:5;15559:54;15548:65;;15538:81;;;:::o;15625:77::-;;15691:5;15680:16;;15670:32;;;:::o;15708:86::-;;15783:4;15776:5;15772:16;15761:27;;15751:43;;;:::o;15800:233::-;;15862:24;15880:5;15862:24;:::i;:::-;15853:33;;15908:66;15901:5;15898:77;15895:2;;;15978:18;;:::i;:::-;15895:2;16025:1;16018:5;16014:13;16007:20;;15843:190;;;:::o;16039:167::-;;16099:22;16115:5;16099:22;:::i;:::-;16090:31;;16143:4;16136:5;16133:15;16130:2;;;16151:18;;:::i;:::-;16130:2;16198:1;16191:5;16187:13;16180:20;;16080:126;;;:::o;16212:180::-;16260:77;16257:1;16250:88;16357:4;16354:1;16347:15;16381:4;16378:1;16371:15;16398:223;16538:34;16534:1;16526:6;16522:14;16515:58;16607:6;16602:2;16594:6;16590:15;16583:31;16504:117;:::o;16627:222::-;16767:34;16763:1;16755:6;16751:14;16744:58;16836:5;16831:2;16823:6;16819:15;16812:30;16733:116;:::o;16855:166::-;16995:18;16991:1;16983:6;16979:14;16972:42;16961:60;:::o;17027:177::-;17167:29;17163:1;17155:6;17151:14;17144:53;17133:71;:::o;17210:174::-;17350:26;17346:1;17338:6;17334:14;17327:50;17316:68;:::o;17390:233::-;17530:34;17526:1;17518:6;17514:14;17507:58;17599:16;17594:2;17586:6;17582:15;17575:41;17496:127;:::o;17629:161::-;17769:13;17765:1;17757:6;17753:14;17746:37;17735:55;:::o;17796:164::-;17936:16;17932:1;17924:6;17920:14;17913:40;17902:58;:::o;17966:182::-;18106:34;18102:1;18094:6;18090:14;18083:58;18072:76;:::o;18154:122::-;18227:24;18245:5;18227:24;:::i;:::-;18220:5;18217:35;18207:2;;18266:1;18263;18256:12;18207:2;18197:79;:::o;18282:138::-;18363:32;18389:5;18363:32;:::i;:::-;18356:5;18353:43;18343:2;;18410:1;18407;18400:12;18343:2;18333:87;:::o;18426:116::-;18496:21;18511:5;18496:21;:::i;:::-;18489:5;18486:32;18476:2;;18532:1;18529;18522:12;18476:2;18466:76;:::o;18548:122::-;18621:24;18639:5;18621:24;:::i;:::-;18614:5;18611:35;18601:2;;18660:1;18657;18650:12;18601:2;18591:79;:::o", "source": "// SPDX-License-Identifier: MIT\npragma solidity >=0.8.0;\n\nimport \"./compound/Compound.sol\";\n\ncontract PoolFactory is Compound {\n bool private isPublic;\n address public owner;\n uint8 private participantCount;\n address[] public participantsList;\n mapping(address => uint256) public balances;\n mapping(address => bool) public exists;\n\n // Log the event about a deposit being made by an address and its amount\n event LogDepositMade(address indexed accountAddress, uint256 amount);\n\n constructor(bool _isPublic, address _owner) {\n /* Set the owner to the creator of this contract */\n isPublic = _isPublic;\n owner = _owner;\n balances[owner] = 0;\n exists[owner] = true;\n participantCount = 0;\n participantsList.push(owner);\n }\n\n /// @notice Enroll a customer with the bank,\n /// Only the owner can enroll a participant\n /// @return The balance of the user after enrolling\n function enroll(address participant) public returns (uint256) {\n require(msg.sender == owner, \"Not authorized\");\n require(exists[participant] == false, \"Already enrolled\");\n participantCount++;\n participantsList.push(participant);\n balances[participant] = 0;\n exists[participant] = true;\n return balances[participant];\n }\n\n /// @notice Deposit ether into bank, requires method is \"payable\"\n /// @return The balance of the user after the deposit is made\n function deposit() public payable returns (uint256) {\n require(exists[msg.sender] == true || isPublic == true, \"Not allowed\");\n if (is_allowed(msg.sender) == false) {\n participantCount++;\n participantsList.push(msg.sender);\n balances[msg.sender] = 0;\n exists[msg.sender] = true;\n }\n balances[msg.sender] += msg.value;\n emit LogDepositMade(msg.sender, msg.value);\n return balances[msg.sender];\n }\n\n function deposit_and_invest_compound(address payable _cEtherContract)\n public\n payable\n returns (uint256)\n {\n require(exists[msg.sender] == true || isPublic == true, \"Not allowed\");\n if (is_allowed(msg.sender) == false) {\n participantCount++;\n participantsList.push(msg.sender);\n balances[msg.sender] = 0;\n exists[msg.sender] = true;\n }\n balances[msg.sender] += msg.value;\n supplyEthToCompound(_cEtherContract);\n emit LogDepositMade(msg.sender, msg.value);\n return balances[msg.sender];\n }\n\n /// @notice Withdraw ether from bank\n /// @return remainingBal : the balance remaining for the user\n function withdraw(uint256 withdrawAmount)\n public\n returns (uint256 remainingBal)\n {\n require(exists[msg.sender] == true, \"Not allowed\");\n require(withdrawAmount <= balances[msg.sender], \"Error amount, can't withdraw more than deposit\");\n // Check enough balance available, otherwise just return balance\n if (withdrawAmount <= balances[msg.sender]) {\n balances[msg.sender] -= withdrawAmount;\n payable(msg.sender).transfer(withdrawAmount);\n }\n return balances[msg.sender];\n }\n\n function withdraw_and_redeem(uint256 withdrawAmount, bool redeemType,\n address _cEtherContract)\n public\n returns (uint256 remainingBal)\n {\n require(exists[msg.sender] == true, \"Not allowed\");\n require(withdrawAmount <= balances[msg.sender], \"Error amount, can't withdraw more than deposit\");\n // Check enough balance available, otherwise just return balance\n redeemCEth(withdrawAmount, redeemType, _cEtherContract);\n if (withdrawAmount <= balances[msg.sender]) {\n balances[msg.sender] -= withdrawAmount;\n payable(msg.sender).transfer(withdrawAmount);\n }\n return balances[msg.sender];\n }\n\n /// @notice Just reads balance of the account requesting, so \"constant\"\n /// @return The balance of the user\n function balance() public view returns (uint256) {\n return balances[msg.sender];\n }\n\n /// @return The balance of the Pool contract\n function depositsBalance() public view returns (uint256) {\n if (participantsList.length == 0) {\n return 0;\n }\n uint256 res = 0;\n for (uint256 index = 0; index < participantsList.length; index++) {\n res += balances[participantsList[index]];\n }\n return res;\n }\n\n function is_owner() public view returns (bool) {\n return owner == msg.sender;\n }\n\n function get_owner() public view returns (address) {\n return owner;\n }\n\n function is_public() public view returns(bool) {\n return isPublic;\n }\n\n function balanceParticipant(address participant)\n public\n view\n returns (uint256)\n {\n return balances[participant];\n }\n\n function is_allowed(address participant) public view returns (bool) {\n return exists[participant] == true;\n }\n\n /// @return the participant list\n function getParticipantList() public view returns (address[] memory) {\n return participantsList;\n }\n}\n", "sourcePath": "/home/eddine/Documents/project/blockchain/Ohreee/pool-contracts/contracts/PoolFactory.sol", "ast": { @@ -18701,7 +22312,7 @@ }, "networks": {}, "schemaVersion": "3.3.2", - "updatedAt": "2021-04-18T23:44:31.379Z", + "updatedAt": "2021-04-19T00:26:12.595Z", "devdoc": { "kind": "dev", "methods": { diff --git a/src/contracts/PoolRecorder.json b/src/contracts/PoolRecorder.json index 02e232e..8a717c6 100644 --- a/src/contracts/PoolRecorder.json +++ b/src/contracts/PoolRecorder.json @@ -11098,10 +11098,30 @@ "links": {}, "address": "0x59b4baBe32C46f7e628a6e80E97BD09Ff5Ab40B4", "transactionHash": "0x2b4a134821907b4ae49f7a12c1fcac8708cd71ccb1c6b45a348943bb5a3051c1" + }, + "3": { + "events": { + "0x73cca62ab1b520c9715bf4e6c71e3e518c754e7148f65102f43289a7df0efea6": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "poolAddress", + "type": "address" + } + ], + "name": "PoolAdded", + "type": "event" + } + }, + "links": {}, + "address": "0xB57438F28d45Fd9c5A22D29228867Cfb6f99A0be", + "transactionHash": "0x1b174484ff00801b6c29bb36181b9b216cce317f55af309d4a8392319a437c7b" } }, "schemaVersion": "3.3.2", - "updatedAt": "2021-04-19T00:26:32.533Z", + "updatedAt": "2021-04-19T15:04:37.605Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/src/drizzleOptions.js b/src/drizzleOptions.js index a12ff9c..2fe254e 100644 --- a/src/drizzleOptions.js +++ b/src/drizzleOptions.js @@ -9,13 +9,13 @@ const options = { url: 'ws://127.0.0.1:8545' } }, - contracts: [PoolRecorder], + contracts: [], events: { }, polls: { //check the blockchain every 5s - accounts: 1000, - blocks: 1000 + accounts: 5000, + blocks: 5000 } } diff --git a/src/views/DetailsPool.vue b/src/views/DetailsPool.vue index 4ac5401..020deb3 100644 --- a/src/views/DetailsPool.vue +++ b/src/views/DetailsPool.vue @@ -179,7 +179,7 @@ export default { newAddressParticipant: "", var1: "", var2: "", compoundCEthContract : null, - ceth_address: '0x4ddc2d193948926d02f9b1fe9e1daa0718270ed5' + ceth_address: '0xd6801a1dffcd0a410336ef88def4320d6df1883e' }; }, diff --git a/src/views/Home.vue b/src/views/Home.vue index 1994bc9..c1fc57b 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -41,6 +41,7 @@ import { mapGetters } from "vuex"; import Card from "../components/home/card-pool.vue"; import Newcard from "../components/home/newcard.vue"; +const PoolRecorder = require("../contracts/PoolRecorder.json") export default { components: { @@ -79,11 +80,21 @@ export default { }, }, created() { - this.$store.dispatch("drizzle/REGISTER_CONTRACT", { - contractName: "PoolRecorder", // i.e. TwistedAuctionMock - method: "getListPools", - methodArgs: [], // No args required for this method - }); + if (!("PoolRecorder" in this.drizzleInstance.contracts)) { + var contractConfig = { + contractName: "PoolRecorder", + web3Contract: new this.drizzleInstance.web3.eth.Contract( + PoolRecorder.abi, + "0xB57438F28d45Fd9c5A22D29228867Cfb6f99A0be" + ), + }; + this.drizzleInstance.addContract(contractConfig); + this.$store.dispatch("drizzle/REGISTER_CONTRACT", { + contractName: "PoolRecorder", // i.e. TwistedAuctionMock + method: "getListPools", + methodArgs: [], // No args required for this method + }); + } }, };