diff --git a/src/abis/BEBadge.json b/src/abis/BEBadge.json new file mode 100644 index 0000000..f8ae6d3 --- /dev/null +++ b/src/abis/BEBadge.json @@ -0,0 +1,5851 @@ +{ + "contractName": "BEBadge", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + } + ], + "name": "BatchMint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Lock", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "UnLock", + "type": "event" + }, + { + "inputs": [], + "name": "BURN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "LOCK_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MINTER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "lockedTokens", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + } + ], + "name": "batchMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "factory", + "type": "address" + } + ], + "name": "setMintFactory", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "factory", + "type": "address" + } + ], + "name": "removeMintFactory", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "proxy", + "type": "address" + } + ], + "name": "grantBurnRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "proxy", + "type": "address" + } + ], + "name": "revokeBurnProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantLockRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeLockRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "lock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "unlock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "isLocked", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "baseTokenURI", + "type": "string" + } + ], + "name": "updateBaseURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"BatchMint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Lock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UnLock\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BURN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LOCK_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"batchMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"grantBurnRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantLockRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"isLocked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"lock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"lockedTokens\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"}],\"name\":\"removeMintFactory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"revokeBurnProxy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeLockRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"}],\"name\":\"setMintFactory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"unlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseTokenURI\",\"type\":\"string\"}],\"name\":\"updateBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(address,uint256)\":{\"details\":\"Burns `tokenId`. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantBurnRole(address)\":{\"details\":\"Add factory to burn item\"},\"grantLockRole(address)\":{\"details\":\"Add address to lock item\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"isLocked(uint256)\":{\"details\":\"Get lock status\"},\"lock(uint256)\":{\"details\":\"Lock token to use in game or for rental\"},\"mint(address,uint256)\":{\"details\":\"Creates a new token for `to`. Its token ID will be automatically assigned (and available on the emitted {IERC721-Transfer} event), and the token URI autogenerated based on the base URI passed at construction. See {ERC721-_mint}. Requirements: - the caller must have the `MINTER_ROLE`.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"removeMintFactory(address)\":{\"details\":\"Remove factory\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`.\"},\"revokeBurnProxy(address)\":{\"details\":\"Remove proxy\"},\"revokeLockRole(address)\":{\"details\":\"Remove address for lock item\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setMintFactory(address)\":{\"details\":\"Add factory to mint item\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"unlock(uint256)\":{\"details\":\"Unlock token to use blockchain or sale on marketplace\"},\"updateBaseURI(string)\":{\"details\":\"Set token URI\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/tokens/erc721/BEBadge.sol\":\"BEBadge\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x4a1a0ba12bf1a33f10d9fe226278cf59675c0b929d29e4da99658a079b27fb84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bda1319db846d6d6f92d8a57a9bdee8bde1dc39aa7546165791692c24dd6f30a\",\"dweb:/ipfs/Qma5oZ7DmbdAjd8mpiW7mx896PDtwsQtCQ2hj9Upf7b7JK\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x11b84bb56dc112a6590bfe3e0efa118aa1b5891132342200d04c4ef544cb93de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbc4803332d45dff58f865ed21c942fe4668e47cc7196c8dfe84102040b1d70f\",\"dweb:/ipfs/QmXhZLsocznRWCSyhjo3vo66Z1VsuuNptAVb6ASPYsWtGx\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xd5fa74b4fb323776fa4a8158800fec9d5ac0fec0d6dd046dd93798632ada265f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33017a30a99cc5411a9e376622c31fc4a55cfc6a335e2f57f00cbf24a817ff3f\",\"dweb:/ipfs/QmWNQtWTPhA7Lo8nbxbc8KFMvZwbFYB8fSeEQ3vuapSV4a\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\":{\"keccak256\":\"0x0a79511df8151b10b0a0004d6a76ad956582d32824af4c0f4886bdbdfe5746e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afbedcf17f31db719e6fdc56caa8f458799c5fa2eb94cb1e94ef18f89af85768\",\"dweb:/ipfs/QmVmqRdBfbgYThpZSoAJ5o9mnAMjx8mCHHjv3Rh8cQAAg3\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x2ccf9d2313a313d41a791505f2b5abfdc62191b5d4334f7f7a82691c088a1c87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a57d0854b2fdce6ebff933a48dca2445643d1eccfc27f00292e937f26c6a58\",\"dweb:/ipfs/QmW45rZooS9TqR4YXUbjRbtf2Bpb5ouSarBvfW1LdGprvV\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"project:/contracts/tokens/erc721/BEBadge.sol\":{\"keccak256\":\"0xb19110f02ee6776dc13e136c16f4cc6d1ac19f0f02385bae52355207321077d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://830d4ec01c9b33eab3174ffeabb0277b1e8c89581c983b2f78e125234820db33\",\"dweb:/ipfs/Qmcp6whpxEThzjVnM6tGDpsVGSZnDSZd2TipTDD1RxSVia\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "", + "deployedSourceMap": "", + "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\";\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\n\nabstract contract BEBadge is AccessControl, ERC721Enumerable, Ownable {\n mapping(uint256 => bool) public lockedTokens;\n string private _baseTokenURI = \"https://market.cebg.games/api/nft/info/\";\n bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n bytes32 public constant BURN_ROLE = keccak256(\"BURN_ROLE\");\n bytes32 public constant LOCK_ROLE = keccak256(\"LOCK_ROLE\");\n\n event Lock(uint256 indexed tokenId);\n event UnLock(uint256 indexed tokenId);\n event BatchMint(address indexed to, uint256[] tokenIds);\n\n function _baseURI() internal view virtual override returns (string memory) {\n return _baseTokenURI;\n }\n\n /**\n * @dev Creates a new token for `to`. Its token ID will be automatically\n * assigned (and available on the emitted {IERC721-Transfer} event), and the token\n * URI autogenerated based on the base URI passed at construction.\n *\n * See {ERC721-_mint}.\n *\n * Requirements:\n *\n * - the caller must have the `MINTER_ROLE`.\n */\n function mint(\n address to,\n uint256 tokenId\n ) external virtual onlyRole(MINTER_ROLE) {\n require(!_exists(tokenId), \"Must have unique tokenId\");\n _mint(to, tokenId);\n }\n\n function batchMint(\n address to,\n uint256[] calldata tokenIds\n ) external onlyRole(MINTER_ROLE) {\n require(tokenIds.length <= 100, \"tokenIds too many\");\n for (uint256 i = 0; i < tokenIds.length; i++) {\n _mint(to, tokenIds[i]);\n }\n emit BatchMint(to, tokenIds);\n }\n\n /**\n * @dev Add factory to mint item\n */\n function setMintFactory(address factory) external onlyOwner {\n _grantRole(MINTER_ROLE, factory);\n }\n\n /**\n * @dev Remove factory\n */\n function removeMintFactory(address factory) external onlyOwner {\n _revokeRole(MINTER_ROLE, factory);\n }\n\n /**\n * @dev Add factory to burn item\n */\n function grantBurnRole(address proxy) external onlyOwner {\n _grantRole(BURN_ROLE, proxy);\n }\n\n /**\n * @dev Remove proxy\n */\n function revokeBurnProxy(address proxy) external onlyOwner {\n _revokeRole(BURN_ROLE, proxy);\n }\n\n /**\n * @dev Add address to lock item\n */\n function grantLockRole(address account) external onlyOwner {\n _grantRole(LOCK_ROLE, account);\n }\n\n /**\n * @dev Remove address for lock item\n */\n function revokeLockRole(address account) external onlyOwner {\n _revokeRole(LOCK_ROLE, account);\n }\n\n /**\n * @dev Lock token to use in game or for rental\n */\n function lock(uint256 tokenId) external onlyRole(LOCK_ROLE) {\n require(_exists(tokenId), \"Must be valid tokenId\");\n require(!lockedTokens[tokenId], \"Token has already locked\");\n lockedTokens[tokenId] = true;\n emit Lock(tokenId);\n }\n\n /**\n * @dev Unlock token to use blockchain or sale on marketplace\n */\n function unlock(uint256 tokenId) external onlyRole(LOCK_ROLE) {\n require(_exists(tokenId), \"Must be valid tokenId\");\n require(lockedTokens[tokenId], \"Token has already unlocked\");\n lockedTokens[tokenId] = false;\n emit UnLock(tokenId);\n }\n\n /**\n * @dev Get lock status\n */\n function isLocked(uint256 tokenId) external view returns (bool) {\n return lockedTokens[tokenId];\n }\n\n /**\n * @dev Set token URI\n */\n function updateBaseURI(string calldata baseTokenURI) external onlyOwner {\n _baseTokenURI = baseTokenURI;\n }\n\n /**\n * @dev See {IERC165-_beforeTokenTransfer}.\n */\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 tokenId\n ) internal virtual override(ERC721Enumerable) {\n require(!lockedTokens[tokenId], \"Can not transfer locked token\");\n super._beforeTokenTransfer(from, to, tokenId);\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(\n bytes4 interfaceId\n )\n public\n view\n virtual\n override(AccessControl, ERC721Enumerable)\n returns (bool)\n {\n return super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Burns `tokenId`.\n *\n * Requirements:\n *\n * - The caller must own `tokenId` or be an approved operator.\n */\n function burn(\n address owner,\n uint256 tokenId\n ) external virtual onlyRole(BURN_ROLE) {\n require(_exists(tokenId), \"TokenId not exists\");\n require(!lockedTokens[tokenId], \"Can not burn locked token\");\n require(\n ownerOf(tokenId) == owner,\n \"current address is not owner of this item now\"\n );\n _burn(tokenId);\n }\n}\n", + "sourcePath": "/Users/zhl/Documents/workspace/crypto/becrypto/contracts/tokens/erc721/BEBadge.sol", + "ast": { + "absolutePath": "project:/contracts/tokens/erc721/BEBadge.sol", + "exportedSymbols": { + "AccessControl": [ + 308 + ], + "Address": [ + 2177 + ], + "BEBadge": [ + 2831 + ], + "Context": [ + 2199 + ], + "ERC165": [ + 2426 + ], + "ERC721": [ + 1352 + ], + "ERC721Enumerable": [ + 1824 + ], + "IAccessControl": [ + 381 + ], + "IERC165": [ + 2438 + ], + "IERC721": [ + 1468 + ], + "IERC721Enumerable": [ + 1855 + ], + "IERC721Metadata": [ + 1882 + ], + "IERC721Receiver": [ + 1486 + ], + "Ownable": [ + 486 + ], + "Strings": [ + 2402 + ] + }, + "id": 2832, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2440, + "literals": [ + "solidity", + "0.8", + ".10" + ], + "nodeType": "PragmaDirective", + "src": "32:23:14" + }, + { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 2441, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2832, + "sourceUnit": 487, + "src": "56:52:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", + "file": "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", + "id": 2442, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2832, + "sourceUnit": 1825, + "src": "109:78:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/access/AccessControl.sol", + "file": "@openzeppelin/contracts/access/AccessControl.sol", + "id": 2443, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2832, + "sourceUnit": 309, + "src": "188:58:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 2444, + "name": "AccessControl", + "nodeType": "IdentifierPath", + "referencedDeclaration": 308, + "src": "277:13:14" + }, + "id": 2445, + "nodeType": "InheritanceSpecifier", + "src": "277:13:14" + }, + { + "baseName": { + "id": 2446, + "name": "ERC721Enumerable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1824, + "src": "292:16:14" + }, + "id": 2447, + "nodeType": "InheritanceSpecifier", + "src": "292:16:14" + }, + { + "baseName": { + "id": 2448, + "name": "Ownable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 486, + "src": "310:7:14" + }, + "id": 2449, + "nodeType": "InheritanceSpecifier", + "src": "310:7:14" + } + ], + "canonicalName": "BEBadge", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": false, + "id": 2831, + "linearizedBaseContracts": [ + 2831, + 486, + 1824, + 1855, + 1352, + 1882, + 1468, + 308, + 2426, + 2438, + 381, + 2199 + ], + "name": "BEBadge", + "nameLocation": "266:7:14", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "functionSelector": "dcec3294", + "id": 2453, + "mutability": "mutable", + "name": "lockedTokens", + "nameLocation": "354:12:14", + "nodeType": "VariableDeclaration", + "scope": 2831, + "src": "322:44:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + }, + "typeName": { + "id": 2452, + "keyType": { + "id": 2450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "330:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "322:24:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + }, + "valueType": { + "id": 2451, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "341:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 2456, + "mutability": "mutable", + "name": "_baseTokenURI", + "nameLocation": "385:13:14", + "nodeType": "VariableDeclaration", + "scope": 2831, + "src": "370:72:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 2454, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "370:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "hexValue": "68747470733a2f2f6d61726b65742e636562672e67616d65732f6170692f6e66742f696e666f2f", + "id": 2455, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "401:41:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a22360c1a10c8323f2bd626125be4905616eb83f03cca72bba7f9692c4900800", + "typeString": "literal_string \"https://market.cebg.games/api/nft/info/\"" + }, + "value": "https://market.cebg.games/api/nft/info/" + }, + "visibility": "private" + }, + { + "constant": true, + "functionSelector": "d5391393", + "id": 2461, + "mutability": "constant", + "name": "MINTER_ROLE", + "nameLocation": "470:11:14", + "nodeType": "VariableDeclaration", + "scope": 2831, + "src": "446:62:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2457, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "446:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4d494e5445525f524f4c45", + "id": 2459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "494:13:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6", + "typeString": "literal_string \"MINTER_ROLE\"" + }, + "value": "MINTER_ROLE" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6", + "typeString": "literal_string \"MINTER_ROLE\"" + } + ], + "id": 2458, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "484:9:14", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2460, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "484:24:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "b930908f", + "id": 2466, + "mutability": "constant", + "name": "BURN_ROLE", + "nameLocation": "536:9:14", + "nodeType": "VariableDeclaration", + "scope": 2831, + "src": "512:58:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2462, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "512:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4255524e5f524f4c45", + "id": 2464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "558:11:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22", + "typeString": "literal_string \"BURN_ROLE\"" + }, + "value": "BURN_ROLE" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22", + "typeString": "literal_string \"BURN_ROLE\"" + } + ], + "id": 2463, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "548:9:14", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "548:22:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "2f286b1b", + "id": 2471, + "mutability": "constant", + "name": "LOCK_ROLE", + "nameLocation": "598:9:14", + "nodeType": "VariableDeclaration", + "scope": 2831, + "src": "574:58:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2467, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "574:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4c4f434b5f524f4c45", + "id": 2469, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "620:11:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751", + "typeString": "literal_string \"LOCK_ROLE\"" + }, + "value": "LOCK_ROLE" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751", + "typeString": "literal_string \"LOCK_ROLE\"" + } + ], + "id": 2468, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "610:9:14", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2470, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "610:22:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "anonymous": false, + "id": 2475, + "name": "Lock", + "nameLocation": "643:4:14", + "nodeType": "EventDefinition", + "parameters": { + "id": 2474, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2473, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "664:7:14", + "nodeType": "VariableDeclaration", + "scope": 2475, + "src": "648:23:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2472, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "648:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "647:25:14" + }, + "src": "637:36:14" + }, + { + "anonymous": false, + "id": 2479, + "name": "UnLock", + "nameLocation": "682:6:14", + "nodeType": "EventDefinition", + "parameters": { + "id": 2478, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2477, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "705:7:14", + "nodeType": "VariableDeclaration", + "scope": 2479, + "src": "689:23:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2476, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "689:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "688:25:14" + }, + "src": "676:38:14" + }, + { + "anonymous": false, + "id": 2486, + "name": "BatchMint", + "nameLocation": "723:9:14", + "nodeType": "EventDefinition", + "parameters": { + "id": 2485, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2481, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "749:2:14", + "nodeType": "VariableDeclaration", + "scope": 2486, + "src": "733:18:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2480, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "733:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2484, + "indexed": false, + "mutability": "mutable", + "name": "tokenIds", + "nameLocation": "763:8:14", + "nodeType": "VariableDeclaration", + "scope": 2486, + "src": "753:18:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2482, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "753:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2483, + "nodeType": "ArrayTypeName", + "src": "753:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "732:40:14" + }, + "src": "717:56:14" + }, + { + "baseFunctions": [ + 703 + ], + "body": { + "id": 2494, + "nodeType": "Block", + "src": "852:31:14", + "statements": [ + { + "expression": { + "id": 2492, + "name": "_baseTokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2456, + "src": "865:13:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 2491, + "id": 2493, + "nodeType": "Return", + "src": "858:20:14" + } + ] + }, + "id": 2495, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_baseURI", + "nameLocation": "786:8:14", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 2488, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "819:8:14" + }, + "parameters": { + "id": 2487, + "nodeType": "ParameterList", + "parameters": [], + "src": "794:2:14" + }, + "returnParameters": { + "id": 2491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2490, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2495, + "src": "837:13:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2489, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "837:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "836:15:14" + }, + "scope": 2831, + "src": "777:106:14", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 2519, + "nodeType": "Block", + "src": "1328:89:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1342:17:14", + "subExpression": { + "arguments": [ + { + "id": 2508, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2500, + "src": "1351:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2507, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 925, + "src": "1343:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 2509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1343:16:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d757374206861766520756e6971756520746f6b656e4964", + "id": 2511, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1361:26:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_208a69e2fca5e7cc6edddcb6f96119aa390e348936b4eabbf929a28a3d6ee1b8", + "typeString": "literal_string \"Must have unique tokenId\"" + }, + "value": "Must have unique tokenId" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_208a69e2fca5e7cc6edddcb6f96119aa390e348936b4eabbf929a28a3d6ee1b8", + "typeString": "literal_string \"Must have unique tokenId\"" + } + ], + "id": 2506, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1334:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1334:54:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2513, + "nodeType": "ExpressionStatement", + "src": "1334:54:14" + }, + { + "expression": { + "arguments": [ + { + "id": 2515, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2498, + "src": "1400:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2516, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2500, + "src": "1404:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2514, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1076, + "src": "1394:5:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1394:18:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2518, + "nodeType": "ExpressionStatement", + "src": "1394:18:14" + } + ] + }, + "documentation": { + "id": 2496, + "nodeType": "StructuredDocumentation", + "src": "887:344:14", + "text": " @dev Creates a new token for `to`. Its token ID will be automatically\n assigned (and available on the emitted {IERC721-Transfer} event), and the token\n URI autogenerated based on the base URI passed at construction.\n See {ERC721-_mint}.\n Requirements:\n - the caller must have the `MINTER_ROLE`." + }, + "functionSelector": "40c10f19", + "id": 2520, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 2503, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2461, + "src": "1315:11:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2504, + "kind": "modifierInvocation", + "modifierName": { + "id": 2502, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "1306:8:14" + }, + "nodeType": "ModifierInvocation", + "src": "1306:21:14" + } + ], + "name": "mint", + "nameLocation": "1243:4:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2501, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2498, + "mutability": "mutable", + "name": "to", + "nameLocation": "1261:2:14", + "nodeType": "VariableDeclaration", + "scope": 2520, + "src": "1253:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2497, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1253:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2500, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1277:7:14", + "nodeType": "VariableDeclaration", + "scope": 2520, + "src": "1269:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2499, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1269:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1247:41:14" + }, + "returnParameters": { + "id": 2505, + "nodeType": "ParameterList", + "parameters": [], + "src": "1328:0:14" + }, + "scope": 2831, + "src": "1234:183:14", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "external" + }, + { + "body": { + "id": 2564, + "nodeType": "Block", + "src": "1524:185:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2532, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2525, + "src": "1538:8:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 2533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1538:15:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "313030", + "id": 2534, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1557:3:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1538:22:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "746f6b656e49647320746f6f206d616e79", + "id": 2536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1562:19:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", + "typeString": "literal_string \"tokenIds too many\"" + }, + "value": "tokenIds too many" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", + "typeString": "literal_string \"tokenIds too many\"" + } + ], + "id": 2531, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1530:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1530:52:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2538, + "nodeType": "ExpressionStatement", + "src": "1530:52:14" + }, + { + "body": { + "id": 2557, + "nodeType": "Block", + "src": "1634:37:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2551, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2522, + "src": "1648:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "baseExpression": { + "id": 2552, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2525, + "src": "1652:8:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 2554, + "indexExpression": { + "id": 2553, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2540, + "src": "1661:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1652:11:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2550, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1076, + "src": "1642:5:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1642:22:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2556, + "nodeType": "ExpressionStatement", + "src": "1642:22:14" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2543, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2540, + "src": "1608:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 2544, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2525, + "src": "1612:8:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 2545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1612:15:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1608:19:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2558, + "initializationExpression": { + "assignments": [ + 2540 + ], + "declarations": [ + { + "constant": false, + "id": 2540, + "mutability": "mutable", + "name": "i", + "nameLocation": "1601:1:14", + "nodeType": "VariableDeclaration", + "scope": 2558, + "src": "1593:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2539, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1593:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2542, + "initialValue": { + "hexValue": "30", + "id": 2541, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1605:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1593:13:14" + }, + "loopExpression": { + "expression": { + "id": 2548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1629:3:14", + "subExpression": { + "id": 2547, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2540, + "src": "1629:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2549, + "nodeType": "ExpressionStatement", + "src": "1629:3:14" + }, + "nodeType": "ForStatement", + "src": "1588:83:14" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2560, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2522, + "src": "1691:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2561, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2525, + "src": "1695:8:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + ], + "id": 2559, + "name": "BatchMint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2486, + "src": "1681:9:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (address,uint256[] memory)" + } + }, + "id": 2562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1681:23:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2563, + "nodeType": "EmitStatement", + "src": "1676:28:14" + } + ] + }, + "functionSelector": "4684d7e9", + "id": 2565, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 2528, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2461, + "src": "1511:11:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2529, + "kind": "modifierInvocation", + "modifierName": { + "id": 2527, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "1502:8:14" + }, + "nodeType": "ModifierInvocation", + "src": "1502:21:14" + } + ], + "name": "batchMint", + "nameLocation": "1430:9:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2522, + "mutability": "mutable", + "name": "to", + "nameLocation": "1453:2:14", + "nodeType": "VariableDeclaration", + "scope": 2565, + "src": "1445:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2521, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1445:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2525, + "mutability": "mutable", + "name": "tokenIds", + "nameLocation": "1480:8:14", + "nodeType": "VariableDeclaration", + "scope": 2565, + "src": "1461:27:14", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2523, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1461:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2524, + "nodeType": "ArrayTypeName", + "src": "1461:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "1439:53:14" + }, + "returnParameters": { + "id": 2530, + "nodeType": "ParameterList", + "parameters": [], + "src": "1524:0:14" + }, + "scope": 2831, + "src": "1421:288:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2578, + "nodeType": "Block", + "src": "1820:43:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2574, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2461, + "src": "1837:11:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2575, + "name": "factory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2568, + "src": "1850:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2573, + "name": "_grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "1826:10:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1826:32:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2577, + "nodeType": "ExpressionStatement", + "src": "1826:32:14" + } + ] + }, + "documentation": { + "id": 2566, + "nodeType": "StructuredDocumentation", + "src": "1713:44:14", + "text": " @dev Add factory to mint item" + }, + "functionSelector": "831be5bb", + "id": 2579, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2571, + "kind": "modifierInvocation", + "modifierName": { + "id": 2570, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "1810:9:14" + }, + "nodeType": "ModifierInvocation", + "src": "1810:9:14" + } + ], + "name": "setMintFactory", + "nameLocation": "1769:14:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2569, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2568, + "mutability": "mutable", + "name": "factory", + "nameLocation": "1792:7:14", + "nodeType": "VariableDeclaration", + "scope": 2579, + "src": "1784:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2567, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1784:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1783:17:14" + }, + "returnParameters": { + "id": 2572, + "nodeType": "ParameterList", + "parameters": [], + "src": "1820:0:14" + }, + "scope": 2831, + "src": "1760:103:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2592, + "nodeType": "Block", + "src": "1967:44:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2588, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2461, + "src": "1985:11:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2589, + "name": "factory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2582, + "src": "1998:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2587, + "name": "_revokeRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "1973:11:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1973:33:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2591, + "nodeType": "ExpressionStatement", + "src": "1973:33:14" + } + ] + }, + "documentation": { + "id": 2580, + "nodeType": "StructuredDocumentation", + "src": "1867:34:14", + "text": " @dev Remove factory" + }, + "functionSelector": "4b0eda10", + "id": 2593, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2585, + "kind": "modifierInvocation", + "modifierName": { + "id": 2584, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "1957:9:14" + }, + "nodeType": "ModifierInvocation", + "src": "1957:9:14" + } + ], + "name": "removeMintFactory", + "nameLocation": "1913:17:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2583, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2582, + "mutability": "mutable", + "name": "factory", + "nameLocation": "1939:7:14", + "nodeType": "VariableDeclaration", + "scope": 2593, + "src": "1931:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2581, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1931:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1930:17:14" + }, + "returnParameters": { + "id": 2586, + "nodeType": "ParameterList", + "parameters": [], + "src": "1967:0:14" + }, + "scope": 2831, + "src": "1904:107:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2606, + "nodeType": "Block", + "src": "2119:39:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2602, + "name": "BURN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2466, + "src": "2136:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2603, + "name": "proxy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2596, + "src": "2147:5:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2601, + "name": "_grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "2125:10:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2125:28:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2605, + "nodeType": "ExpressionStatement", + "src": "2125:28:14" + } + ] + }, + "documentation": { + "id": 2594, + "nodeType": "StructuredDocumentation", + "src": "2015:44:14", + "text": " @dev Add factory to burn item" + }, + "functionSelector": "c64d0ebc", + "id": 2607, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2599, + "kind": "modifierInvocation", + "modifierName": { + "id": 2598, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "2109:9:14" + }, + "nodeType": "ModifierInvocation", + "src": "2109:9:14" + } + ], + "name": "grantBurnRole", + "nameLocation": "2071:13:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2596, + "mutability": "mutable", + "name": "proxy", + "nameLocation": "2093:5:14", + "nodeType": "VariableDeclaration", + "scope": 2607, + "src": "2085:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2595, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2085:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2084:15:14" + }, + "returnParameters": { + "id": 2600, + "nodeType": "ParameterList", + "parameters": [], + "src": "2119:0:14" + }, + "scope": 2831, + "src": "2062:96:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2620, + "nodeType": "Block", + "src": "2256:40:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2616, + "name": "BURN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2466, + "src": "2274:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2617, + "name": "proxy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2610, + "src": "2285:5:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2615, + "name": "_revokeRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "2262:11:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2262:29:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2619, + "nodeType": "ExpressionStatement", + "src": "2262:29:14" + } + ] + }, + "documentation": { + "id": 2608, + "nodeType": "StructuredDocumentation", + "src": "2162:32:14", + "text": " @dev Remove proxy" + }, + "functionSelector": "cbd80a9b", + "id": 2621, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2613, + "kind": "modifierInvocation", + "modifierName": { + "id": 2612, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "2246:9:14" + }, + "nodeType": "ModifierInvocation", + "src": "2246:9:14" + } + ], + "name": "revokeBurnProxy", + "nameLocation": "2206:15:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2611, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2610, + "mutability": "mutable", + "name": "proxy", + "nameLocation": "2230:5:14", + "nodeType": "VariableDeclaration", + "scope": 2621, + "src": "2222:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2609, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2222:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2221:15:14" + }, + "returnParameters": { + "id": 2614, + "nodeType": "ParameterList", + "parameters": [], + "src": "2256:0:14" + }, + "scope": 2831, + "src": "2197:99:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2634, + "nodeType": "Block", + "src": "2406:41:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2630, + "name": "LOCK_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2471, + "src": "2423:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2631, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2624, + "src": "2434:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2629, + "name": "_grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "2412:10:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2412:30:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2633, + "nodeType": "ExpressionStatement", + "src": "2412:30:14" + } + ] + }, + "documentation": { + "id": 2622, + "nodeType": "StructuredDocumentation", + "src": "2300:44:14", + "text": " @dev Add address to lock item" + }, + "functionSelector": "ace9e2e2", + "id": 2635, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2627, + "kind": "modifierInvocation", + "modifierName": { + "id": 2626, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "2396:9:14" + }, + "nodeType": "ModifierInvocation", + "src": "2396:9:14" + } + ], + "name": "grantLockRole", + "nameLocation": "2356:13:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2625, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2624, + "mutability": "mutable", + "name": "account", + "nameLocation": "2378:7:14", + "nodeType": "VariableDeclaration", + "scope": 2635, + "src": "2370:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2623, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2370:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2369:17:14" + }, + "returnParameters": { + "id": 2628, + "nodeType": "ParameterList", + "parameters": [], + "src": "2406:0:14" + }, + "scope": 2831, + "src": "2347:100:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2648, + "nodeType": "Block", + "src": "2562:42:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2644, + "name": "LOCK_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2471, + "src": "2580:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2645, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2638, + "src": "2591:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2643, + "name": "_revokeRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "2568:11:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2568:31:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2647, + "nodeType": "ExpressionStatement", + "src": "2568:31:14" + } + ] + }, + "documentation": { + "id": 2636, + "nodeType": "StructuredDocumentation", + "src": "2451:48:14", + "text": " @dev Remove address for lock item" + }, + "functionSelector": "544079b5", + "id": 2649, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2641, + "kind": "modifierInvocation", + "modifierName": { + "id": 2640, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "2552:9:14" + }, + "nodeType": "ModifierInvocation", + "src": "2552:9:14" + } + ], + "name": "revokeLockRole", + "nameLocation": "2511:14:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2639, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2638, + "mutability": "mutable", + "name": "account", + "nameLocation": "2534:7:14", + "nodeType": "VariableDeclaration", + "scope": 2649, + "src": "2526:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2637, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2526:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2525:17:14" + }, + "returnParameters": { + "id": 2642, + "nodeType": "ParameterList", + "parameters": [], + "src": "2562:0:14" + }, + "scope": 2831, + "src": "2502:102:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2683, + "nodeType": "Block", + "src": "2730:184:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2660, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2652, + "src": "2752:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2659, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 925, + "src": "2744:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 2661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2744:16:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d7573742062652076616c696420746f6b656e4964", + "id": 2662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2762:23:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e", + "typeString": "literal_string \"Must be valid tokenId\"" + }, + "value": "Must be valid tokenId" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e", + "typeString": "literal_string \"Must be valid tokenId\"" + } + ], + "id": 2658, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2736:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2736:50:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2664, + "nodeType": "ExpressionStatement", + "src": "2736:50:14" + }, + { + "expression": { + "arguments": [ + { + "id": 2669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2800:22:14", + "subExpression": { + "baseExpression": { + "id": 2666, + "name": "lockedTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2453, + "src": "2801:12:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 2668, + "indexExpression": { + "id": 2667, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2652, + "src": "2814:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2801:21:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546f6b656e2068617320616c7265616479206c6f636b6564", + "id": 2670, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2824:26:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a", + "typeString": "literal_string \"Token has already locked\"" + }, + "value": "Token has already locked" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a", + "typeString": "literal_string \"Token has already locked\"" + } + ], + "id": 2665, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2792:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2792:59:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2672, + "nodeType": "ExpressionStatement", + "src": "2792:59:14" + }, + { + "expression": { + "id": 2677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2673, + "name": "lockedTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2453, + "src": "2857:12:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 2675, + "indexExpression": { + "id": 2674, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2652, + "src": "2870:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2857:21:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 2676, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2881:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2857:28:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2678, + "nodeType": "ExpressionStatement", + "src": "2857:28:14" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2680, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2652, + "src": "2901:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2679, + "name": "Lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2475, + "src": "2896:4:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 2681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2896:13:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2682, + "nodeType": "EmitStatement", + "src": "2891:18:14" + } + ] + }, + "documentation": { + "id": 2650, + "nodeType": "StructuredDocumentation", + "src": "2608:59:14", + "text": " @dev Lock token to use in game or for rental" + }, + "functionSelector": "dd467064", + "id": 2684, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 2655, + "name": "LOCK_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2471, + "src": "2719:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2656, + "kind": "modifierInvocation", + "modifierName": { + "id": 2654, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "2710:8:14" + }, + "nodeType": "ModifierInvocation", + "src": "2710:19:14" + } + ], + "name": "lock", + "nameLocation": "2679:4:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2653, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2652, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2692:7:14", + "nodeType": "VariableDeclaration", + "scope": 2684, + "src": "2684:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2651, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2684:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2683:17:14" + }, + "returnParameters": { + "id": 2657, + "nodeType": "ParameterList", + "parameters": [], + "src": "2730:0:14" + }, + "scope": 2831, + "src": "2670:244:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2717, + "nodeType": "Block", + "src": "3056:188:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2695, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2687, + "src": "3078:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2694, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 925, + "src": "3070:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 2696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3070:16:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d7573742062652076616c696420746f6b656e4964", + "id": 2697, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3088:23:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e", + "typeString": "literal_string \"Must be valid tokenId\"" + }, + "value": "Must be valid tokenId" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e", + "typeString": "literal_string \"Must be valid tokenId\"" + } + ], + "id": 2693, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3062:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3062:50:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2699, + "nodeType": "ExpressionStatement", + "src": "3062:50:14" + }, + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 2701, + "name": "lockedTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2453, + "src": "3126:12:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 2703, + "indexExpression": { + "id": 2702, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2687, + "src": "3139:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3126:21:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546f6b656e2068617320616c726561647920756e6c6f636b6564", + "id": 2704, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3149:28:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca", + "typeString": "literal_string \"Token has already unlocked\"" + }, + "value": "Token has already unlocked" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca", + "typeString": "literal_string \"Token has already unlocked\"" + } + ], + "id": 2700, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3118:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3118:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2706, + "nodeType": "ExpressionStatement", + "src": "3118:60:14" + }, + { + "expression": { + "id": 2711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2707, + "name": "lockedTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2453, + "src": "3184:12:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 2709, + "indexExpression": { + "id": 2708, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2687, + "src": "3197:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3184:21:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 2710, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3208:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3184:29:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2712, + "nodeType": "ExpressionStatement", + "src": "3184:29:14" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2714, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2687, + "src": "3231:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2713, + "name": "UnLock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2479, + "src": "3224:6:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 2715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3224:15:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2716, + "nodeType": "EmitStatement", + "src": "3219:20:14" + } + ] + }, + "documentation": { + "id": 2685, + "nodeType": "StructuredDocumentation", + "src": "2918:73:14", + "text": " @dev Unlock token to use blockchain or sale on marketplace" + }, + "functionSelector": "6198e339", + "id": 2718, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 2690, + "name": "LOCK_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2471, + "src": "3045:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2691, + "kind": "modifierInvocation", + "modifierName": { + "id": 2689, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "3036:8:14" + }, + "nodeType": "ModifierInvocation", + "src": "3036:19:14" + } + ], + "name": "unlock", + "nameLocation": "3003:6:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2688, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2687, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3018:7:14", + "nodeType": "VariableDeclaration", + "scope": 2718, + "src": "3010:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2686, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3010:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3009:17:14" + }, + "returnParameters": { + "id": 2692, + "nodeType": "ParameterList", + "parameters": [], + "src": "3056:0:14" + }, + "scope": 2831, + "src": "2994:250:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2730, + "nodeType": "Block", + "src": "3350:39:14", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 2726, + "name": "lockedTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2453, + "src": "3363:12:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 2728, + "indexExpression": { + "id": 2727, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2721, + "src": "3376:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3363:21:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2725, + "id": 2729, + "nodeType": "Return", + "src": "3356:28:14" + } + ] + }, + "documentation": { + "id": 2719, + "nodeType": "StructuredDocumentation", + "src": "3248:35:14", + "text": " @dev Get lock status" + }, + "functionSelector": "f6aacfb1", + "id": 2731, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isLocked", + "nameLocation": "3295:8:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2722, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2721, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3312:7:14", + "nodeType": "VariableDeclaration", + "scope": 2731, + "src": "3304:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2720, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3304:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3303:17:14" + }, + "returnParameters": { + "id": 2725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2724, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2731, + "src": "3344:4:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2723, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3344:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3343:6:14" + }, + "scope": 2831, + "src": "3286:103:14", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2743, + "nodeType": "Block", + "src": "3501:39:14", + "statements": [ + { + "expression": { + "id": 2741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2739, + "name": "_baseTokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2456, + "src": "3507:13:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2740, + "name": "baseTokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2734, + "src": "3523:12:14", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + "src": "3507:28:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 2742, + "nodeType": "ExpressionStatement", + "src": "3507:28:14" + } + ] + }, + "documentation": { + "id": 2732, + "nodeType": "StructuredDocumentation", + "src": "3393:33:14", + "text": " @dev Set token URI" + }, + "functionSelector": "931688cb", + "id": 2744, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2737, + "kind": "modifierInvocation", + "modifierName": { + "id": 2736, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "3491:9:14" + }, + "nodeType": "ModifierInvocation", + "src": "3491:9:14" + } + ], + "name": "updateBaseURI", + "nameLocation": "3438:13:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2735, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2734, + "mutability": "mutable", + "name": "baseTokenURI", + "nameLocation": "3468:12:14", + "nodeType": "VariableDeclaration", + "scope": 2744, + "src": "3452:28:14", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2733, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3452:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3451:30:14" + }, + "returnParameters": { + "id": 2738, + "nodeType": "ParameterList", + "parameters": [], + "src": "3501:0:14" + }, + "scope": 2831, + "src": "3429:111:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 1662 + ], + "body": { + "id": 2772, + "nodeType": "Block", + "src": "3735:126:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "3749:22:14", + "subExpression": { + "baseExpression": { + "id": 2757, + "name": "lockedTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2453, + "src": "3750:12:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 2759, + "indexExpression": { + "id": 2758, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2751, + "src": "3763:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3750:21:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "43616e206e6f74207472616e73666572206c6f636b656420746f6b656e", + "id": 2761, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3773:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191", + "typeString": "literal_string \"Can not transfer locked token\"" + }, + "value": "Can not transfer locked token" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191", + "typeString": "literal_string \"Can not transfer locked token\"" + } + ], + "id": 2756, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3741:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3741:64:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2763, + "nodeType": "ExpressionStatement", + "src": "3741:64:14" + }, + { + "expression": { + "arguments": [ + { + "id": 2767, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2747, + "src": "3838:4:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2768, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2749, + "src": "3844:2:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2769, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2751, + "src": "3848:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2764, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967271, + "src": "3811:5:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_BEBadge_$2831_$", + "typeString": "type(contract super BEBadge)" + } + }, + "id": 2766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "_beforeTokenTransfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 1662, + "src": "3811:26:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 2770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3811:45:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2771, + "nodeType": "ExpressionStatement", + "src": "3811:45:14" + } + ] + }, + "documentation": { + "id": 2745, + "nodeType": "StructuredDocumentation", + "src": "3544:55:14", + "text": " @dev See {IERC165-_beforeTokenTransfer}." + }, + "id": 2773, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_beforeTokenTransfer", + "nameLocation": "3611:20:14", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 2754, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "id": 2753, + "name": "ERC721Enumerable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1824, + "src": "3717:16:14" + } + ], + "src": "3708:26:14" + }, + "parameters": { + "id": 2752, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2747, + "mutability": "mutable", + "name": "from", + "nameLocation": "3645:4:14", + "nodeType": "VariableDeclaration", + "scope": 2773, + "src": "3637:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2746, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3637:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2749, + "mutability": "mutable", + "name": "to", + "nameLocation": "3663:2:14", + "nodeType": "VariableDeclaration", + "scope": 2773, + "src": "3655:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2748, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3655:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2751, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3679:7:14", + "nodeType": "VariableDeclaration", + "scope": 2773, + "src": "3671:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2750, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3671:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3631:59:14" + }, + "returnParameters": { + "id": 2755, + "nodeType": "ParameterList", + "parameters": [], + "src": "3735:0:14" + }, + "scope": 2831, + "src": "3602:259:14", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "baseFunctions": [ + 62, + 1536 + ], + "body": { + "id": 2789, + "nodeType": "Block", + "src": "4074:54:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2786, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2776, + "src": "4111:11:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 2784, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967271, + "src": "4087:5:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_BEBadge_$2831_$", + "typeString": "type(contract super BEBadge)" + } + }, + "id": 2785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 1536, + "src": "4087:23:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 2787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4087:36:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2783, + "id": 2788, + "nodeType": "Return", + "src": "4080:43:14" + } + ] + }, + "documentation": { + "id": 2774, + "nodeType": "StructuredDocumentation", + "src": "3865:52:14", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 2790, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "3929:17:14", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 2780, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "id": 2778, + "name": "AccessControl", + "nodeType": "IdentifierPath", + "referencedDeclaration": 308, + "src": "4020:13:14" + }, + { + "id": 2779, + "name": "ERC721Enumerable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1824, + "src": "4035:16:14" + } + ], + "src": "4011:41:14" + }, + "parameters": { + "id": 2777, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2776, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "3959:11:14", + "nodeType": "VariableDeclaration", + "scope": 2790, + "src": "3952:18:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 2775, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "3952:6:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "3946:28:14" + }, + "returnParameters": { + "id": 2783, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2782, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2790, + "src": "4066:4:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2781, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4066:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4065:6:14" + }, + "scope": 2831, + "src": "3920:208:14", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 2829, + "nodeType": "Block", + "src": "4360:251:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2803, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2795, + "src": "4382:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2802, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 925, + "src": "4374:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 2804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4374:16:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546f6b656e4964206e6f7420657869737473", + "id": 2805, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4392:20:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f", + "typeString": "literal_string \"TokenId not exists\"" + }, + "value": "TokenId not exists" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f", + "typeString": "literal_string \"TokenId not exists\"" + } + ], + "id": 2801, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4366:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4366:47:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2807, + "nodeType": "ExpressionStatement", + "src": "4366:47:14" + }, + { + "expression": { + "arguments": [ + { + "id": 2812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "4427:22:14", + "subExpression": { + "baseExpression": { + "id": 2809, + "name": "lockedTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2453, + "src": "4428:12:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 2811, + "indexExpression": { + "id": 2810, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2795, + "src": "4441:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4428:21:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "43616e206e6f74206275726e206c6f636b656420746f6b656e", + "id": 2813, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4451:27:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573", + "typeString": "literal_string \"Can not burn locked token\"" + }, + "value": "Can not burn locked token" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573", + "typeString": "literal_string \"Can not burn locked token\"" + } + ], + "id": 2808, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4419:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4419:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2815, + "nodeType": "ExpressionStatement", + "src": "4419:60:14" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 2818, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2795, + "src": "4508:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2817, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 632, + "src": "4500:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 2819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4500:16:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 2820, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2793, + "src": "4520:5:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4500:25:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "63757272656e742061646472657373206973206e6f74206f776e6572206f662074686973206974656d206e6f77", + "id": 2822, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4533:47:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef", + "typeString": "literal_string \"current address is not owner of this item now\"" + }, + "value": "current address is not owner of this item now" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef", + "typeString": "literal_string \"current address is not owner of this item now\"" + } + ], + "id": 2816, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4485:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4485:101:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2824, + "nodeType": "ExpressionStatement", + "src": "4485:101:14" + }, + { + "expression": { + "arguments": [ + { + "id": 2826, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2795, + "src": "4598:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2825, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1136, + "src": "4592:5:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 2827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4592:14:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2828, + "nodeType": "ExpressionStatement", + "src": "4592:14:14" + } + ] + }, + "documentation": { + "id": 2791, + "nodeType": "StructuredDocumentation", + "src": "4132:130:14", + "text": " @dev Burns `tokenId`.\n Requirements:\n - The caller must own `tokenId` or be an approved operator." + }, + "functionSelector": "9dc29fac", + "id": 2830, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 2798, + "name": "BURN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2466, + "src": "4349:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2799, + "kind": "modifierInvocation", + "modifierName": { + "id": 2797, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "4340:8:14" + }, + "nodeType": "ModifierInvocation", + "src": "4340:19:14" + } + ], + "name": "burn", + "nameLocation": "4274:4:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2796, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2793, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4292:5:14", + "nodeType": "VariableDeclaration", + "scope": 2830, + "src": "4284:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2792, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4284:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2795, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4311:7:14", + "nodeType": "VariableDeclaration", + "scope": 2830, + "src": "4303:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2794, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4303:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4278:44:14" + }, + "returnParameters": { + "id": 2800, + "nodeType": "ParameterList", + "parameters": [], + "src": "4360:0:14" + }, + "scope": 2831, + "src": "4265:346:14", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "external" + } + ], + "scope": 2832, + "src": "248:4365:14", + "usedErrors": [] + } + ], + "src": "32:4582:14" + }, + "compiler": { + "name": "solc", + "version": "0.8.10+commit.fc410830.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.11", + "updatedAt": "2023-04-06T11:26:57.613Z", + "devdoc": { + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "burn(address,uint256)": { + "details": "Burns `tokenId`. Requirements: - The caller must own `tokenId` or be an approved operator." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "getRoleAdmin(bytes32)": { + "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}." + }, + "grantBurnRole(address)": { + "details": "Add factory to burn item" + }, + "grantLockRole(address)": { + "details": "Add address to lock item" + }, + "grantRole(bytes32,address)": { + "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role." + }, + "hasRole(bytes32,address)": { + "details": "Returns `true` if `account` has been granted `role`." + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "isLocked(uint256)": { + "details": "Get lock status" + }, + "lock(uint256)": { + "details": "Lock token to use in game or for rental" + }, + "mint(address,uint256)": { + "details": "Creates a new token for `to`. Its token ID will be automatically assigned (and available on the emitted {IERC721-Transfer} event), and the token URI autogenerated based on the base URI passed at construction. See {ERC721-_mint}. Requirements: - the caller must have the `MINTER_ROLE`." + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "removeMintFactory(address)": { + "details": "Remove factory" + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "renounceRole(bytes32,address)": { + "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`." + }, + "revokeBurnProxy(address)": { + "details": "Remove proxy" + }, + "revokeLockRole(address)": { + "details": "Remove address for lock item" + }, + "revokeRole(bytes32,address)": { + "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "setMintFactory(address)": { + "details": "Add factory to mint item" + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "tokenByIndex(uint256)": { + "details": "See {IERC721Enumerable-tokenByIndex}." + }, + "tokenOfOwnerByIndex(address,uint256)": { + "details": "See {IERC721Enumerable-tokenOfOwnerByIndex}." + }, + "tokenURI(uint256)": { + "details": "See {IERC721Metadata-tokenURI}." + }, + "totalSupply()": { + "details": "See {IERC721Enumerable-totalSupply}." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + }, + "unlock(uint256)": { + "details": "Unlock token to use blockchain or sale on marketplace" + }, + "updateBaseURI(string)": { + "details": "Set token URI" + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/src/abis/BEMultiSigWallet.json b/src/abis/BEMultiSigWallet.json new file mode 100644 index 0000000..90b0346 --- /dev/null +++ b/src/abis/BEMultiSigWallet.json @@ -0,0 +1,36103 @@ +{ + "contractName": "BEMultiSigWallet", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minDelay", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "proposers", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "executors", + "type": "address[]" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "CallExecuted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "predecessor", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "delay", + "type": "uint256" + } + ], + "name": "CallScheduled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "Cancelled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "Confirmation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "oldDuration", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newDuration", + "type": "uint256" + } + ], + "name": "MinDelayChange", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "oldDuration", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newDuration", + "type": "uint256" + } + ], + "name": "RequirementChange", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "Revocation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "EXECUTOR_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PROPOSER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "TIMELOCK_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "confirmations", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getRoleMember", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleMemberCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minDelay", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "required", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "isOperation", + "outputs": [ + { + "internalType": "bool", + "name": "pending", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "isOperationPending", + "outputs": [ + { + "internalType": "bool", + "name": "pending", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "isConfirmed", + "outputs": [ + { + "internalType": "bool", + "name": "ready", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "isOperationReady", + "outputs": [ + { + "internalType": "bool", + "name": "ready", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "isOperationDone", + "outputs": [ + { + "internalType": "bool", + "name": "done", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "getTimestamp", + "outputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "predecessor", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + } + ], + "name": "hashOperation", + "outputs": [ + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "targets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + }, + { + "internalType": "bytes[]", + "name": "datas", + "type": "bytes[]" + }, + { + "internalType": "bytes32", + "name": "predecessor", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + } + ], + "name": "hashOperationBatch", + "outputs": [ + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "predecessor", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "delay", + "type": "uint256" + } + ], + "name": "schedule", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "targets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + }, + { + "internalType": "bytes[]", + "name": "datas", + "type": "bytes[]" + }, + { + "internalType": "bytes32", + "name": "predecessor", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "delay", + "type": "uint256" + } + ], + "name": "scheduleBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "cancel", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "confirmTransaction", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + } + ], + "name": "revokeConfirmation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "predecessor", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + } + ], + "name": "execute", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "targets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + }, + { + "internalType": "bytes[]", + "name": "datas", + "type": "bytes[]" + }, + { + "internalType": "bytes32", + "name": "predecessor", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "salt", + "type": "bytes32" + } + ], + "name": "executeBatch", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minDelay", + "type": "uint256" + } + ], + "name": "changeDelay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_required", + "type": "uint256" + } + ], + "name": "changeRequirement", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_minDelay\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"proposers\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"executors\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"CallExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"delay\",\"type\":\"uint256\"}],\"name\":\"CallScheduled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"Cancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"Confirmation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldDuration\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newDuration\",\"type\":\"uint256\"}],\"name\":\"MinDelayChange\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldDuration\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newDuration\",\"type\":\"uint256\"}],\"name\":\"RequirementChange\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"Revocation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXECUTOR_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PROPOSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TIMELOCK_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"cancel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_minDelay\",\"type\":\"uint256\"}],\"name\":\"changeDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_required\",\"type\":\"uint256\"}],\"name\":\"changeRequirement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"confirmTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"confirmations\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"datas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"executeBatch\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"getTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"hashOperation\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"datas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"hashOperationBatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"isConfirmed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"ready\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"isOperation\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"pending\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"isOperationDone\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"done\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"isOperationPending\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"pending\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"isOperationReady\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"ready\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"required\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"revokeConfirmation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"delay\",\"type\":\"uint256\"}],\"name\":\"schedule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"datas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"delay\",\"type\":\"uint256\"}],\"name\":\"scheduleBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"events\":{\"CallExecuted(bytes32,uint256,address,uint256,bytes)\":{\"details\":\"Emitted when a call is performed as part of operation `id`.\"},\"CallScheduled(bytes32,uint256,address,uint256,bytes,bytes32,uint256)\":{\"details\":\"Emitted when a call is scheduled as part of operation `id`.\"},\"Cancelled(bytes32)\":{\"details\":\"Emitted when operation `id` is cancelled.\"},\"MinDelayChange(uint256,uint256)\":{\"details\":\"Emitted when the minimum delay for future operations is modified.\"},\"RequirementChange(uint256,uint256)\":{\"details\":\"Emitted when the number of required confimations is modified.\"}},\"kind\":\"dev\",\"methods\":{\"cancel(bytes32)\":{\"details\":\"Cancel an operation. Requirements: - the caller must have the 'proposer' role.\"},\"changeDelay(uint256)\":{\"details\":\"Changes the minimum wallet duration for future operations. Emits a {MinDelayChange} event. Requirements: - the caller must be the wallet itself. This can only be achieved by scheduling and later executing an operation where the wallet is the target and the data is the ABI-encoded call to this function.\"},\"changeRequirement(uint256)\":{\"details\":\"Allows to change the number of required confirmations. Transaction has to be sent by wallet.\",\"params\":{\"_required\":\"Number of required confirmations.\"}},\"confirmTransaction(bytes32)\":{\"details\":\"Allows an executor to confirm a transaction. Requirements - the caller must have the 'executor' role.\"},\"constructor\":{\"details\":\"Initializes the contract with a given `minDelay`.\"},\"execute(address,uint256,bytes,bytes32,bytes32)\":{\"details\":\"Execute an (ready) operation containing a single transaction. Emits a {CallExecuted} event. Requirements: - the caller must have the 'executor' role.\"},\"executeBatch(address[],uint256[],bytes[],bytes32,bytes32)\":{\"details\":\"Execute an (ready) operation containing a batch of transactions. Emits one {CallExecuted} event per transaction in the batch. Requirements: - the caller must have the 'executor' role.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getRoleMember(bytes32,uint256)\":{\"details\":\"Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information.\"},\"getRoleMemberCount(bytes32)\":{\"details\":\"Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role.\"},\"getTimestamp(bytes32)\":{\"details\":\"Returns the timestamp at with an operation becomes ready (0 for unset operations, 1 for done operations).\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"hashOperation(address,uint256,bytes,bytes32,bytes32)\":{\"details\":\"Returns the identifier of an operation containing a single transaction.\"},\"hashOperationBatch(address[],uint256[],bytes[],bytes32,bytes32)\":{\"details\":\"Returns the identifier of an operation containing a batch of transactions.\"},\"isOperation(bytes32)\":{\"details\":\"Returns whether an id correspond to a registered operation. This includes both Pending, Ready and Done operations.\"},\"isOperationDone(bytes32)\":{\"details\":\"Returns whether an operation is done or not.\"},\"isOperationPending(bytes32)\":{\"details\":\"Returns whether an operation is pending or not.\"},\"isOperationReady(bytes32)\":{\"details\":\"Returns whether an operation is ready or not.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`.\"},\"revokeConfirmation(bytes32)\":{\"details\":\"Allows an executor to revoke a confirmation for a transaction. Requirements - the caller must have the 'executor' role.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"},\"schedule(address,uint256,bytes,bytes32,bytes32,uint256)\":{\"details\":\"Schedule an operation containing a single transaction. Emits a {CallScheduled} event. Requirements: - the caller must have the 'proposer' role.\"},\"scheduleBatch(address[],uint256[],bytes[],bytes32,bytes32,uint256)\":{\"details\":\"Schedule an operation containing a batch of transactions. Emits one {CallScheduled} event per transaction in the batch. Requirements: - the caller must have the 'proposer' role.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"MultiSigWallet with timelocker\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/core/BEMultiSigWallet.sol\":\"BEMultiSigWallet\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x4a1a0ba12bf1a33f10d9fe226278cf59675c0b929d29e4da99658a079b27fb84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bda1319db846d6d6f92d8a57a9bdee8bde1dc39aa7546165791692c24dd6f30a\",\"dweb:/ipfs/Qma5oZ7DmbdAjd8mpiW7mx896PDtwsQtCQ2hj9Upf7b7JK\"]},\"@openzeppelin/contracts/access/AccessControlEnumerable.sol\":{\"keccak256\":\"0x13f5e15f2a0650c0b6aaee2ef19e89eaf4870d6e79662d572a393334c1397247\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ee05f28f549a5d6515e152580716b87636ed4bfab9812499a6e3803df88288b\",\"dweb:/ipfs/QmeEnhdwY1t5Y3YU5a4ffzgXuToydH2PNdNxV9W7dEPRQJ\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/access/IAccessControlEnumerable.sol\":{\"keccak256\":\"0xba4459ab871dfa300f5212c6c30178b63898c03533a1ede28436f11546626676\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dcc7b09bfa6e18aab262ca372f4a9b1fc82e294b430706a4e1378cf58e6a276\",\"dweb:/ipfs/QmT8oSAcesdctR15HMLhr2a1HRpXymxdjTfdtfTYJcj2N2\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9772845c886f87a3aab315f8d6b68aa599027c20f441b131cd4afaf65b588900\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad2f29a9c17a4f746416c9e254e17671f43c409dbfa6e4d7d76c3e4a83212d31\",\"dweb:/ipfs/QmTqU65L6iu6yqmXKzcNLPioR8etzKPWycpDJCm17ifVdS\"]},\"project:/contracts/core/BEMultiSigWallet.sol\":{\"keccak256\":\"0x50b7f526007a8c8a8b26e49031a70a3a2143538754eed060b9e862821d7c77f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1de59d20b4e11e22c0f80f3dabf1cd784b0879cf9dd896823b9ee91fc9b23e9d\",\"dweb:/ipfs/Qmb7fXwDrkfSf9hkZUhHfbQyNLfdu6aKXsNTxPHnGfQHXK\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b50604051620042cf380380620042cf8339818101604052810190620000379190620007f1565b620000697f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca580620002b060201b60201c565b620000bb7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc17f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5620002b060201b60201c565b6200010d7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e637f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5620002b060201b60201c565b6200014e7f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5620001426200031360201b60201c565b6200031b60201b60201c565b620001807f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5306200031b60201b60201c565b60005b8251811015620001f057620001dc7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1848381518110620001c857620001c76200088b565b5b60200260200101516200031b60201b60201c565b80620001e890620008e9565b905062000183565b5060005b815181101562000261576200024d7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e638383815181106200023957620002386200088b565b5b60200260200101516200031b60201b60201c565b806200025990620008e9565b9050620001f4565b50826004819055507f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d560006004546040516200029f92919062000995565b60405180910390a1505050620009c2565b6000620002c3836200033160201b60201c565b905081600080858152602001908152602001600020600101819055508181847fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff60405160405180910390a4505050565b600033905090565b6200032d82826200035060201b60201c565b5050565b6000806000838152602001908152602001600020600101549050919050565b6200036782826200039860201b620016201760201c565b6200039381600160008581526020019081526020016000206200048960201b620017001790919060201c565b505050565b620003aa8282620004c160201b60201c565b6200048557600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200042a6200031360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000620004b9836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6200052b60201b60201c565b905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60006200053f8383620005a560201b60201c565b6200059a5782600001829080600181540180825580915050600190039060005260206000200160009091909190915055826000018054905083600101600084815260200190815260200160002081905550600190506200059f565b600090505b92915050565b600080836001016000848152602001908152602001600020541415905092915050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b620005f181620005dc565b8114620005fd57600080fd5b50565b6000815190506200061181620005e6565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000667826200061c565b810181811067ffffffffffffffff821117156200068957620006886200062d565b5b80604052505050565b60006200069e620005c8565b9050620006ac82826200065c565b919050565b600067ffffffffffffffff821115620006cf57620006ce6200062d565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200071282620006e5565b9050919050565b620007248162000705565b81146200073057600080fd5b50565b600081519050620007448162000719565b92915050565b6000620007616200075b84620006b1565b62000692565b90508083825260208201905060208402830185811115620007875762000786620006e0565b5b835b81811015620007b457806200079f888262000733565b84526020840193505060208101905062000789565b5050509392505050565b600082601f830112620007d657620007d562000617565b5b8151620007e88482602086016200074a565b91505092915050565b6000806000606084860312156200080d576200080c620005d2565b5b60006200081d8682870162000600565b935050602084015167ffffffffffffffff811115620008415762000840620005d7565b5b6200084f86828701620007be565b925050604084015167ffffffffffffffff811115620008735762000872620005d7565b5b6200088186828701620007be565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620008f682620005dc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156200092c576200092b620008ba565b5b600182019050919050565b6000819050919050565b6000819050919050565b60006200096c62000966620009608462000937565b62000941565b620005dc565b9050919050565b6200097e816200094b565b82525050565b6200098f81620005dc565b82525050565b6000604082019050620009ac600083018562000973565b620009bb602083018462000984565b9392505050565b6138fd80620009d26000396000f3fe6080604052600436106101e75760003560e01c80638065657f11610102578063c4d252f511610095578063d547741f11610064578063d547741f14610784578063dc8452cd146107ad578063e38335e5146107d8578063f3fc536d146107f4576101ee565b8063c4d252f5146106b6578063c63c4e9b146106df578063ca15c8731461070a578063d45c443514610747576101ee565b806391d14854116100d157806391d14854146105e8578063a217fddf14610625578063b1c5f42714610650578063ba51a6df1461068d576101ee565b80638065657f1461051a5780638f2a0bb0146105575780638f61f4f5146105805780639010d07c146105ab576101ee565b80632ab0f5291161017a5780635037ec62116101495780635037ec621461044e578063584b153e146104775780636486aa51146104b457806379716e43146104f1576101ee565b80632ab0f529146103825780632f2ff15d146103bf57806331d50750146103e857806336568abe14610425576101ee565b80630d3cf6fc116101b65780630d3cf6fc146102c1578063134008d3146102ec57806313bc9f2014610308578063248a9ca314610345576101ee565b806301d5062a146101f357806301ffc9a71461021c57806307bd0265146102595780630c4ecab414610284576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b5061021a600480360381019061021591906122b3565b61081d565b005b34801561022857600080fd5b50610243600480360381019061023e91906123ba565b6108ba565b6040516102509190612402565b60405180910390f35b34801561026557600080fd5b5061026e610934565b60405161027b919061242c565b60405180910390f35b34801561029057600080fd5b506102ab60048036038101906102a69190612447565b610958565b6040516102b89190612402565b60405180910390f35b3480156102cd57600080fd5b506102d6610987565b6040516102e3919061242c565b60405180910390f35b61030660048036038101906103019190612487565b6109ab565b005b34801561031457600080fd5b5061032f600480360381019061032a9190612521565b610a2b565b60405161033c9190612402565b60405180910390f35b34801561035157600080fd5b5061036c60048036038101906103679190612521565b610a51565b604051610379919061242c565b60405180910390f35b34801561038e57600080fd5b506103a960048036038101906103a49190612521565b610a70565b6040516103b69190612402565b60405180910390f35b3480156103cb57600080fd5b506103e660048036038101906103e19190612447565b610a85565b005b3480156103f457600080fd5b5061040f600480360381019061040a9190612521565b610aae565b60405161041c9190612402565b60405180910390f35b34801561043157600080fd5b5061044c60048036038101906104479190612447565b610ac2565b005b34801561045a57600080fd5b506104756004803603810190610470919061254e565b610b45565b005b34801561048357600080fd5b5061049e60048036038101906104999190612521565b610bf8565b6040516104ab9190612402565b60405180910390f35b3480156104c057600080fd5b506104db60048036038101906104d69190612521565b610c0d565b6040516104e89190612402565b60405180910390f35b3480156104fd57600080fd5b5061051860048036038101906105139190612521565b610d1a565b005b34801561052657600080fd5b50610541600480360381019061053c9190612487565b610e5f565b60405161054e919061242c565b60405180910390f35b34801561056357600080fd5b5061057e6004803603810190610579919061267d565b610e9e565b005b34801561058c57600080fd5b50610595611051565b6040516105a2919061242c565b60405180910390f35b3480156105b757600080fd5b506105d260048036038101906105cd919061276c565b611075565b6040516105df91906127bb565b60405180910390f35b3480156105f457600080fd5b5061060f600480360381019061060a9190612447565b6110a4565b60405161061c9190612402565b60405180910390f35b34801561063157600080fd5b5061063a61110e565b604051610647919061242c565b60405180910390f35b34801561065c57600080fd5b50610677600480360381019061067291906127d6565b611115565b604051610684919061242c565b60405180910390f35b34801561069957600080fd5b506106b460048036038101906106af919061254e565b61115a565b005b3480156106c257600080fd5b506106dd60048036038101906106d89190612521565b61120d565b005b3480156106eb57600080fd5b506106f46112cf565b60405161070191906128c1565b60405180910390f35b34801561071657600080fd5b50610731600480360381019061072c9190612521565b6112d5565b60405161073e91906128c1565b60405180910390f35b34801561075357600080fd5b5061076e60048036038101906107699190612521565b6112f9565b60405161077b91906128c1565b60405180910390f35b34801561079057600080fd5b506107ab60048036038101906107a69190612447565b611316565b005b3480156107b957600080fd5b506107c261133f565b6040516107cf91906128c1565b60405180910390f35b6107f260048036038101906107ed91906127d6565b611345565b005b34801561080057600080fd5b5061081b60048036038101906108169190612521565b6114db565b005b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161084f8161084a611730565b611738565b600061085f898989898989610e5f565b905061086b81846117d5565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a6040516108a79695949392919061293a565b60405180910390a3505050505050505050565b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061092d575061092c8261188a565b5b9050919050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b60036020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b7f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca581565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e636109d78160006110a4565b6109ed576109ec816109e7611730565b611738565b5b60006109fd888888888888610e5f565b9050610a098185611904565b610a188160008a8a8a8a6119ed565b610a2181611ae5565b5050505050505050565b600080610a37836112f9565b9050600181118015610a495750428111155b915050919050565b6000806000838152602001908152602001600020600101549050919050565b60006001610a7d836112f9565b149050919050565b610a8e82610a51565b610a9f81610a9a611730565b611738565b610aa98383611b49565b505050565b600080610aba836112f9565b119050919050565b610aca611730565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2e90612a19565b60405180910390fd5b610b418282611b7d565b5050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610baa90612aab565b60405180910390fd5b7f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d560045482604051610be6929190612acb565b60405180910390a18060048190555050565b60006001610c05836112f9565b119050919050565b600080600090506000610c3f7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e636112d5565b905060005b81811015610d1157600360008681526020019081526020016000206000610c8b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6384611075565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610ce857600183610ce59190612b23565b92505b600554831415610cfe5760019350505050610d15565b8080610d0990612b79565b915050610c44565b5050505b919050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610d468160006110a4565b610d5c57610d5b81610d56611730565b611738565b5b610d6582610bf8565b610da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9b90612c34565b60405180910390fd5b60016003600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda83604051610e53919061242c565b60405180910390a25050565b6000868686868686604051602001610e7c96959493929190612c54565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1610ed081610ecb611730565b611738565b878790508a8a905014610f18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0f90612d22565b60405180910390fd5b858590508a8a905014610f60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5790612d22565b60405180910390fd5b6000610f728b8b8b8b8b8b8b8b611115565b9050610f7e81846117d5565b60005b8b8b90508110156110435780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610fc257610fc1612d42565b5b9050602002016020810190610fd79190612d71565b8d8d86818110610fea57610fe9612d42565b5b905060200201358c8c8781811061100457611003612d42565b5b90506020028101906110169190612dad565b8c8b60405161102a9695949392919061293a565b60405180910390a38061103c90612b79565b9050610f81565b505050505050505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b600061109c8260016000868152602001908152602001600020611bb190919063ffffffff16565b905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b81565b600088888888888888886040516020016111369897969594939291906130a9565b60405160208183030381529060405280519060200120905098975050505050505050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bf90612aab565b60405180910390fd5b7fdd7c0dd2de894f9cccfd27f17f4f7390a796fb28e4b1d7317e0e758fff8e672e600554826040516111fb929190612acb565b60405180910390a18060058190555050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161123f8161123a611730565b611738565b61124882610bf8565b611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127e90613189565b60405180910390fd5b6002600083815260200190815260200160002060009055817fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7060405160405180910390a25050565b60045481565b60006112f260016000848152602001908152602001600020611bcb565b9050919050565b600060026000838152602001908152602001600020549050919050565b61131f82610a51565b6113308161132b611730565b611738565b61133a8383611b7d565b505050565b60055481565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e636113718160006110a4565b6113875761138681611381611730565b611738565b5b8686905089899050146113cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c690612d22565b60405180910390fd5b848490508989905014611417576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140e90612d22565b60405180910390fd5b60006114298a8a8a8a8a8a8a8a611115565b90506114358185611904565b60005b8a8a90508110156114c5576114b482828d8d8581811061145b5761145a612d42565b5b90506020020160208101906114709190612d71565b8c8c8681811061148357611482612d42565b5b905060200201358b8b8781811061149d5761149c612d42565b5b90506020028101906114af9190612dad565b6119ed565b806114be90612b79565b9050611438565b506114cf81611ae5565b50505050505050505050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e636115078160006110a4565b61151d5761151c81611517611730565b611738565b5b61152682610bf8565b611565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155c90612c34565b60405180910390fd5b60006003600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167f9aec1a62b961581534d37fd62d35e3648f05a17b1f986eda1d1a9d97b147840683604051611614919061242c565b60405180910390a25050565b61162a82826110a4565b6116fc57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506116a1611730565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000611728836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611be0565b905092915050565b600033905090565b61174282826110a4565b6117d1576117678173ffffffffffffffffffffffffffffffffffffffff166014611c50565b6117758360001c6020611c50565b6040516020016117869291906132bb565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c8919061332e565b60405180910390fd5b5050565b6117de82610aae565b1561181e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611815906133c2565b60405180910390fd5b600454811015611863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185a90613454565b60405180910390fd5b804261186f9190612b23565b60026000848152602001908152602001600020819055505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806118fd57506118fc82611e8c565b5b9050919050565b61190d82610a2b565b61194c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611943906134e6565b60405180910390fd5b61195582610c0d565b611994576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198b90613578565b60405180910390fd5b6000801b8114806119aa57506119a981610a70565b5b6119e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e09061360a565b60405180910390fd5b5050565b60008473ffffffffffffffffffffffffffffffffffffffff16848484604051611a1792919061365a565b60006040518083038185875af1925050503d8060008114611a54576040519150601f19603f3d011682016040523d82523d6000602084013e611a59565b606091505b5050905080611a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a94906136e5565b60405180910390fd5b85877fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5887878787604051611ad49493929190613705565b60405180910390a350505050505050565b611aee81610a2b565b611b2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b24906134e6565b60405180910390fd5b6001600260008381526020019081526020016000208190555050565b611b538282611620565b611b78816001600085815260200190815260200160002061170090919063ffffffff16565b505050565b611b878282611ef6565b611bac8160016000858152602001908152602001600020611fd790919063ffffffff16565b505050565b6000611bc08360000183612007565b60001c905092915050565b6000611bd982600001612032565b9050919050565b6000611bec8383612043565b611c45578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050611c4a565b600090505b92915050565b606060006002836002611c639190613745565b611c6d9190612b23565b67ffffffffffffffff811115611c8657611c8561379f565b5b6040519080825280601f01601f191660200182016040528015611cb85781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611cf057611cef612d42565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611d5457611d53612d42565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002611d949190613745565b611d9e9190612b23565b90505b6001811115611e3e577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110611de057611ddf612d42565b5b1a60f81b828281518110611df757611df6612d42565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080611e37906137ce565b9050611da1565b5060008414611e82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7990613844565b60405180910390fd5b8091505092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611f0082826110a4565b15611fd357600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611f78611730565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000611fff836000018373ffffffffffffffffffffffffffffffffffffffff1660001b612066565b905092915050565b600082600001828154811061201f5761201e612d42565b5b9060005260206000200154905092915050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b6000808360010160008481526020019081526020016000205490506000811461216e5760006001826120989190613864565b90506000600186600001805490506120b09190613864565b905081811461211f5760008660000182815481106120d1576120d0612d42565b5b90600052602060002001549050808760000184815481106120f5576120f4612d42565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b8560000180548061213357612132613898565b5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050612174565b60009150505b92915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121af82612184565b9050919050565b6121bf816121a4565b81146121ca57600080fd5b50565b6000813590506121dc816121b6565b92915050565b6000819050919050565b6121f5816121e2565b811461220057600080fd5b50565b600081359050612212816121ec565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261223d5761223c612218565b5b8235905067ffffffffffffffff81111561225a5761225961221d565b5b60208301915083600182028301111561227657612275612222565b5b9250929050565b6000819050919050565b6122908161227d565b811461229b57600080fd5b50565b6000813590506122ad81612287565b92915050565b600080600080600080600060c0888a0312156122d2576122d161217a565b5b60006122e08a828b016121cd565b97505060206122f18a828b01612203565b965050604088013567ffffffffffffffff8111156123125761231161217f565b5b61231e8a828b01612227565b955095505060606123318a828b0161229e565b93505060806123428a828b0161229e565b92505060a06123538a828b01612203565b91505092959891949750929550565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61239781612362565b81146123a257600080fd5b50565b6000813590506123b48161238e565b92915050565b6000602082840312156123d0576123cf61217a565b5b60006123de848285016123a5565b91505092915050565b60008115159050919050565b6123fc816123e7565b82525050565b600060208201905061241760008301846123f3565b92915050565b6124268161227d565b82525050565b6000602082019050612441600083018461241d565b92915050565b6000806040838503121561245e5761245d61217a565b5b600061246c8582860161229e565b925050602061247d858286016121cd565b9150509250929050565b60008060008060008060a087890312156124a4576124a361217a565b5b60006124b289828a016121cd565b96505060206124c389828a01612203565b955050604087013567ffffffffffffffff8111156124e4576124e361217f565b5b6124f089828a01612227565b9450945050606061250389828a0161229e565b925050608061251489828a0161229e565b9150509295509295509295565b6000602082840312156125375761253661217a565b5b60006125458482850161229e565b91505092915050565b6000602082840312156125645761256361217a565b5b600061257284828501612203565b91505092915050565b60008083601f84011261259157612590612218565b5b8235905067ffffffffffffffff8111156125ae576125ad61221d565b5b6020830191508360208202830111156125ca576125c9612222565b5b9250929050565b60008083601f8401126125e7576125e6612218565b5b8235905067ffffffffffffffff8111156126045761260361221d565b5b6020830191508360208202830111156126205761261f612222565b5b9250929050565b60008083601f84011261263d5761263c612218565b5b8235905067ffffffffffffffff81111561265a5761265961221d565b5b60208301915083602082028301111561267657612675612222565b5b9250929050565b600080600080600080600080600060c08a8c03121561269f5761269e61217a565b5b60008a013567ffffffffffffffff8111156126bd576126bc61217f565b5b6126c98c828d0161257b565b995099505060208a013567ffffffffffffffff8111156126ec576126eb61217f565b5b6126f88c828d016125d1565b975097505060408a013567ffffffffffffffff81111561271b5761271a61217f565b5b6127278c828d01612627565b9550955050606061273a8c828d0161229e565b935050608061274b8c828d0161229e565b92505060a061275c8c828d01612203565b9150509295985092959850929598565b600080604083850312156127835761278261217a565b5b60006127918582860161229e565b92505060206127a285828601612203565b9150509250929050565b6127b5816121a4565b82525050565b60006020820190506127d060008301846127ac565b92915050565b60008060008060008060008060a0898b0312156127f6576127f561217a565b5b600089013567ffffffffffffffff8111156128145761281361217f565b5b6128208b828c0161257b565b9850985050602089013567ffffffffffffffff8111156128435761284261217f565b5b61284f8b828c016125d1565b9650965050604089013567ffffffffffffffff8111156128725761287161217f565b5b61287e8b828c01612627565b945094505060606128918b828c0161229e565b92505060806128a28b828c0161229e565b9150509295985092959890939650565b6128bb816121e2565b82525050565b60006020820190506128d660008301846128b2565b92915050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b600061291983856128dc565b93506129268385846128ed565b61292f836128fc565b840190509392505050565b600060a08201905061294f60008301896127ac565b61295c60208301886128b2565b818103604083015261296f81868861290d565b905061297e606083018561241d565b61298b60808301846128b2565b979650505050505050565b600082825260208201905092915050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000612a03602f83612996565b9150612a0e826129a7565b604082019050919050565b60006020820190508181036000830152612a32816129f6565b9050919050565b7f42454d756c746953696757616c6c65743a2063616c6c6572206d75737420626560008201527f2077616c6c657400000000000000000000000000000000000000000000000000602082015250565b6000612a95602783612996565b9150612aa082612a39565b604082019050919050565b60006020820190508181036000830152612ac481612a88565b9050919050565b6000604082019050612ae060008301856128b2565b612aed60208301846128b2565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612b2e826121e2565b9150612b39836121e2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612b6e57612b6d612af4565b5b828201905092915050565b6000612b84826121e2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612bb757612bb6612af4565b5b600182019050919050565b7f42454d756c746953696757616c6c65743a206f7065726174696f6e206e6f742060008201527f6578697374206f722066696e6973686564000000000000000000000000000000602082015250565b6000612c1e603183612996565b9150612c2982612bc2565b604082019050919050565b60006020820190508181036000830152612c4d81612c11565b9050919050565b600060a082019050612c6960008301896127ac565b612c7660208301886128b2565b8181036040830152612c8981868861290d565b9050612c98606083018561241d565b612ca5608083018461241d565b979650505050505050565b7f42454d756c746953696757616c6c65743a206c656e677468206d69736d61746360008201527f6800000000000000000000000000000000000000000000000000000000000000602082015250565b6000612d0c602183612996565b9150612d1782612cb0565b604082019050919050565b60006020820190508181036000830152612d3b81612cff565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215612d8757612d8661217a565b5b6000612d95848285016121cd565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112612dca57612dc9612d9e565b5b80840192508235915067ffffffffffffffff821115612dec57612deb612da3565b5b602083019250600182023603831315612e0857612e07612da8565b5b509250929050565b600082825260208201905092915050565b6000819050919050565b612e34816121a4565b82525050565b6000612e468383612e2b565b60208301905092915050565b6000612e6160208401846121cd565b905092915050565b6000602082019050919050565b6000612e828385612e10565b9350612e8d82612e21565b8060005b85811015612ec657612ea38284612e52565b612ead8882612e3a565b9750612eb883612e69565b925050600181019050612e91565b5085925050509392505050565b600082825260208201905092915050565b600080fd5b6000612ef58385612ed3565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115612f2857612f27612ee4565b5b602083029250612f398385846128ed565b82840190509392505050565b600082825260208201905092915050565b6000819050919050565b600082825260208201905092915050565b6000612f7d8385612f60565b9350612f8a8385846128ed565b612f93836128fc565b840190509392505050565b6000612fab848484612f71565b90509392505050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112612fe057612fdf612fbe565b5b83810192508235915060208301925067ffffffffffffffff82111561300857613007612fb4565b5b60018202360384131561301e5761301d612fb9565b5b509250929050565b6000602082019050919050565b600061303f8385612f45565b93508360208402850161305184612f56565b8060005b8781101561309757848403895261306c8284612fc3565b613077868284612f9e565b955061308284613026565b935060208b019a505050600181019050613055565b50829750879450505050509392505050565b600060a08201905081810360008301526130c4818a8c612e76565b905081810360208301526130d981888a612ee9565b905081810360408301526130ee818688613033565b90506130fd606083018561241d565b61310a608083018461241d565b9998505050505050505050565b7f42454d756c746953696757616c6c65743a206f7065726174696f6e2063616e6e60008201527f6f742062652063616e63656c6c65640000000000000000000000000000000000602082015250565b6000613173602f83612996565b915061317e82613117565b604082019050919050565b600060208201905081810360008301526131a281613166565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006131ea6017836131a9565b91506131f5826131b4565b601782019050919050565b600081519050919050565b60005b8381101561322957808201518184015260208101905061320e565b83811115613238576000848401525b50505050565b600061324982613200565b61325381856131a9565b935061326381856020860161320b565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006132a56011836131a9565b91506132b08261326f565b601182019050919050565b60006132c6826131dd565b91506132d2828561323e565b91506132dd82613298565b91506132e9828461323e565b91508190509392505050565b600061330082613200565b61330a8185612996565b935061331a81856020860161320b565b613323816128fc565b840191505092915050565b6000602082019050818103600083015261334881846132f5565b905092915050565b7f42454d756c746953696757616c6c65743a206f7065726174696f6e20616c726560008201527f616479207363686564756c656400000000000000000000000000000000000000602082015250565b60006133ac602d83612996565b91506133b782613350565b604082019050919050565b600060208201905081810360008301526133db8161339f565b9050919050565b7f42454d756c746953696757616c6c65743a20696e73756666696369656e74206460008201527f656c617900000000000000000000000000000000000000000000000000000000602082015250565b600061343e602483612996565b9150613449826133e2565b604082019050919050565b6000602082019050818103600083015261346d81613431565b9050919050565b7f42454d756c746953696757616c6c65743a206f7065726174696f6e206973206e60008201527f6f74207265616479000000000000000000000000000000000000000000000000602082015250565b60006134d0602883612996565b91506134db82613474565b604082019050919050565b600060208201905081810360008301526134ff816134c3565b9050919050565b7f42454d756c746953696757616c6c65743a206f7065726174696f6e206e6f742060008201527f726561636820726571756972656420636f6e6669726d6174696f6e7300000000602082015250565b6000613562603c83612996565b915061356d82613506565b604082019050919050565b6000602082019050818103600083015261359181613555565b9050919050565b7f42454d756c746953696757616c6c65743a206d697373696e6720646570656e6460008201527f656e637900000000000000000000000000000000000000000000000000000000602082015250565b60006135f4602483612996565b91506135ff82613598565b604082019050919050565b60006020820190508181036000830152613623816135e7565b9050919050565b600081905092915050565b6000613641838561362a565b935061364e8385846128ed565b82840190509392505050565b6000613667828486613635565b91508190509392505050565b7f42454d756c746953696757616c6c65743a20756e6465726c79696e672074726160008201527f6e73616374696f6e207265766572746564000000000000000000000000000000602082015250565b60006136cf603183612996565b91506136da82613673565b604082019050919050565b600060208201905081810360008301526136fe816136c2565b9050919050565b600060608201905061371a60008301876127ac565b61372760208301866128b2565b818103604083015261373a81848661290d565b905095945050505050565b6000613750826121e2565b915061375b836121e2565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561379457613793612af4565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006137d9826121e2565b915060008214156137ed576137ec612af4565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061382e602083612996565b9150613839826137f8565b602082019050919050565b6000602082019050818103600083015261385d81613821565b9050919050565b600061386f826121e2565b915061387a836121e2565b92508282101561388d5761388c612af4565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212207304aa08116423e9f4da95c2f2a85a29d0bc03e1ffd7cf17b3b749187ee7d92364736f6c634300080a0033", + "deployedBytecode": "0x6080604052600436106101e75760003560e01c80638065657f11610102578063c4d252f511610095578063d547741f11610064578063d547741f14610784578063dc8452cd146107ad578063e38335e5146107d8578063f3fc536d146107f4576101ee565b8063c4d252f5146106b6578063c63c4e9b146106df578063ca15c8731461070a578063d45c443514610747576101ee565b806391d14854116100d157806391d14854146105e8578063a217fddf14610625578063b1c5f42714610650578063ba51a6df1461068d576101ee565b80638065657f1461051a5780638f2a0bb0146105575780638f61f4f5146105805780639010d07c146105ab576101ee565b80632ab0f5291161017a5780635037ec62116101495780635037ec621461044e578063584b153e146104775780636486aa51146104b457806379716e43146104f1576101ee565b80632ab0f529146103825780632f2ff15d146103bf57806331d50750146103e857806336568abe14610425576101ee565b80630d3cf6fc116101b65780630d3cf6fc146102c1578063134008d3146102ec57806313bc9f2014610308578063248a9ca314610345576101ee565b806301d5062a146101f357806301ffc9a71461021c57806307bd0265146102595780630c4ecab414610284576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b5061021a600480360381019061021591906122b3565b61081d565b005b34801561022857600080fd5b50610243600480360381019061023e91906123ba565b6108ba565b6040516102509190612402565b60405180910390f35b34801561026557600080fd5b5061026e610934565b60405161027b919061242c565b60405180910390f35b34801561029057600080fd5b506102ab60048036038101906102a69190612447565b610958565b6040516102b89190612402565b60405180910390f35b3480156102cd57600080fd5b506102d6610987565b6040516102e3919061242c565b60405180910390f35b61030660048036038101906103019190612487565b6109ab565b005b34801561031457600080fd5b5061032f600480360381019061032a9190612521565b610a2b565b60405161033c9190612402565b60405180910390f35b34801561035157600080fd5b5061036c60048036038101906103679190612521565b610a51565b604051610379919061242c565b60405180910390f35b34801561038e57600080fd5b506103a960048036038101906103a49190612521565b610a70565b6040516103b69190612402565b60405180910390f35b3480156103cb57600080fd5b506103e660048036038101906103e19190612447565b610a85565b005b3480156103f457600080fd5b5061040f600480360381019061040a9190612521565b610aae565b60405161041c9190612402565b60405180910390f35b34801561043157600080fd5b5061044c60048036038101906104479190612447565b610ac2565b005b34801561045a57600080fd5b506104756004803603810190610470919061254e565b610b45565b005b34801561048357600080fd5b5061049e60048036038101906104999190612521565b610bf8565b6040516104ab9190612402565b60405180910390f35b3480156104c057600080fd5b506104db60048036038101906104d69190612521565b610c0d565b6040516104e89190612402565b60405180910390f35b3480156104fd57600080fd5b5061051860048036038101906105139190612521565b610d1a565b005b34801561052657600080fd5b50610541600480360381019061053c9190612487565b610e5f565b60405161054e919061242c565b60405180910390f35b34801561056357600080fd5b5061057e6004803603810190610579919061267d565b610e9e565b005b34801561058c57600080fd5b50610595611051565b6040516105a2919061242c565b60405180910390f35b3480156105b757600080fd5b506105d260048036038101906105cd919061276c565b611075565b6040516105df91906127bb565b60405180910390f35b3480156105f457600080fd5b5061060f600480360381019061060a9190612447565b6110a4565b60405161061c9190612402565b60405180910390f35b34801561063157600080fd5b5061063a61110e565b604051610647919061242c565b60405180910390f35b34801561065c57600080fd5b50610677600480360381019061067291906127d6565b611115565b604051610684919061242c565b60405180910390f35b34801561069957600080fd5b506106b460048036038101906106af919061254e565b61115a565b005b3480156106c257600080fd5b506106dd60048036038101906106d89190612521565b61120d565b005b3480156106eb57600080fd5b506106f46112cf565b60405161070191906128c1565b60405180910390f35b34801561071657600080fd5b50610731600480360381019061072c9190612521565b6112d5565b60405161073e91906128c1565b60405180910390f35b34801561075357600080fd5b5061076e60048036038101906107699190612521565b6112f9565b60405161077b91906128c1565b60405180910390f35b34801561079057600080fd5b506107ab60048036038101906107a69190612447565b611316565b005b3480156107b957600080fd5b506107c261133f565b6040516107cf91906128c1565b60405180910390f35b6107f260048036038101906107ed91906127d6565b611345565b005b34801561080057600080fd5b5061081b60048036038101906108169190612521565b6114db565b005b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161084f8161084a611730565b611738565b600061085f898989898989610e5f565b905061086b81846117d5565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a6040516108a79695949392919061293a565b60405180910390a3505050505050505050565b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061092d575061092c8261188a565b5b9050919050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b60036020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b7f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca581565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e636109d78160006110a4565b6109ed576109ec816109e7611730565b611738565b5b60006109fd888888888888610e5f565b9050610a098185611904565b610a188160008a8a8a8a6119ed565b610a2181611ae5565b5050505050505050565b600080610a37836112f9565b9050600181118015610a495750428111155b915050919050565b6000806000838152602001908152602001600020600101549050919050565b60006001610a7d836112f9565b149050919050565b610a8e82610a51565b610a9f81610a9a611730565b611738565b610aa98383611b49565b505050565b600080610aba836112f9565b119050919050565b610aca611730565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2e90612a19565b60405180910390fd5b610b418282611b7d565b5050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610baa90612aab565b60405180910390fd5b7f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d560045482604051610be6929190612acb565b60405180910390a18060048190555050565b60006001610c05836112f9565b119050919050565b600080600090506000610c3f7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e636112d5565b905060005b81811015610d1157600360008681526020019081526020016000206000610c8b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6384611075565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610ce857600183610ce59190612b23565b92505b600554831415610cfe5760019350505050610d15565b8080610d0990612b79565b915050610c44565b5050505b919050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610d468160006110a4565b610d5c57610d5b81610d56611730565b611738565b5b610d6582610bf8565b610da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9b90612c34565b60405180910390fd5b60016003600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda83604051610e53919061242c565b60405180910390a25050565b6000868686868686604051602001610e7c96959493929190612c54565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1610ed081610ecb611730565b611738565b878790508a8a905014610f18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0f90612d22565b60405180910390fd5b858590508a8a905014610f60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5790612d22565b60405180910390fd5b6000610f728b8b8b8b8b8b8b8b611115565b9050610f7e81846117d5565b60005b8b8b90508110156110435780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610fc257610fc1612d42565b5b9050602002016020810190610fd79190612d71565b8d8d86818110610fea57610fe9612d42565b5b905060200201358c8c8781811061100457611003612d42565b5b90506020028101906110169190612dad565b8c8b60405161102a9695949392919061293a565b60405180910390a38061103c90612b79565b9050610f81565b505050505050505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b600061109c8260016000868152602001908152602001600020611bb190919063ffffffff16565b905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b81565b600088888888888888886040516020016111369897969594939291906130a9565b60405160208183030381529060405280519060200120905098975050505050505050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bf90612aab565b60405180910390fd5b7fdd7c0dd2de894f9cccfd27f17f4f7390a796fb28e4b1d7317e0e758fff8e672e600554826040516111fb929190612acb565b60405180910390a18060058190555050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161123f8161123a611730565b611738565b61124882610bf8565b611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127e90613189565b60405180910390fd5b6002600083815260200190815260200160002060009055817fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7060405160405180910390a25050565b60045481565b60006112f260016000848152602001908152602001600020611bcb565b9050919050565b600060026000838152602001908152602001600020549050919050565b61131f82610a51565b6113308161132b611730565b611738565b61133a8383611b7d565b505050565b60055481565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e636113718160006110a4565b6113875761138681611381611730565b611738565b5b8686905089899050146113cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c690612d22565b60405180910390fd5b848490508989905014611417576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140e90612d22565b60405180910390fd5b60006114298a8a8a8a8a8a8a8a611115565b90506114358185611904565b60005b8a8a90508110156114c5576114b482828d8d8581811061145b5761145a612d42565b5b90506020020160208101906114709190612d71565b8c8c8681811061148357611482612d42565b5b905060200201358b8b8781811061149d5761149c612d42565b5b90506020028101906114af9190612dad565b6119ed565b806114be90612b79565b9050611438565b506114cf81611ae5565b50505050505050505050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e636115078160006110a4565b61151d5761151c81611517611730565b611738565b5b61152682610bf8565b611565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155c90612c34565b60405180910390fd5b60006003600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167f9aec1a62b961581534d37fd62d35e3648f05a17b1f986eda1d1a9d97b147840683604051611614919061242c565b60405180910390a25050565b61162a82826110a4565b6116fc57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506116a1611730565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000611728836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611be0565b905092915050565b600033905090565b61174282826110a4565b6117d1576117678173ffffffffffffffffffffffffffffffffffffffff166014611c50565b6117758360001c6020611c50565b6040516020016117869291906132bb565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c8919061332e565b60405180910390fd5b5050565b6117de82610aae565b1561181e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611815906133c2565b60405180910390fd5b600454811015611863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185a90613454565b60405180910390fd5b804261186f9190612b23565b60026000848152602001908152602001600020819055505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806118fd57506118fc82611e8c565b5b9050919050565b61190d82610a2b565b61194c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611943906134e6565b60405180910390fd5b61195582610c0d565b611994576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198b90613578565b60405180910390fd5b6000801b8114806119aa57506119a981610a70565b5b6119e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e09061360a565b60405180910390fd5b5050565b60008473ffffffffffffffffffffffffffffffffffffffff16848484604051611a1792919061365a565b60006040518083038185875af1925050503d8060008114611a54576040519150601f19603f3d011682016040523d82523d6000602084013e611a59565b606091505b5050905080611a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a94906136e5565b60405180910390fd5b85877fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5887878787604051611ad49493929190613705565b60405180910390a350505050505050565b611aee81610a2b565b611b2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b24906134e6565b60405180910390fd5b6001600260008381526020019081526020016000208190555050565b611b538282611620565b611b78816001600085815260200190815260200160002061170090919063ffffffff16565b505050565b611b878282611ef6565b611bac8160016000858152602001908152602001600020611fd790919063ffffffff16565b505050565b6000611bc08360000183612007565b60001c905092915050565b6000611bd982600001612032565b9050919050565b6000611bec8383612043565b611c45578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050611c4a565b600090505b92915050565b606060006002836002611c639190613745565b611c6d9190612b23565b67ffffffffffffffff811115611c8657611c8561379f565b5b6040519080825280601f01601f191660200182016040528015611cb85781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611cf057611cef612d42565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611d5457611d53612d42565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002611d949190613745565b611d9e9190612b23565b90505b6001811115611e3e577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110611de057611ddf612d42565b5b1a60f81b828281518110611df757611df6612d42565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080611e37906137ce565b9050611da1565b5060008414611e82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7990613844565b60405180910390fd5b8091505092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611f0082826110a4565b15611fd357600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611f78611730565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000611fff836000018373ffffffffffffffffffffffffffffffffffffffff1660001b612066565b905092915050565b600082600001828154811061201f5761201e612d42565b5b9060005260206000200154905092915050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b6000808360010160008481526020019081526020016000205490506000811461216e5760006001826120989190613864565b90506000600186600001805490506120b09190613864565b905081811461211f5760008660000182815481106120d1576120d0612d42565b5b90600052602060002001549050808760000184815481106120f5576120f4612d42565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b8560000180548061213357612132613898565b5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050612174565b60009150505b92915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121af82612184565b9050919050565b6121bf816121a4565b81146121ca57600080fd5b50565b6000813590506121dc816121b6565b92915050565b6000819050919050565b6121f5816121e2565b811461220057600080fd5b50565b600081359050612212816121ec565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261223d5761223c612218565b5b8235905067ffffffffffffffff81111561225a5761225961221d565b5b60208301915083600182028301111561227657612275612222565b5b9250929050565b6000819050919050565b6122908161227d565b811461229b57600080fd5b50565b6000813590506122ad81612287565b92915050565b600080600080600080600060c0888a0312156122d2576122d161217a565b5b60006122e08a828b016121cd565b97505060206122f18a828b01612203565b965050604088013567ffffffffffffffff8111156123125761231161217f565b5b61231e8a828b01612227565b955095505060606123318a828b0161229e565b93505060806123428a828b0161229e565b92505060a06123538a828b01612203565b91505092959891949750929550565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61239781612362565b81146123a257600080fd5b50565b6000813590506123b48161238e565b92915050565b6000602082840312156123d0576123cf61217a565b5b60006123de848285016123a5565b91505092915050565b60008115159050919050565b6123fc816123e7565b82525050565b600060208201905061241760008301846123f3565b92915050565b6124268161227d565b82525050565b6000602082019050612441600083018461241d565b92915050565b6000806040838503121561245e5761245d61217a565b5b600061246c8582860161229e565b925050602061247d858286016121cd565b9150509250929050565b60008060008060008060a087890312156124a4576124a361217a565b5b60006124b289828a016121cd565b96505060206124c389828a01612203565b955050604087013567ffffffffffffffff8111156124e4576124e361217f565b5b6124f089828a01612227565b9450945050606061250389828a0161229e565b925050608061251489828a0161229e565b9150509295509295509295565b6000602082840312156125375761253661217a565b5b60006125458482850161229e565b91505092915050565b6000602082840312156125645761256361217a565b5b600061257284828501612203565b91505092915050565b60008083601f84011261259157612590612218565b5b8235905067ffffffffffffffff8111156125ae576125ad61221d565b5b6020830191508360208202830111156125ca576125c9612222565b5b9250929050565b60008083601f8401126125e7576125e6612218565b5b8235905067ffffffffffffffff8111156126045761260361221d565b5b6020830191508360208202830111156126205761261f612222565b5b9250929050565b60008083601f84011261263d5761263c612218565b5b8235905067ffffffffffffffff81111561265a5761265961221d565b5b60208301915083602082028301111561267657612675612222565b5b9250929050565b600080600080600080600080600060c08a8c03121561269f5761269e61217a565b5b60008a013567ffffffffffffffff8111156126bd576126bc61217f565b5b6126c98c828d0161257b565b995099505060208a013567ffffffffffffffff8111156126ec576126eb61217f565b5b6126f88c828d016125d1565b975097505060408a013567ffffffffffffffff81111561271b5761271a61217f565b5b6127278c828d01612627565b9550955050606061273a8c828d0161229e565b935050608061274b8c828d0161229e565b92505060a061275c8c828d01612203565b9150509295985092959850929598565b600080604083850312156127835761278261217a565b5b60006127918582860161229e565b92505060206127a285828601612203565b9150509250929050565b6127b5816121a4565b82525050565b60006020820190506127d060008301846127ac565b92915050565b60008060008060008060008060a0898b0312156127f6576127f561217a565b5b600089013567ffffffffffffffff8111156128145761281361217f565b5b6128208b828c0161257b565b9850985050602089013567ffffffffffffffff8111156128435761284261217f565b5b61284f8b828c016125d1565b9650965050604089013567ffffffffffffffff8111156128725761287161217f565b5b61287e8b828c01612627565b945094505060606128918b828c0161229e565b92505060806128a28b828c0161229e565b9150509295985092959890939650565b6128bb816121e2565b82525050565b60006020820190506128d660008301846128b2565b92915050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b600061291983856128dc565b93506129268385846128ed565b61292f836128fc565b840190509392505050565b600060a08201905061294f60008301896127ac565b61295c60208301886128b2565b818103604083015261296f81868861290d565b905061297e606083018561241d565b61298b60808301846128b2565b979650505050505050565b600082825260208201905092915050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000612a03602f83612996565b9150612a0e826129a7565b604082019050919050565b60006020820190508181036000830152612a32816129f6565b9050919050565b7f42454d756c746953696757616c6c65743a2063616c6c6572206d75737420626560008201527f2077616c6c657400000000000000000000000000000000000000000000000000602082015250565b6000612a95602783612996565b9150612aa082612a39565b604082019050919050565b60006020820190508181036000830152612ac481612a88565b9050919050565b6000604082019050612ae060008301856128b2565b612aed60208301846128b2565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612b2e826121e2565b9150612b39836121e2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612b6e57612b6d612af4565b5b828201905092915050565b6000612b84826121e2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612bb757612bb6612af4565b5b600182019050919050565b7f42454d756c746953696757616c6c65743a206f7065726174696f6e206e6f742060008201527f6578697374206f722066696e6973686564000000000000000000000000000000602082015250565b6000612c1e603183612996565b9150612c2982612bc2565b604082019050919050565b60006020820190508181036000830152612c4d81612c11565b9050919050565b600060a082019050612c6960008301896127ac565b612c7660208301886128b2565b8181036040830152612c8981868861290d565b9050612c98606083018561241d565b612ca5608083018461241d565b979650505050505050565b7f42454d756c746953696757616c6c65743a206c656e677468206d69736d61746360008201527f6800000000000000000000000000000000000000000000000000000000000000602082015250565b6000612d0c602183612996565b9150612d1782612cb0565b604082019050919050565b60006020820190508181036000830152612d3b81612cff565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215612d8757612d8661217a565b5b6000612d95848285016121cd565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112612dca57612dc9612d9e565b5b80840192508235915067ffffffffffffffff821115612dec57612deb612da3565b5b602083019250600182023603831315612e0857612e07612da8565b5b509250929050565b600082825260208201905092915050565b6000819050919050565b612e34816121a4565b82525050565b6000612e468383612e2b565b60208301905092915050565b6000612e6160208401846121cd565b905092915050565b6000602082019050919050565b6000612e828385612e10565b9350612e8d82612e21565b8060005b85811015612ec657612ea38284612e52565b612ead8882612e3a565b9750612eb883612e69565b925050600181019050612e91565b5085925050509392505050565b600082825260208201905092915050565b600080fd5b6000612ef58385612ed3565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115612f2857612f27612ee4565b5b602083029250612f398385846128ed565b82840190509392505050565b600082825260208201905092915050565b6000819050919050565b600082825260208201905092915050565b6000612f7d8385612f60565b9350612f8a8385846128ed565b612f93836128fc565b840190509392505050565b6000612fab848484612f71565b90509392505050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112612fe057612fdf612fbe565b5b83810192508235915060208301925067ffffffffffffffff82111561300857613007612fb4565b5b60018202360384131561301e5761301d612fb9565b5b509250929050565b6000602082019050919050565b600061303f8385612f45565b93508360208402850161305184612f56565b8060005b8781101561309757848403895261306c8284612fc3565b613077868284612f9e565b955061308284613026565b935060208b019a505050600181019050613055565b50829750879450505050509392505050565b600060a08201905081810360008301526130c4818a8c612e76565b905081810360208301526130d981888a612ee9565b905081810360408301526130ee818688613033565b90506130fd606083018561241d565b61310a608083018461241d565b9998505050505050505050565b7f42454d756c746953696757616c6c65743a206f7065726174696f6e2063616e6e60008201527f6f742062652063616e63656c6c65640000000000000000000000000000000000602082015250565b6000613173602f83612996565b915061317e82613117565b604082019050919050565b600060208201905081810360008301526131a281613166565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006131ea6017836131a9565b91506131f5826131b4565b601782019050919050565b600081519050919050565b60005b8381101561322957808201518184015260208101905061320e565b83811115613238576000848401525b50505050565b600061324982613200565b61325381856131a9565b935061326381856020860161320b565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006132a56011836131a9565b91506132b08261326f565b601182019050919050565b60006132c6826131dd565b91506132d2828561323e565b91506132dd82613298565b91506132e9828461323e565b91508190509392505050565b600061330082613200565b61330a8185612996565b935061331a81856020860161320b565b613323816128fc565b840191505092915050565b6000602082019050818103600083015261334881846132f5565b905092915050565b7f42454d756c746953696757616c6c65743a206f7065726174696f6e20616c726560008201527f616479207363686564756c656400000000000000000000000000000000000000602082015250565b60006133ac602d83612996565b91506133b782613350565b604082019050919050565b600060208201905081810360008301526133db8161339f565b9050919050565b7f42454d756c746953696757616c6c65743a20696e73756666696369656e74206460008201527f656c617900000000000000000000000000000000000000000000000000000000602082015250565b600061343e602483612996565b9150613449826133e2565b604082019050919050565b6000602082019050818103600083015261346d81613431565b9050919050565b7f42454d756c746953696757616c6c65743a206f7065726174696f6e206973206e60008201527f6f74207265616479000000000000000000000000000000000000000000000000602082015250565b60006134d0602883612996565b91506134db82613474565b604082019050919050565b600060208201905081810360008301526134ff816134c3565b9050919050565b7f42454d756c746953696757616c6c65743a206f7065726174696f6e206e6f742060008201527f726561636820726571756972656420636f6e6669726d6174696f6e7300000000602082015250565b6000613562603c83612996565b915061356d82613506565b604082019050919050565b6000602082019050818103600083015261359181613555565b9050919050565b7f42454d756c746953696757616c6c65743a206d697373696e6720646570656e6460008201527f656e637900000000000000000000000000000000000000000000000000000000602082015250565b60006135f4602483612996565b91506135ff82613598565b604082019050919050565b60006020820190508181036000830152613623816135e7565b9050919050565b600081905092915050565b6000613641838561362a565b935061364e8385846128ed565b82840190509392505050565b6000613667828486613635565b91508190509392505050565b7f42454d756c746953696757616c6c65743a20756e6465726c79696e672074726160008201527f6e73616374696f6e207265766572746564000000000000000000000000000000602082015250565b60006136cf603183612996565b91506136da82613673565b604082019050919050565b600060208201905081810360008301526136fe816136c2565b9050919050565b600060608201905061371a60008301876127ac565b61372760208301866128b2565b818103604083015261373a81848661290d565b905095945050505050565b6000613750826121e2565b915061375b836121e2565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561379457613793612af4565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006137d9826121e2565b915060008214156137ed576137ec612af4565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061382e602083612996565b9150613839826137f8565b602082019050919050565b6000602082019050818103600083015261385d81613821565b9050919050565b600061386f826121e2565b915061387a836121e2565b92508282101561388d5761388c612af4565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212207304aa08116423e9f4da95c2f2a85a29d0bc03e1ffd7cf17b3b749187ee7d92364736f6c634300080a0033", + "immutableReferences": {}, + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:6282:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:10", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:10" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:10" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:10" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:10", + "type": "" + } + ], + "src": "7:75:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:10" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:10" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "379:32:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "389:16:10", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "400:5:10" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "389:7:10" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "361:5:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "371:7:10", + "type": "" + } + ], + "src": "334:77:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "460:79:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "517:16:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "526:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "529:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "519:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "519:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "519:12:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "483:5:10" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "508:5:10" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "490:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "490:24:10" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "480:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "480:35:10" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "473:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "473:43:10" + }, + "nodeType": "YulIf", + "src": "470:63:10" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "453:5:10", + "type": "" + } + ], + "src": "417:122:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "608:80:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "618:22:10", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "633:6:10" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "627:5:10" + }, + "nodeType": "YulFunctionCall", + "src": "627:13:10" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "618:5:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "676:5:10" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "649:26:10" + }, + "nodeType": "YulFunctionCall", + "src": "649:33:10" + }, + "nodeType": "YulExpressionStatement", + "src": "649:33:10" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "586:6:10", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "594:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "602:5:10", + "type": "" + } + ], + "src": "545:143:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "783:28:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "800:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "803:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "793:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "793:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "793:12:10" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "694:117:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "865:54:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "875:38:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "893:5:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "900:2:10", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "889:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "889:14:10" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "909:2:10", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "905:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "905:7:10" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "885:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "885:28:10" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "875:6:10" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "848:5:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "858:6:10", + "type": "" + } + ], + "src": "817:102:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "953:152:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "970:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "973:77:10", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "963:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "963:88:10" + }, + "nodeType": "YulExpressionStatement", + "src": "963:88:10" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1067:1:10", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1070:4:10", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1060:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "1060:15:10" + }, + "nodeType": "YulExpressionStatement", + "src": "1060:15:10" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1091:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1094:4:10", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1084:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "1084:15:10" + }, + "nodeType": "YulExpressionStatement", + "src": "1084:15:10" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "925:180:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1154:238:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1164:58:10", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1186:6:10" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1216:4:10" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "1194:21:10" + }, + "nodeType": "YulFunctionCall", + "src": "1194:27:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1182:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "1182:40:10" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "1168:10:10", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1333:22:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1335:16:10" + }, + "nodeType": "YulFunctionCall", + "src": "1335:18:10" + }, + "nodeType": "YulExpressionStatement", + "src": "1335:18:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1276:10:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1288:18:10", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1273:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "1273:34:10" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1312:10:10" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1324:6:10" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1309:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "1309:22:10" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1270:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "1270:62:10" + }, + "nodeType": "YulIf", + "src": "1267:88:10" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1371:2:10", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1375:10:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1364:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "1364:22:10" + }, + "nodeType": "YulExpressionStatement", + "src": "1364:22:10" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1140:6:10", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1148:4:10", + "type": "" + } + ], + "src": "1111:281:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1439:88:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1449:30:10", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "1459:18:10" + }, + "nodeType": "YulFunctionCall", + "src": "1459:20:10" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1449:6:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1508:6:10" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1516:4:10" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "1488:19:10" + }, + "nodeType": "YulFunctionCall", + "src": "1488:33:10" + }, + "nodeType": "YulExpressionStatement", + "src": "1488:33:10" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1423:4:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1432:6:10", + "type": "" + } + ], + "src": "1398:129:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1615:229:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1720:22:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1722:16:10" + }, + "nodeType": "YulFunctionCall", + "src": "1722:18:10" + }, + "nodeType": "YulExpressionStatement", + "src": "1722:18:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1692:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1700:18:10", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1689:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "1689:30:10" + }, + "nodeType": "YulIf", + "src": "1686:56:10" + }, + { + "nodeType": "YulAssignment", + "src": "1752:25:10", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1764:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1772:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "1760:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "1760:17:10" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1752:4:10" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1814:23:10", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1826:4:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1832:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1822:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "1822:15:10" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1814:4:10" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1599:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1610:4:10", + "type": "" + } + ], + "src": "1533:311:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1939:28:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1956:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1959:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1949:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "1949:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "1949:12:10" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulFunctionDefinition", + "src": "1850:117:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2018:81:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2028:65:10", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2043:5:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2050:42:10", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2039:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "2039:54:10" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "2028:7:10" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2000:5:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "2010:7:10", + "type": "" + } + ], + "src": "1973:126:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2150:51:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2160:35:10", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2189:5:10" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "2171:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "2171:24:10" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "2160:7:10" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2132:5:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "2142:7:10", + "type": "" + } + ], + "src": "2105:96:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2250:79:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2307:16:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2316:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2319:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2309:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "2309:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "2309:12:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2273:5:10" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2298:5:10" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "2280:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "2280:24:10" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2270:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "2270:35:10" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2263:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "2263:43:10" + }, + "nodeType": "YulIf", + "src": "2260:63:10" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2243:5:10", + "type": "" + } + ], + "src": "2207:122:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2398:80:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2408:22:10", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2423:6:10" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2417:5:10" + }, + "nodeType": "YulFunctionCall", + "src": "2417:13:10" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2408:5:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2466:5:10" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "2439:26:10" + }, + "nodeType": "YulFunctionCall", + "src": "2439:33:10" + }, + "nodeType": "YulExpressionStatement", + "src": "2439:33:10" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2376:6:10", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2384:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2392:5:10", + "type": "" + } + ], + "src": "2335:143:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2614:619:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2624:90:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2706:6:10" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_address_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2649:56:10" + }, + "nodeType": "YulFunctionCall", + "src": "2649:64:10" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "2633:15:10" + }, + "nodeType": "YulFunctionCall", + "src": "2633:81:10" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2624:5:10" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2723:16:10", + "value": { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2734:5:10" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "2727:3:10", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2756:5:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2763:6:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2749:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "2749:21:10" + }, + "nodeType": "YulExpressionStatement", + "src": "2749:21:10" + }, + { + "nodeType": "YulAssignment", + "src": "2779:23:10", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2790:5:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2797:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2786:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "2786:16:10" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2779:3:10" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2812:44:10", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2830:6:10" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2842:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2850:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "2838:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "2838:17:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2826:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "2826:30:10" + }, + "variables": [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "2816:6:10", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2884:103:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "2898:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "2898:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "2898:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "2871:6:10" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2879:3:10" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2868:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "2868:15:10" + }, + "nodeType": "YulIf", + "src": "2865:122:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3072:155:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3087:21:10", + "value": { + "name": "src", + "nodeType": "YulIdentifier", + "src": "3105:3:10" + }, + "variables": [ + { + "name": "elementPos", + "nodeType": "YulTypedName", + "src": "3091:10:10", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "3129:3:10" + }, + { + "arguments": [ + { + "name": "elementPos", + "nodeType": "YulIdentifier", + "src": "3166:10:10" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3178:3:10" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nodeType": "YulIdentifier", + "src": "3134:31:10" + }, + "nodeType": "YulFunctionCall", + "src": "3134:48:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3122:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "3122:61:10" + }, + "nodeType": "YulExpressionStatement", + "src": "3122:61:10" + }, + { + "nodeType": "YulAssignment", + "src": "3196:21:10", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "3207:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3212:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3203:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "3203:14:10" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "3196:3:10" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "3025:3:10" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "3030:6:10" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "3022:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "3022:15:10" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "3038:25:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3040:21:10", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "3051:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3056:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3047:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "3047:14:10" + }, + "variableNames": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "3040:3:10" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "3000:21:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3002:17:10", + "value": { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3013:6:10" + }, + "variables": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "3006:3:10", + "type": "" + } + ] + } + ] + }, + "src": "2996:231:10" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2584:6:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2592:6:10", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2600:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "2608:5:10", + "type": "" + } + ], + "src": "2501:732:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3344:297:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3393:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "3395:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "3395:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "3395:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3372:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3380:4:10", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3368:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "3368:17:10" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3387:3:10" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3364:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "3364:27:10" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3357:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "3357:35:10" + }, + "nodeType": "YulIf", + "src": "3354:122:10" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3485:27:10", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3505:6:10" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3499:5:10" + }, + "nodeType": "YulFunctionCall", + "src": "3499:13:10" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3489:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3521:114:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3608:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3616:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3604:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "3604:17:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3623:6:10" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3631:3:10" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "3530:73:10" + }, + "nodeType": "YulFunctionCall", + "src": "3530:105:10" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "3521:5:10" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3322:6:10", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3330:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "3338:5:10", + "type": "" + } + ], + "src": "3256:385:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3808:908:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3854:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "3856:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "3856:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "3856:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3829:7:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3838:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3825:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "3825:23:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3850:2:10", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3821:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "3821:32:10" + }, + "nodeType": "YulIf", + "src": "3818:119:10" + }, + { + "nodeType": "YulBlock", + "src": "3947:128:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3962:15:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3976:1:10", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3966:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3991:74:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4037:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4048:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4033:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "4033:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4057:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulIdentifier", + "src": "4001:31:10" + }, + "nodeType": "YulFunctionCall", + "src": "4001:64:10" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3991:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4085:307:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4100:39:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4124:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4135:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4120:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "4120:18:10" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "4114:5:10" + }, + "nodeType": "YulFunctionCall", + "src": "4114:25:10" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4104:6:10", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4186:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "4188:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "4188:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "4188:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4158:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4166:18:10", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4155:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "4155:30:10" + }, + "nodeType": "YulIf", + "src": "4152:117:10" + }, + { + "nodeType": "YulAssignment", + "src": "4283:99:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4354:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4365:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4350:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "4350:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4374:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "4293:56:10" + }, + "nodeType": "YulFunctionCall", + "src": "4293:89:10" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "4283:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4402:307:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4417:39:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4441:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4452:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4437:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "4437:18:10" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "4431:5:10" + }, + "nodeType": "YulFunctionCall", + "src": "4431:25:10" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4421:6:10", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4503:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "4505:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "4505:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "4505:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4475:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4483:18:10", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4472:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "4472:30:10" + }, + "nodeType": "YulIf", + "src": "4469:117:10" + }, + { + "nodeType": "YulAssignment", + "src": "4600:99:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4671:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4682:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4667:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "4667:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4691:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "4610:56:10" + }, + "nodeType": "YulFunctionCall", + "src": "4610:89:10" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "4600:6:10" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_array$_t_address_$dyn_memory_ptrt_array$_t_address_$dyn_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3762:9:10", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3773:7:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3785:6:10", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3793:6:10", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "3801:6:10", + "type": "" + } + ], + "src": "3647:1069:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4750:152:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4767:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4770:77:10", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4760:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "4760:88:10" + }, + "nodeType": "YulExpressionStatement", + "src": "4760:88:10" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4864:1:10", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4867:4:10", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4857:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "4857:15:10" + }, + "nodeType": "YulExpressionStatement", + "src": "4857:15:10" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4888:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4891:4:10", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4881:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "4881:15:10" + }, + "nodeType": "YulExpressionStatement", + "src": "4881:15:10" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "4722:180:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4936:152:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4953:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4956:77:10", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4946:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "4946:88:10" + }, + "nodeType": "YulExpressionStatement", + "src": "4946:88:10" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5050:1:10", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5053:4:10", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5043:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "5043:15:10" + }, + "nodeType": "YulExpressionStatement", + "src": "5043:15:10" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5074:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5077:4:10", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5067:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "5067:15:10" + }, + "nodeType": "YulExpressionStatement", + "src": "5067:15:10" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "4908:180:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5137:190:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5147:33:10", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5174:5:10" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "5156:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "5156:24:10" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5147:5:10" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5270:22:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "5272:16:10" + }, + "nodeType": "YulFunctionCall", + "src": "5272:18:10" + }, + "nodeType": "YulExpressionStatement", + "src": "5272:18:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5195:5:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5202:66:10", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "5192:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "5192:77:10" + }, + "nodeType": "YulIf", + "src": "5189:103:10" + }, + { + "nodeType": "YulAssignment", + "src": "5301:20:10", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5312:5:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5319:1:10", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5308:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "5308:13:10" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "5301:3:10" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5123:5:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "5133:3:10", + "type": "" + } + ], + "src": "5094:233:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5386:32:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5396:16:10", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5407:5:10" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "5396:7:10" + } + ] + } + ] + }, + "name": "cleanup_t_rational_0_by_1", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5368:5:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "5378:7:10", + "type": "" + } + ], + "src": "5333:85:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5456:28:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5466:12:10", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5473:5:10" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "5466:3:10" + } + ] + } + ] + }, + "name": "identity", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5442:5:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "5452:3:10", + "type": "" + } + ], + "src": "5424:60:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5558:90:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5568:74:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5634:5:10" + } + ], + "functionName": { + "name": "cleanup_t_rational_0_by_1", + "nodeType": "YulIdentifier", + "src": "5608:25:10" + }, + "nodeType": "YulFunctionCall", + "src": "5608:32:10" + } + ], + "functionName": { + "name": "identity", + "nodeType": "YulIdentifier", + "src": "5599:8:10" + }, + "nodeType": "YulFunctionCall", + "src": "5599:42:10" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "5581:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "5581:61:10" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "5568:9:10" + } + ] + } + ] + }, + "name": "convert_t_rational_0_by_1_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5538:5:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "5548:9:10", + "type": "" + } + ], + "src": "5490:158:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5727:74:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5744:3:10" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5788:5:10" + } + ], + "functionName": { + "name": "convert_t_rational_0_by_1_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "5749:38:10" + }, + "nodeType": "YulFunctionCall", + "src": "5749:45:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5737:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "5737:58:10" + }, + "nodeType": "YulExpressionStatement", + "src": "5737:58:10" + } + ] + }, + "name": "abi_encode_t_rational_0_by_1_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5715:5:10", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5722:3:10", + "type": "" + } + ], + "src": "5654:147:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5872:53:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5889:3:10" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5912:5:10" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "5894:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "5894:24:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5882:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "5882:37:10" + }, + "nodeType": "YulExpressionStatement", + "src": "5882:37:10" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5860:5:10", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5867:3:10", + "type": "" + } + ], + "src": "5807:118:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6065:214:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6075:26:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6087:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6098:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6083:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "6083:18:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6075:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6163:6:10" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6176:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6187:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6172:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "6172:17:10" + } + ], + "functionName": { + "name": "abi_encode_t_rational_0_by_1_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "6111:51:10" + }, + "nodeType": "YulFunctionCall", + "src": "6111:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "6111:79:10" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "6244:6:10" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6257:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6268:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6253:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "6253:18:10" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "6200:43:10" + }, + "nodeType": "YulFunctionCall", + "src": "6200:72:10" + }, + "nodeType": "YulExpressionStatement", + "src": "6200:72:10" + } + ] + }, + "name": "abi_encode_tuple_t_rational_0_by_1_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6029:9:10", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "6041:6:10", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6049:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "6060:4:10", + "type": "" + } + ], + "src": "5931:348:10" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\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 revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\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 abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n // address[]\n function abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_address_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_address_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // address[]\n function abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_address_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_uint256t_array$_t_address_$dyn_memory_ptrt_array$_t_address_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_array$_t_address_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\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 cleanup_t_rational_0_by_1(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_rational_0_by_1_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_rational_0_by_1(value)))\n }\n\n function abi_encode_t_rational_0_by_1_to_t_uint256_fromStack(value, pos) {\n mstore(pos, convert_t_rational_0_by_1_to_t_uint256(value))\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_rational_0_by_1_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_rational_0_by_1_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n}\n", + "id": 10, + "language": "Yul", + "name": "#utility.yul" + } + ], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:44646:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:10", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:10" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:10" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:10" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:10", + "type": "" + } + ], + "src": "7:75:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:10" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:10" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "379:81:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "389:65:10", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "404:5:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "411:42:10", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "400:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "400:54:10" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "389:7:10" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "361:5:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "371:7:10", + "type": "" + } + ], + "src": "334:126:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "511:51:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "521:35:10", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "550:5:10" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "532:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "532:24:10" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "521:7:10" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "493:5:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "503:7:10", + "type": "" + } + ], + "src": "466:96:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "611:79:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "668:16:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "677:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "680:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "670:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "670:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "670:12:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "634:5:10" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "659:5:10" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "641:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "641:24:10" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "631:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "631:35:10" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "624:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "624:43:10" + }, + "nodeType": "YulIf", + "src": "621:63:10" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "604:5:10", + "type": "" + } + ], + "src": "568:122:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "748:87:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "758:29:10", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "780:6:10" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "767:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "767:20:10" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "758:5:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "823:5:10" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "796:26:10" + }, + "nodeType": "YulFunctionCall", + "src": "796:33:10" + }, + "nodeType": "YulExpressionStatement", + "src": "796:33:10" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "726:6:10", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "734:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "742:5:10", + "type": "" + } + ], + "src": "696:139:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "886:32:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "896:16:10", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "907:5:10" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "896:7:10" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "868:5:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "878:7:10", + "type": "" + } + ], + "src": "841:77:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "967:79:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1024:16:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1033:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1036:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1026:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "1026:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "1026:12:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "990:5:10" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1015:5:10" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "997:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "997:24:10" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "987:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "987:35:10" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "980:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "980:43:10" + }, + "nodeType": "YulIf", + "src": "977:63:10" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "960:5:10", + "type": "" + } + ], + "src": "924:122:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1104:87:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1114:29:10", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1136:6:10" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1123:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "1123:20:10" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1114:5:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1179:5:10" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "1152:26:10" + }, + "nodeType": "YulFunctionCall", + "src": "1152:33:10" + }, + "nodeType": "YulExpressionStatement", + "src": "1152:33:10" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1082:6:10", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1090:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1098:5:10", + "type": "" + } + ], + "src": "1052:139:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1286:28:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1303:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1306:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1296:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "1296:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "1296:12:10" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "1197:117:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1409:28:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1426:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1429:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1419:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "1419:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "1419:12:10" + } + ] + }, + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nodeType": "YulFunctionDefinition", + "src": "1320:117:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1532:28:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1549:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1552:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1542:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "1542:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "1542:12:10" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulFunctionDefinition", + "src": "1443:117:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1653:478:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1702:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "1704:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "1704:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "1704:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1681:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1689:4:10", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1677:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "1677:17:10" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1696:3:10" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1673:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "1673:27:10" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1666:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "1666:35:10" + }, + "nodeType": "YulIf", + "src": "1663:122:10" + }, + { + "nodeType": "YulAssignment", + "src": "1794:30:10", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1817:6:10" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1804:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "1804:20:10" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1794:6:10" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1867:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nodeType": "YulIdentifier", + "src": "1869:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "1869:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "1869:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1839:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1847:18:10", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1836:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "1836:30:10" + }, + "nodeType": "YulIf", + "src": "1833:117:10" + }, + { + "nodeType": "YulAssignment", + "src": "1959:29:10", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1975:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1983:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1971:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "1971:17:10" + }, + "variableNames": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "1959:8:10" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2042:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "2044:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "2044:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "2044:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "2007:8:10" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2021:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2029:4:10", + "type": "", + "value": "0x01" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "2017:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "2017:17:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2003:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "2003:32:10" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2037:3:10" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2000:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "2000:41:10" + }, + "nodeType": "YulIf", + "src": "1997:128:10" + } + ] + }, + "name": "abi_decode_t_bytes_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1620:6:10", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1628:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nodeType": "YulTypedName", + "src": "1636:8:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1646:6:10", + "type": "" + } + ], + "src": "1579:552:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2182:32:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2192:16:10", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2203:5:10" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "2192:7:10" + } + ] + } + ] + }, + "name": "cleanup_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2164:5:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "2174:7:10", + "type": "" + } + ], + "src": "2137:77:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2263:79:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2320:16:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2329:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2332:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2322:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "2322:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "2322:12:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2286:5:10" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2311:5:10" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "2293:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "2293:24:10" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2283:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "2283:35:10" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2276:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "2276:43:10" + }, + "nodeType": "YulIf", + "src": "2273:63:10" + } + ] + }, + "name": "validator_revert_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2256:5:10", + "type": "" + } + ], + "src": "2220:122:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2400:87:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2410:29:10", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2432:6:10" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2419:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "2419:20:10" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2410:5:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2475:5:10" + } + ], + "functionName": { + "name": "validator_revert_t_bytes32", + "nodeType": "YulIdentifier", + "src": "2448:26:10" + }, + "nodeType": "YulFunctionCall", + "src": "2448:33:10" + }, + "nodeType": "YulExpressionStatement", + "src": "2448:33:10" + } + ] + }, + "name": "abi_decode_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2378:6:10", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2386:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2394:5:10", + "type": "" + } + ], + "src": "2348:139:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2663:1085:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2710:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "2712:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "2712:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "2712:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2684:7:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2693:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2680:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "2680:23:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2705:3:10", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2676:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "2676:33:10" + }, + "nodeType": "YulIf", + "src": "2673:120:10" + }, + { + "nodeType": "YulBlock", + "src": "2803:117:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2818:15:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2832:1:10", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2822:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2847:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2882:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2893:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2878:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "2878:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2902:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "2857:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "2857:53:10" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2847:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "2930:118:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2945:16:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2959:2:10", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2949:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2975:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3010:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3021:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3006:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "3006:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3030:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "2985:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "2985:53:10" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "2975:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3058:297:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3073:46:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3104:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3115:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3100:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "3100:18:10" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3087:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "3087:32:10" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3077:6:10", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3166:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "3168:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "3168:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "3168:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3138:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3146:18:10", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3135:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "3135:30:10" + }, + "nodeType": "YulIf", + "src": "3132:117:10" + }, + { + "nodeType": "YulAssignment", + "src": "3263:82:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3317:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3328:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3313:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "3313:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3337:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "3281:31:10" + }, + "nodeType": "YulFunctionCall", + "src": "3281:64:10" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "3263:6:10" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "3271:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3365:118:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3380:16:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3394:2:10", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3384:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3410:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3445:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3456:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3441:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "3441:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3465:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "3420:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "3420:53:10" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "3410:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3493:119:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3508:17:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3522:3:10", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3512:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3539:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3574:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3585:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3570:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "3570:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3594:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "3549:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "3549:53:10" + }, + "variableNames": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "3539:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3622:119:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3637:17:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3651:3:10", + "type": "", + "value": "160" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3641:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3668:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3703:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3714:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3699:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "3699:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3723:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "3678:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "3678:53:10" + }, + "variableNames": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "3668:6:10" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256t_bytes_calldata_ptrt_bytes32t_bytes32t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2585:9:10", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2596:7:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2608:6:10", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "2616:6:10", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "2624:6:10", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "2632:6:10", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "2640:6:10", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "2648:6:10", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "2656:6:10", + "type": "" + } + ], + "src": "2493:1255:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3798:105:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3808:89:10", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3823:5:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3830:66:10", + "type": "", + "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3819:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "3819:78:10" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "3808:7:10" + } + ] + } + ] + }, + "name": "cleanup_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3780:5:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "3790:7:10", + "type": "" + } + ], + "src": "3754:149:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3951:78:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4007:16:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4016:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4019:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4009:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "4009:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "4009:12:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3974:5:10" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3998:5:10" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nodeType": "YulIdentifier", + "src": "3981:16:10" + }, + "nodeType": "YulFunctionCall", + "src": "3981:23:10" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "3971:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "3971:34:10" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3964:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "3964:42:10" + }, + "nodeType": "YulIf", + "src": "3961:62:10" + } + ] + }, + "name": "validator_revert_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3944:5:10", + "type": "" + } + ], + "src": "3909:120:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4086:86:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4096:29:10", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4118:6:10" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4105:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "4105:20:10" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4096:5:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4160:5:10" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nodeType": "YulIdentifier", + "src": "4134:25:10" + }, + "nodeType": "YulFunctionCall", + "src": "4134:32:10" + }, + "nodeType": "YulExpressionStatement", + "src": "4134:32:10" + } + ] + }, + "name": "abi_decode_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4064:6:10", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4072:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4080:5:10", + "type": "" + } + ], + "src": "4035:137:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4243:262:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4289:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "4291:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "4291:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "4291:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4264:7:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4273:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4260:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "4260:23:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4285:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4256:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "4256:32:10" + }, + "nodeType": "YulIf", + "src": "4253:119:10" + }, + { + "nodeType": "YulBlock", + "src": "4382:116:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4397:15:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4411:1:10", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4401:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4426:62:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4460:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4471:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4456:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "4456:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4480:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4", + "nodeType": "YulIdentifier", + "src": "4436:19:10" + }, + "nodeType": "YulFunctionCall", + "src": "4436:52:10" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4426:6:10" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4213:9:10", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4224:7:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4236:6:10", + "type": "" + } + ], + "src": "4178:327:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4553:48:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4563:32:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4588:5:10" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4581:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "4581:13:10" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4574:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "4574:21:10" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "4563:7:10" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4535:5:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "4545:7:10", + "type": "" + } + ], + "src": "4511:90:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4666:50:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4683:3:10" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4703:5:10" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "4688:14:10" + }, + "nodeType": "YulFunctionCall", + "src": "4688:21:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4676:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "4676:34:10" + }, + "nodeType": "YulExpressionStatement", + "src": "4676:34:10" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4654:5:10", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4661:3:10", + "type": "" + } + ], + "src": "4607:109:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4814:118:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4824:26:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4836:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4847:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4832:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "4832:18:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4824:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4898:6:10" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4911:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4922:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4907:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "4907:17:10" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "4860:37:10" + }, + "nodeType": "YulFunctionCall", + "src": "4860:65:10" + }, + "nodeType": "YulExpressionStatement", + "src": "4860:65:10" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4786:9:10", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4798:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "4809:4:10", + "type": "" + } + ], + "src": "4722:210:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5003:53:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5020:3:10" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5043:5:10" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "5025:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "5025:24:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5013:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "5013:37:10" + }, + "nodeType": "YulExpressionStatement", + "src": "5013:37:10" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4991:5:10", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4998:3:10", + "type": "" + } + ], + "src": "4938:118:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5160:124:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5170:26:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5182:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5193:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5178:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "5178:18:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5170:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5250:6:10" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5263:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5274:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5259:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "5259:17:10" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "5206:43:10" + }, + "nodeType": "YulFunctionCall", + "src": "5206:71:10" + }, + "nodeType": "YulExpressionStatement", + "src": "5206:71:10" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5132:9:10", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5144:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5155:4:10", + "type": "" + } + ], + "src": "5062:222:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5373:391:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5419:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "5421:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "5421:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "5421:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5394:7:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5403:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5390:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "5390:23:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5415:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5386:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "5386:32:10" + }, + "nodeType": "YulIf", + "src": "5383:119:10" + }, + { + "nodeType": "YulBlock", + "src": "5512:117:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5527:15:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5541:1:10", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5531:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5556:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5591:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5602:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5587:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "5587:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5611:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "5566:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "5566:53:10" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5556:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "5639:118:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5654:16:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5668:2:10", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5658:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5684:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5719:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5730:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5715:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "5715:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5739:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "5694:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "5694:53:10" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "5684:6:10" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5335:9:10", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5346:7:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5358:6:10", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "5366:6:10", + "type": "" + } + ], + "src": "5290:474:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5923:956:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5970:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "5972:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "5972:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "5972:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5944:7:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5953:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5940:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "5940:23:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5965:3:10", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5936:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "5936:33:10" + }, + "nodeType": "YulIf", + "src": "5933:120:10" + }, + { + "nodeType": "YulBlock", + "src": "6063:117:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6078:15:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6092:1:10", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6082:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6107:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6142:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6153:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6138:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "6138:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6162:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "6117:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "6117:53:10" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6107:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "6190:118:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6205:16:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6219:2:10", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6209:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6235:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6270:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6281:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6266:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "6266:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6290:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "6245:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "6245:53:10" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "6235:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "6318:297:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6333:46:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6364:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6375:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6360:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "6360:18:10" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6347:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "6347:32:10" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6337:6:10", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6426:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "6428:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "6428:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "6428:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6398:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6406:18:10", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6395:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "6395:30:10" + }, + "nodeType": "YulIf", + "src": "6392:117:10" + }, + { + "nodeType": "YulAssignment", + "src": "6523:82:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6577:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6588:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6573:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "6573:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6597:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "6541:31:10" + }, + "nodeType": "YulFunctionCall", + "src": "6541:64:10" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "6523:6:10" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "6531:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "6625:118:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6640:16:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6654:2:10", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6644:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6670:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6705:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6716:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6701:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "6701:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6725:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "6680:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "6680:53:10" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "6670:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "6753:119:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6768:17:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6782:3:10", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6772:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6799:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6834:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6845:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6830:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "6830:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6854:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "6809:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "6809:53:10" + }, + "variableNames": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "6799:6:10" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256t_bytes_calldata_ptrt_bytes32t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5853:9:10", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5864:7:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5876:6:10", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "5884:6:10", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "5892:6:10", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "5900:6:10", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "5908:6:10", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "5916:6:10", + "type": "" + } + ], + "src": "5770:1109:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6951:263:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6997:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "6999:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "6999:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "6999:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6972:7:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6981:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6968:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "6968:23:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6993:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6964:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "6964:32:10" + }, + "nodeType": "YulIf", + "src": "6961:119:10" + }, + { + "nodeType": "YulBlock", + "src": "7090:117:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7105:15:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7119:1:10", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7109:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7134:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7169:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7180:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7165:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "7165:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7189:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "7144:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "7144:53:10" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7134:6:10" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6921:9:10", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "6932:7:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6944:6:10", + "type": "" + } + ], + "src": "6885:329:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7286:263:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7332:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "7334:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "7334:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "7334:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7307:7:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7316:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7303:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "7303:23:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7328:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "7299:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "7299:32:10" + }, + "nodeType": "YulIf", + "src": "7296:119:10" + }, + { + "nodeType": "YulBlock", + "src": "7425:117:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7440:15:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7454:1:10", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7444:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7469:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7504:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7515:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7500:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "7500:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7524:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "7479:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "7479:53:10" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7469:6:10" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7256:9:10", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "7267:7:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7279:6:10", + "type": "" + } + ], + "src": "7220:329:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7662:478:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7711:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "7713:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "7713:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "7713:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7690:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7698:4:10", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7686:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "7686:17:10" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7705:3:10" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "7682:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "7682:27:10" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "7675:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "7675:35:10" + }, + "nodeType": "YulIf", + "src": "7672:122:10" + }, + { + "nodeType": "YulAssignment", + "src": "7803:30:10", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7826:6:10" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7813:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "7813:20:10" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7803:6:10" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7876:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nodeType": "YulIdentifier", + "src": "7878:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "7878:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "7878:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7848:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7856:18:10", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7845:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "7845:30:10" + }, + "nodeType": "YulIf", + "src": "7842:117:10" + }, + { + "nodeType": "YulAssignment", + "src": "7968:29:10", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7984:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7992:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7980:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "7980:17:10" + }, + "variableNames": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "7968:8:10" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8051:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "8053:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "8053:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "8053:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "8016:8:10" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8030:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8038:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "8026:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "8026:17:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8012:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "8012:32:10" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8046:3:10" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8009:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "8009:41:10" + }, + "nodeType": "YulIf", + "src": "8006:128:10" + } + ] + }, + "name": "abi_decode_t_array$_t_address_$dyn_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7629:6:10", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "7637:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nodeType": "YulTypedName", + "src": "7645:8:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7655:6:10", + "type": "" + } + ], + "src": "7572:568:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8253:478:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "8302:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "8304:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "8304:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "8304:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8281:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8289:4:10", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8277:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "8277:17:10" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8296:3:10" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "8273:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "8273:27:10" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "8266:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "8266:35:10" + }, + "nodeType": "YulIf", + "src": "8263:122:10" + }, + { + "nodeType": "YulAssignment", + "src": "8394:30:10", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8417:6:10" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8404:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "8404:20:10" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8394:6:10" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8467:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nodeType": "YulIdentifier", + "src": "8469:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "8469:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "8469:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8439:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8447:18:10", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8436:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "8436:30:10" + }, + "nodeType": "YulIf", + "src": "8433:117:10" + }, + { + "nodeType": "YulAssignment", + "src": "8559:29:10", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8575:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8583:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8571:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "8571:17:10" + }, + "variableNames": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "8559:8:10" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8642:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "8644:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "8644:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "8644:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "8607:8:10" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8621:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8629:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "8617:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "8617:17:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8603:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "8603:32:10" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8637:3:10" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8600:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "8600:41:10" + }, + "nodeType": "YulIf", + "src": "8597:128:10" + } + ] + }, + "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8220:6:10", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8228:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nodeType": "YulTypedName", + "src": "8236:8:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "8246:6:10", + "type": "" + } + ], + "src": "8163:568:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8853:478:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "8902:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "8904:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "8904:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "8904:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8881:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8889:4:10", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8877:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "8877:17:10" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8896:3:10" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "8873:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "8873:27:10" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "8866:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "8866:35:10" + }, + "nodeType": "YulIf", + "src": "8863:122:10" + }, + { + "nodeType": "YulAssignment", + "src": "8994:30:10", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9017:6:10" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9004:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "9004:20:10" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8994:6:10" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9067:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nodeType": "YulIdentifier", + "src": "9069:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "9069:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "9069:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9039:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9047:18:10", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9036:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "9036:30:10" + }, + "nodeType": "YulIf", + "src": "9033:117:10" + }, + { + "nodeType": "YulAssignment", + "src": "9159:29:10", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9175:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9183:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9171:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "9171:17:10" + }, + "variableNames": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "9159:8:10" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9242:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "9244:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "9244:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "9244:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "9207:8:10" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9221:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9229:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "9217:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "9217:17:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9203:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "9203:32:10" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9237:3:10" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9200:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "9200:41:10" + }, + "nodeType": "YulIf", + "src": "9197:128:10" + } + ] + }, + "name": "abi_decode_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8820:6:10", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8828:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nodeType": "YulTypedName", + "src": "8836:8:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "8846:6:10", + "type": "" + } + ], + "src": "8752:579:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9604:1502:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "9651:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "9653:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "9653:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "9653:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9625:7:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9634:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9621:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "9621:23:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9646:3:10", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "9617:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "9617:33:10" + }, + "nodeType": "YulIf", + "src": "9614:120:10" + }, + { + "nodeType": "YulBlock", + "src": "9744:312:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9759:45:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9790:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9801:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9786:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "9786:17:10" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9773:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "9773:31:10" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9763:6:10", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9851:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "9853:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "9853:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "9853:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9823:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9831:18:10", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9820:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "9820:30:10" + }, + "nodeType": "YulIf", + "src": "9817:117:10" + }, + { + "nodeType": "YulAssignment", + "src": "9948:98:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10018:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10029:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10014:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "10014:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10038:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_address_$dyn_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "9966:47:10" + }, + "nodeType": "YulFunctionCall", + "src": "9966:80:10" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9948:6:10" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "9956:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10066:313:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10081:46:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10112:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10123:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10108:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "10108:18:10" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10095:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "10095:32:10" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10085:6:10", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10174:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "10176:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "10176:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "10176:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10146:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10154:18:10", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "10143:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "10143:30:10" + }, + "nodeType": "YulIf", + "src": "10140:117:10" + }, + { + "nodeType": "YulAssignment", + "src": "10271:98:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10341:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10352:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10337:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "10337:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10361:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "10289:47:10" + }, + "nodeType": "YulFunctionCall", + "src": "10289:80:10" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "10271:6:10" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "10279:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10389:324:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10404:46:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10435:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10446:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10431:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "10431:18:10" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10418:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "10418:32:10" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10408:6:10", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10497:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "10499:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "10499:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "10499:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10469:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10477:18:10", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "10466:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "10466:30:10" + }, + "nodeType": "YulIf", + "src": "10463:117:10" + }, + { + "nodeType": "YulAssignment", + "src": "10594:109:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10675:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10686:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10671:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "10671:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10695:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "10612:58:10" + }, + "nodeType": "YulFunctionCall", + "src": "10612:91:10" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "10594:6:10" + }, + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "10602:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10723:118:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10738:16:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10752:2:10", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10742:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10768:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10803:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10814:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10799:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "10799:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10823:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "10778:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "10778:53:10" + }, + "variableNames": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "10768:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10851:119:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10866:17:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10880:3:10", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10870:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10897:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10932:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10943:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10928:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "10928:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10952:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "10907:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "10907:53:10" + }, + "variableNames": [ + { + "name": "value7", + "nodeType": "YulIdentifier", + "src": "10897:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10980:119:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10995:17:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11009:3:10", + "type": "", + "value": "160" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10999:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11026:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11061:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11072:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11057:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "11057:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11081:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "11036:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "11036:53:10" + }, + "variableNames": [ + { + "name": "value8", + "nodeType": "YulIdentifier", + "src": "11026:6:10" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_address_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptrt_bytes32t_bytes32t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9510:9:10", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "9521:7:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9533:6:10", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "9541:6:10", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "9549:6:10", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "9557:6:10", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "9565:6:10", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "9573:6:10", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "9581:6:10", + "type": "" + }, + { + "name": "value7", + "nodeType": "YulTypedName", + "src": "9589:6:10", + "type": "" + }, + { + "name": "value8", + "nodeType": "YulTypedName", + "src": "9597:6:10", + "type": "" + } + ], + "src": "9337:1769:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11195:391:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11241:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "11243:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "11243:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "11243:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11216:7:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11225:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11212:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "11212:23:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11237:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "11208:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "11208:32:10" + }, + "nodeType": "YulIf", + "src": "11205:119:10" + }, + { + "nodeType": "YulBlock", + "src": "11334:117:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11349:15:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11363:1:10", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "11353:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11378:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11413:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11424:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11409:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "11409:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11433:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "11388:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "11388:53:10" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11378:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "11461:118:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11476:16:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11490:2:10", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "11480:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11506:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11541:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11552:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11537:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "11537:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11561:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "11516:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "11516:53:10" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "11506:6:10" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11157:9:10", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "11168:7:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11180:6:10", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "11188:6:10", + "type": "" + } + ], + "src": "11112:474:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11657:53:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11674:3:10" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11697:5:10" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "11679:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "11679:24:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11667:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "11667:37:10" + }, + "nodeType": "YulExpressionStatement", + "src": "11667:37:10" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "11645:5:10", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11652:3:10", + "type": "" + } + ], + "src": "11592:118:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11814:124:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11824:26:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11836:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11847:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11832:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "11832:18:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11824:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11904:6:10" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11917:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11928:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11913:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "11913:17:10" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "11860:43:10" + }, + "nodeType": "YulFunctionCall", + "src": "11860:71:10" + }, + "nodeType": "YulExpressionStatement", + "src": "11860:71:10" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11786:9:10", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11798:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "11809:4:10", + "type": "" + } + ], + "src": "11716:222:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12194:1373:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "12241:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "12243:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "12243:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "12243:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12215:7:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12224:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12211:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "12211:23:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12236:3:10", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "12207:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "12207:33:10" + }, + "nodeType": "YulIf", + "src": "12204:120:10" + }, + { + "nodeType": "YulBlock", + "src": "12334:312:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12349:45:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12380:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12391:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12376:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "12376:17:10" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12363:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "12363:31:10" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12353:6:10", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12441:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "12443:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "12443:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "12443:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12413:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12421:18:10", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12410:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "12410:30:10" + }, + "nodeType": "YulIf", + "src": "12407:117:10" + }, + { + "nodeType": "YulAssignment", + "src": "12538:98:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12608:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12619:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12604:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "12604:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12628:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_address_$dyn_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "12556:47:10" + }, + "nodeType": "YulFunctionCall", + "src": "12556:80:10" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12538:6:10" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "12546:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "12656:313:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12671:46:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12702:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12713:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12698:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "12698:18:10" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12685:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "12685:32:10" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12675:6:10", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12764:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "12766:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "12766:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "12766:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12736:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12744:18:10", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12733:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "12733:30:10" + }, + "nodeType": "YulIf", + "src": "12730:117:10" + }, + { + "nodeType": "YulAssignment", + "src": "12861:98:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12931:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12942:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12927:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "12927:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12951:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "12879:47:10" + }, + "nodeType": "YulFunctionCall", + "src": "12879:80:10" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "12861:6:10" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "12869:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "12979:324:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12994:46:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13025:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13036:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13021:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "13021:18:10" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13008:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "13008:32:10" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12998:6:10", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13087:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "13089:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "13089:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "13089:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13059:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13067:18:10", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "13056:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "13056:30:10" + }, + "nodeType": "YulIf", + "src": "13053:117:10" + }, + { + "nodeType": "YulAssignment", + "src": "13184:109:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13265:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13276:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13261:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "13261:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13285:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "13202:58:10" + }, + "nodeType": "YulFunctionCall", + "src": "13202:91:10" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "13184:6:10" + }, + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "13192:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "13313:118:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13328:16:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13342:2:10", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "13332:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13358:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13393:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13404:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13389:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "13389:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13413:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "13368:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "13368:53:10" + }, + "variableNames": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "13358:6:10" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "13441:119:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13456:17:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13470:3:10", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "13460:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13487:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13522:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13533:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13518:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "13518:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13542:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "13497:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "13497:53:10" + }, + "variableNames": [ + { + "name": "value7", + "nodeType": "YulIdentifier", + "src": "13487:6:10" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_address_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptrt_bytes32t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12108:9:10", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "12119:7:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "12131:6:10", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "12139:6:10", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "12147:6:10", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "12155:6:10", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "12163:6:10", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "12171:6:10", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "12179:6:10", + "type": "" + }, + { + "name": "value7", + "nodeType": "YulTypedName", + "src": "12187:6:10", + "type": "" + } + ], + "src": "11944:1623:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13638:53:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13655:3:10" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13678:5:10" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "13660:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "13660:24:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13648:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "13648:37:10" + }, + "nodeType": "YulExpressionStatement", + "src": "13648:37:10" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "13626:5:10", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "13633:3:10", + "type": "" + } + ], + "src": "13573:118:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13795:124:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13805:26:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13817:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13828:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13813:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "13813:18:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13805:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13885:6:10" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13898:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13909:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13894:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "13894:17:10" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "13841:43:10" + }, + "nodeType": "YulFunctionCall", + "src": "13841:71:10" + }, + "nodeType": "YulExpressionStatement", + "src": "13841:71:10" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13767:9:10", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13779:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "13790:4:10", + "type": "" + } + ], + "src": "13697:222:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14020:73:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14037:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14042:6:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14030:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "14030:19:10" + }, + "nodeType": "YulExpressionStatement", + "src": "14030:19:10" + }, + { + "nodeType": "YulAssignment", + "src": "14058:29:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14077:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14082:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14073:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "14073:14:10" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "14058:11:10" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "13992:3:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13997:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "14008:11:10", + "type": "" + } + ], + "src": "13925:168:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14150:103:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "14173:3:10" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "14178:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14183:6:10" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "14160:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "14160:30:10" + }, + "nodeType": "YulExpressionStatement", + "src": "14160:30:10" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "14231:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14236:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14227:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "14227:16:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14245:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14220:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "14220:27:10" + }, + "nodeType": "YulExpressionStatement", + "src": "14220:27:10" + } + ] + }, + "name": "copy_calldata_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "14132:3:10", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "14137:3:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "14142:6:10", + "type": "" + } + ], + "src": "14099:154:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14307:54:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14317:38:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14335:5:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14342:2:10", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14331:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "14331:14:10" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14351:2:10", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "14347:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "14347:7:10" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "14327:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "14327:28:10" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "14317:6:10" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "14290:5:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "14300:6:10", + "type": "" + } + ], + "src": "14259:102:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14489:201:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14499:77:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14564:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14569:6:10" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "14506:57:10" + }, + "nodeType": "YulFunctionCall", + "src": "14506:70:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14499:3:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "14610:5:10" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14617:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14622:6:10" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "14586:23:10" + }, + "nodeType": "YulFunctionCall", + "src": "14586:43:10" + }, + "nodeType": "YulExpressionStatement", + "src": "14586:43:10" + }, + { + "nodeType": "YulAssignment", + "src": "14638:46:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14649:3:10" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14676:6:10" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "14654:21:10" + }, + "nodeType": "YulFunctionCall", + "src": "14654:29:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14645:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "14645:39:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "14638:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nodeType": "YulTypedName", + "src": "14462:5:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "14469:6:10", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "14477:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "14485:3:10", + "type": "" + } + ], + "src": "14389:301:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14934:533:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14944:27:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14956:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14967:3:10", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14952:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "14952:19:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14944:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "15025:6:10" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15038:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15049:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15034:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "15034:17:10" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "14981:43:10" + }, + "nodeType": "YulFunctionCall", + "src": "14981:71:10" + }, + "nodeType": "YulExpressionStatement", + "src": "14981:71:10" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "15106:6:10" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15119:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15130:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15115:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "15115:18:10" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "15062:43:10" + }, + "nodeType": "YulFunctionCall", + "src": "15062:72:10" + }, + "nodeType": "YulExpressionStatement", + "src": "15062:72:10" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15155:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15166:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15151:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "15151:18:10" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15175:4:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15181:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15171:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "15171:20:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15144:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "15144:48:10" + }, + "nodeType": "YulExpressionStatement", + "src": "15144:48:10" + }, + { + "nodeType": "YulAssignment", + "src": "15201:94:10", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "15273:6:10" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "15281:6:10" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15290:4:10" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "15209:63:10" + }, + "nodeType": "YulFunctionCall", + "src": "15209:86:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15201:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "15349:6:10" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15362:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15373:2:10", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15358:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "15358:18:10" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "15305:43:10" + }, + "nodeType": "YulFunctionCall", + "src": "15305:72:10" + }, + "nodeType": "YulExpressionStatement", + "src": "15305:72:10" + }, + { + "expression": { + "arguments": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "15431:6:10" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15444:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15455:3:10", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15440:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "15440:19:10" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "15387:43:10" + }, + "nodeType": "YulFunctionCall", + "src": "15387:73:10" + }, + "nodeType": "YulExpressionStatement", + "src": "15387:73:10" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr_t_bytes32_t_uint256__to_t_address_t_uint256_t_bytes_memory_ptr_t_bytes32_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14866:9:10", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "14878:6:10", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "14886:6:10", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "14894:6:10", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "14902:6:10", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "14910:6:10", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "14918:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "14929:4:10", + "type": "" + } + ], + "src": "14696:771:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15569:73:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15586:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "15591:6:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15579:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "15579:19:10" + }, + "nodeType": "YulExpressionStatement", + "src": "15579:19:10" + }, + { + "nodeType": "YulAssignment", + "src": "15607:29:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15626:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15631:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15622:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "15622:14:10" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "15607:11:10" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "15541:3:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "15546:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "15557:11:10", + "type": "" + } + ], + "src": "15473:169:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15754:128:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "15776:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15784:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15772:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "15772:14:10" + }, + { + "hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365", + "kind": "string", + "nodeType": "YulLiteral", + "src": "15788:34:10", + "type": "", + "value": "AccessControl: can only renounce" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15765:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "15765:58:10" + }, + "nodeType": "YulExpressionStatement", + "src": "15765:58:10" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "15844:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15852:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15840:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "15840:15:10" + }, + { + "hexValue": "20726f6c657320666f722073656c66", + "kind": "string", + "nodeType": "YulLiteral", + "src": "15857:17:10", + "type": "", + "value": " roles for self" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15833:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "15833:42:10" + }, + "nodeType": "YulExpressionStatement", + "src": "15833:42:10" + } + ] + }, + "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "15746:6:10", + "type": "" + } + ], + "src": "15648:234:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16034:220:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16044:74:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16110:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16115:2:10", + "type": "", + "value": "47" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16051:58:10" + }, + "nodeType": "YulFunctionCall", + "src": "16051:67:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16044:3:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16216:3:10" + } + ], + "functionName": { + "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "nodeType": "YulIdentifier", + "src": "16127:88:10" + }, + "nodeType": "YulFunctionCall", + "src": "16127:93:10" + }, + "nodeType": "YulExpressionStatement", + "src": "16127:93:10" + }, + { + "nodeType": "YulAssignment", + "src": "16229:19:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16240:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16245:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16236:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "16236:12:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "16229:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "16022:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "16030:3:10", + "type": "" + } + ], + "src": "15888:366:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16431:248:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16441:26:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16453:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16464:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16449:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "16449:18:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16441:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16488:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16499:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16484:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "16484:17:10" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16507:4:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16513:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16503:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "16503:20:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16477:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "16477:47:10" + }, + "nodeType": "YulExpressionStatement", + "src": "16477:47:10" + }, + { + "nodeType": "YulAssignment", + "src": "16533:139:10", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16667:4:10" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16541:124:10" + }, + "nodeType": "YulFunctionCall", + "src": "16541:131:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16533:4:10" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16411:9:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16426:4:10", + "type": "" + } + ], + "src": "16260:419:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16791:120:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "16813:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16821:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16809:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "16809:14:10" + }, + { + "hexValue": "42454d756c746953696757616c6c65743a2063616c6c6572206d757374206265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "16825:34:10", + "type": "", + "value": "BEMultiSigWallet: caller must be" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16802:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "16802:58:10" + }, + "nodeType": "YulExpressionStatement", + "src": "16802:58:10" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "16881:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16889:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16877:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "16877:15:10" + }, + { + "hexValue": "2077616c6c6574", + "kind": "string", + "nodeType": "YulLiteral", + "src": "16894:9:10", + "type": "", + "value": " wallet" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16870:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "16870:34:10" + }, + "nodeType": "YulExpressionStatement", + "src": "16870:34:10" + } + ] + }, + "name": "store_literal_in_memory_b5a3ea75736bca2597d1c0b036db058aff7a9f1b1e864ba70a39cc3c6c3b2c38", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "16783:6:10", + "type": "" + } + ], + "src": "16685:226:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17063:220:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17073:74:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17139:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17144:2:10", + "type": "", + "value": "39" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17080:58:10" + }, + "nodeType": "YulFunctionCall", + "src": "17080:67:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17073:3:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17245:3:10" + } + ], + "functionName": { + "name": "store_literal_in_memory_b5a3ea75736bca2597d1c0b036db058aff7a9f1b1e864ba70a39cc3c6c3b2c38", + "nodeType": "YulIdentifier", + "src": "17156:88:10" + }, + "nodeType": "YulFunctionCall", + "src": "17156:93:10" + }, + "nodeType": "YulExpressionStatement", + "src": "17156:93:10" + }, + { + "nodeType": "YulAssignment", + "src": "17258:19:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17269:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17274:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17265:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "17265:12:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "17258:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b5a3ea75736bca2597d1c0b036db058aff7a9f1b1e864ba70a39cc3c6c3b2c38_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "17051:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "17059:3:10", + "type": "" + } + ], + "src": "16917:366:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17460:248:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17470:26:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17482:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17493:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17478:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "17478:18:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17470:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17517:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17528:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17513:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "17513:17:10" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17536:4:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17542:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17532:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "17532:20:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17506:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "17506:47:10" + }, + "nodeType": "YulExpressionStatement", + "src": "17506:47:10" + }, + { + "nodeType": "YulAssignment", + "src": "17562:139:10", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17696:4:10" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b5a3ea75736bca2597d1c0b036db058aff7a9f1b1e864ba70a39cc3c6c3b2c38_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17570:124:10" + }, + "nodeType": "YulFunctionCall", + "src": "17570:131:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17562:4:10" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b5a3ea75736bca2597d1c0b036db058aff7a9f1b1e864ba70a39cc3c6c3b2c38__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17440:9:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17455:4:10", + "type": "" + } + ], + "src": "17289:419:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17840:206:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17850:26:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17862:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17873:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17858:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "17858:18:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17850:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "17930:6:10" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17943:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17954:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17939:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "17939:17:10" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "17886:43:10" + }, + "nodeType": "YulFunctionCall", + "src": "17886:71:10" + }, + "nodeType": "YulExpressionStatement", + "src": "17886:71:10" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "18011:6:10" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18024:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18035:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18020:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "18020:18:10" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "17967:43:10" + }, + "nodeType": "YulFunctionCall", + "src": "17967:72:10" + }, + "nodeType": "YulExpressionStatement", + "src": "17967:72:10" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17804:9:10", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "17816:6:10", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "17824:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17835:4:10", + "type": "" + } + ], + "src": "17714:332:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18080:152:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18097:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18100:77:10", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18090:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "18090:88:10" + }, + "nodeType": "YulExpressionStatement", + "src": "18090:88:10" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18194:1:10", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18197:4:10", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18187:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "18187:15:10" + }, + "nodeType": "YulExpressionStatement", + "src": "18187:15:10" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18218:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18221:4:10", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "18211:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "18211:15:10" + }, + "nodeType": "YulExpressionStatement", + "src": "18211:15:10" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "18052:180:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18282:261:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18292:25:10", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "18315:1:10" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "18297:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "18297:20:10" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "18292:1:10" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "18326:25:10", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "18349:1:10" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "18331:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "18331:20:10" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "18326:1:10" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18489:22:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "18491:16:10" + }, + "nodeType": "YulFunctionCall", + "src": "18491:18:10" + }, + "nodeType": "YulExpressionStatement", + "src": "18491:18:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "18410:1:10" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18417:66:10", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "18485:1:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18413:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "18413:74:10" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "18407:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "18407:81:10" + }, + "nodeType": "YulIf", + "src": "18404:107:10" + }, + { + "nodeType": "YulAssignment", + "src": "18521:16:10", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "18532:1:10" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "18535:1:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18528:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "18528:9:10" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "18521:3:10" + } + ] + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "18269:1:10", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "18272:1:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "18278:3:10", + "type": "" + } + ], + "src": "18238:305:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18592:190:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18602:33:10", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "18629:5:10" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "18611:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "18611:24:10" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "18602:5:10" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18725:22:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "18727:16:10" + }, + "nodeType": "YulFunctionCall", + "src": "18727:18:10" + }, + "nodeType": "YulExpressionStatement", + "src": "18727:18:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "18650:5:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18657:66:10", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "18647:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "18647:77:10" + }, + "nodeType": "YulIf", + "src": "18644:103:10" + }, + { + "nodeType": "YulAssignment", + "src": "18756:20:10", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "18767:5:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18774:1:10", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18763:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "18763:13:10" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "18756:3:10" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "18578:5:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "18588:3:10", + "type": "" + } + ], + "src": "18549:233:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18894:130:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18916:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18924:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18912:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "18912:14:10" + }, + { + "hexValue": "42454d756c746953696757616c6c65743a206f7065726174696f6e206e6f7420", + "kind": "string", + "nodeType": "YulLiteral", + "src": "18928:34:10", + "type": "", + "value": "BEMultiSigWallet: operation not " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18905:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "18905:58:10" + }, + "nodeType": "YulExpressionStatement", + "src": "18905:58:10" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18984:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18992:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18980:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "18980:15:10" + }, + { + "hexValue": "6578697374206f722066696e6973686564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "18997:19:10", + "type": "", + "value": "exist or finished" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18973:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "18973:44:10" + }, + "nodeType": "YulExpressionStatement", + "src": "18973:44:10" + } + ] + }, + "name": "store_literal_in_memory_f189764673a1904d80a5eac6f1e4952021d4400f0665b76222b6d1047bee845d", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "18886:6:10", + "type": "" + } + ], + "src": "18788:236:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19176:220:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19186:74:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19252:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19257:2:10", + "type": "", + "value": "49" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19193:58:10" + }, + "nodeType": "YulFunctionCall", + "src": "19193:67:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19186:3:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19358:3:10" + } + ], + "functionName": { + "name": "store_literal_in_memory_f189764673a1904d80a5eac6f1e4952021d4400f0665b76222b6d1047bee845d", + "nodeType": "YulIdentifier", + "src": "19269:88:10" + }, + "nodeType": "YulFunctionCall", + "src": "19269:93:10" + }, + "nodeType": "YulExpressionStatement", + "src": "19269:93:10" + }, + { + "nodeType": "YulAssignment", + "src": "19371:19:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19382:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19387:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19378:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "19378:12:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "19371:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f189764673a1904d80a5eac6f1e4952021d4400f0665b76222b6d1047bee845d_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19164:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "19172:3:10", + "type": "" + } + ], + "src": "19030:366:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19573:248:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19583:26:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19595:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19606:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19591:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "19591:18:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19583:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19630:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19641:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19626:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "19626:17:10" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19649:4:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19655:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19645:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "19645:20:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19619:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "19619:47:10" + }, + "nodeType": "YulExpressionStatement", + "src": "19619:47:10" + }, + { + "nodeType": "YulAssignment", + "src": "19675:139:10", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19809:4:10" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f189764673a1904d80a5eac6f1e4952021d4400f0665b76222b6d1047bee845d_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19683:124:10" + }, + "nodeType": "YulFunctionCall", + "src": "19683:131:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19675:4:10" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_f189764673a1904d80a5eac6f1e4952021d4400f0665b76222b6d1047bee845d__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "19553:9:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "19568:4:10", + "type": "" + } + ], + "src": "19402:419:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20065:533:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20075:27:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20087:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20098:3:10", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20083:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "20083:19:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20075:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20156:6:10" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20169:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20180:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20165:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "20165:17:10" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "20112:43:10" + }, + "nodeType": "YulFunctionCall", + "src": "20112:71:10" + }, + "nodeType": "YulExpressionStatement", + "src": "20112:71:10" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "20237:6:10" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20250:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20261:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20246:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "20246:18:10" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "20193:43:10" + }, + "nodeType": "YulFunctionCall", + "src": "20193:72:10" + }, + "nodeType": "YulExpressionStatement", + "src": "20193:72:10" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20286:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20297:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20282:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "20282:18:10" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20306:4:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20312:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "20302:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "20302:20:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20275:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "20275:48:10" + }, + "nodeType": "YulExpressionStatement", + "src": "20275:48:10" + }, + { + "nodeType": "YulAssignment", + "src": "20332:94:10", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "20404:6:10" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "20412:6:10" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20421:4:10" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "20340:63:10" + }, + "nodeType": "YulFunctionCall", + "src": "20340:86:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20332:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "20480:6:10" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20493:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20504:2:10", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20489:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "20489:18:10" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "20436:43:10" + }, + "nodeType": "YulFunctionCall", + "src": "20436:72:10" + }, + "nodeType": "YulExpressionStatement", + "src": "20436:72:10" + }, + { + "expression": { + "arguments": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "20562:6:10" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20575:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20586:3:10", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20571:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "20571:19:10" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "20518:43:10" + }, + "nodeType": "YulFunctionCall", + "src": "20518:73:10" + }, + "nodeType": "YulExpressionStatement", + "src": "20518:73:10" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr_t_bytes32_t_bytes32__to_t_address_t_uint256_t_bytes_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "19997:9:10", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "20009:6:10", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "20017:6:10", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "20025:6:10", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "20033:6:10", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "20041:6:10", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "20049:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "20060:4:10", + "type": "" + } + ], + "src": "19827:771:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20710:114:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "20732:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20740:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20728:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "20728:14:10" + }, + { + "hexValue": "42454d756c746953696757616c6c65743a206c656e677468206d69736d617463", + "kind": "string", + "nodeType": "YulLiteral", + "src": "20744:34:10", + "type": "", + "value": "BEMultiSigWallet: length mismatc" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20721:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "20721:58:10" + }, + "nodeType": "YulExpressionStatement", + "src": "20721:58:10" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "20800:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20808:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20796:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "20796:15:10" + }, + { + "hexValue": "68", + "kind": "string", + "nodeType": "YulLiteral", + "src": "20813:3:10", + "type": "", + "value": "h" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20789:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "20789:28:10" + }, + "nodeType": "YulExpressionStatement", + "src": "20789:28:10" + } + ] + }, + "name": "store_literal_in_memory_a34a486f9100b008712958931fe0a50ea69be145b7a3d1e8680fe7decf64e499", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "20702:6:10", + "type": "" + } + ], + "src": "20604:220:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20976:220:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20986:74:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21052:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21057:2:10", + "type": "", + "value": "33" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "20993:58:10" + }, + "nodeType": "YulFunctionCall", + "src": "20993:67:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20986:3:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21158:3:10" + } + ], + "functionName": { + "name": "store_literal_in_memory_a34a486f9100b008712958931fe0a50ea69be145b7a3d1e8680fe7decf64e499", + "nodeType": "YulIdentifier", + "src": "21069:88:10" + }, + "nodeType": "YulFunctionCall", + "src": "21069:93:10" + }, + "nodeType": "YulExpressionStatement", + "src": "21069:93:10" + }, + { + "nodeType": "YulAssignment", + "src": "21171:19:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21182:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21187:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21178:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "21178:12:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "21171:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_a34a486f9100b008712958931fe0a50ea69be145b7a3d1e8680fe7decf64e499_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "20964:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "20972:3:10", + "type": "" + } + ], + "src": "20830:366:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21373:248:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21383:26:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21395:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21406:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21391:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "21391:18:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21383:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21430:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21441:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21426:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "21426:17:10" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21449:4:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21455:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21445:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "21445:20:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21419:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "21419:47:10" + }, + "nodeType": "YulExpressionStatement", + "src": "21419:47:10" + }, + { + "nodeType": "YulAssignment", + "src": "21475:139:10", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21609:4:10" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_a34a486f9100b008712958931fe0a50ea69be145b7a3d1e8680fe7decf64e499_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21483:124:10" + }, + "nodeType": "YulFunctionCall", + "src": "21483:131:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21475:4:10" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a34a486f9100b008712958931fe0a50ea69be145b7a3d1e8680fe7decf64e499__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "21353:9:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "21368:4:10", + "type": "" + } + ], + "src": "21202:419:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21655:152:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21672:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21675:77:10", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21665:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "21665:88:10" + }, + "nodeType": "YulExpressionStatement", + "src": "21665:88:10" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21769:1:10", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21772:4:10", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21762:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "21762:15:10" + }, + "nodeType": "YulExpressionStatement", + "src": "21762:15:10" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21793:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21796:4:10", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "21786:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "21786:15:10" + }, + "nodeType": "YulExpressionStatement", + "src": "21786:15:10" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "21627:180:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21879:263:10", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "21925:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "21927:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "21927:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "21927:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "21900:7:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21909:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21896:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "21896:23:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21921:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "21892:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "21892:32:10" + }, + "nodeType": "YulIf", + "src": "21889:119:10" + }, + { + "nodeType": "YulBlock", + "src": "22018:117:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "22033:15:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22047:1:10", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "22037:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "22062:63:10", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22097:9:10" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "22108:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22093:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "22093:22:10" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "22117:7:10" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "22072:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "22072:53:10" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "22062:6:10" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "21849:9:10", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "21860:7:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "21872:6:10", + "type": "" + } + ], + "src": "21813:329:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22237:28:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22254:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22257:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "22247:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "22247:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "22247:12:10" + } + ] + }, + "name": "revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad", + "nodeType": "YulFunctionDefinition", + "src": "22148:117:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22360:28:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22377:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22380:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "22370:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "22370:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "22370:12:10" + } + ] + }, + "name": "revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a", + "nodeType": "YulFunctionDefinition", + "src": "22271:117:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22483:28:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22500:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22503:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "22493:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "22493:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "22493:12:10" + } + ] + }, + "name": "revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e", + "nodeType": "YulFunctionDefinition", + "src": "22394:117:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22607:634:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "22617:51:10", + "value": { + "arguments": [ + { + "name": "ptr_to_tail", + "nodeType": "YulIdentifier", + "src": "22656:11:10" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "22643:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "22643:25:10" + }, + "variables": [ + { + "name": "rel_offset_of_tail", + "nodeType": "YulTypedName", + "src": "22621:18:10", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22762:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad", + "nodeType": "YulIdentifier", + "src": "22764:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "22764:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "22764:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "rel_offset_of_tail", + "nodeType": "YulIdentifier", + "src": "22691:18:10" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "calldatasize", + "nodeType": "YulIdentifier", + "src": "22719:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "22719:14:10" + }, + { + "name": "base_ref", + "nodeType": "YulIdentifier", + "src": "22735:8:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "22715:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "22715:29:10" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22750:4:10", + "type": "", + "value": "0x20" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22756:1:10", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "22746:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "22746:12:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "22711:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "22711:48:10" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "22687:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "22687:73:10" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "22680:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "22680:81:10" + }, + "nodeType": "YulIf", + "src": "22677:168:10" + }, + { + "nodeType": "YulAssignment", + "src": "22854:41:10", + "value": { + "arguments": [ + { + "name": "base_ref", + "nodeType": "YulIdentifier", + "src": "22866:8:10" + }, + { + "name": "rel_offset_of_tail", + "nodeType": "YulIdentifier", + "src": "22876:18:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22862:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "22862:33:10" + }, + "variableNames": [ + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "22854:4:10" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "22905:28:10", + "value": { + "arguments": [ + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "22928:4:10" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "22915:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "22915:18:10" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "22905:6:10" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22976:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a", + "nodeType": "YulIdentifier", + "src": "22978:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "22978:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "22978:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "22948:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22956:18:10", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "22945:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "22945:30:10" + }, + "nodeType": "YulIf", + "src": "22942:117:10" + }, + { + "nodeType": "YulAssignment", + "src": "23068:21:10", + "value": { + "arguments": [ + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "23080:4:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23086:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23076:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "23076:13:10" + }, + "variableNames": [ + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "23068:4:10" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23151:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e", + "nodeType": "YulIdentifier", + "src": "23153:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "23153:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "23153:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "addr", + "nodeType": "YulIdentifier", + "src": "23105:4:10" + }, + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "calldatasize", + "nodeType": "YulIdentifier", + "src": "23115:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "23115:14:10" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "23135:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23143:4:10", + "type": "", + "value": "0x01" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "23131:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "23131:17:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23111:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "23111:38:10" + } + ], + "functionName": { + "name": "sgt", + "nodeType": "YulIdentifier", + "src": "23101:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "23101:49:10" + }, + "nodeType": "YulIf", + "src": "23098:136:10" + } + ] + }, + "name": "access_calldata_tail_t_bytes_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "base_ref", + "nodeType": "YulTypedName", + "src": "22568:8:10", + "type": "" + }, + { + "name": "ptr_to_tail", + "nodeType": "YulTypedName", + "src": "22578:11:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "addr", + "nodeType": "YulTypedName", + "src": "22594:4:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "22600:6:10", + "type": "" + } + ], + "src": "22517:724:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23358:73:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23375:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "23380:6:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23368:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "23368:19:10" + }, + "nodeType": "YulExpressionStatement", + "src": "23368:19:10" + }, + { + "nodeType": "YulAssignment", + "src": "23396:29:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23415:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23420:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23411:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "23411:14:10" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "23396:11:10" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "23330:3:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "23335:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "23346:11:10", + "type": "" + } + ], + "src": "23247:184:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23511:28:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23521:11:10", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "23529:3:10" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "23521:4:10" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_address_$dyn_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "23498:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "23506:4:10", + "type": "" + } + ], + "src": "23437:102:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23600:53:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23617:3:10" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "23640:5:10" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "23622:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "23622:24:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23610:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "23610:37:10" + }, + "nodeType": "YulExpressionStatement", + "src": "23610:37:10" + } + ] + }, + "name": "abi_encode_t_address_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "23588:5:10", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "23595:3:10", + "type": "" + } + ], + "src": "23545:108:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23739:99:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "23783:6:10" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23791:3:10" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address", + "nodeType": "YulIdentifier", + "src": "23749:33:10" + }, + "nodeType": "YulFunctionCall", + "src": "23749:46:10" + }, + "nodeType": "YulExpressionStatement", + "src": "23749:46:10" + }, + { + "nodeType": "YulAssignment", + "src": "23804:28:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23822:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23827:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23818:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "23818:14:10" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "23804:10:10" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_address_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "23712:6:10", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "23720:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "23728:10:10", + "type": "" + } + ], + "src": "23659:179:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23902:64:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23912:48:10", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "23942:3:10" + }, + { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "23951:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23956:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23947:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "23947:12:10" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "23921:20:10" + }, + "nodeType": "YulFunctionCall", + "src": "23921:39:10" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "23912:5:10" + } + ] + } + ] + }, + "name": "calldata_access_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "23879:7:10", + "type": "" + }, + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "23888:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "23896:5:10", + "type": "" + } + ], + "src": "23844:122:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24049:38:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24059:22:10", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "24071:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24076:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24067:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "24067:14:10" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "24059:4:10" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_address_$dyn_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "24036:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "24044:4:10", + "type": "" + } + ], + "src": "23972:115:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24257:565:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24268:93:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24349:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24354:6:10" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "24275:73:10" + }, + "nodeType": "YulFunctionCall", + "src": "24275:86:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24268:3:10" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "24370:73:10", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24437:5:10" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_address_$dyn_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "24385:51:10" + }, + "nodeType": "YulFunctionCall", + "src": "24385:58:10" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "24374:7:10", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "24452:21:10", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "24466:7:10" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "24456:6:10", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24542:255:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "24556:63:10", + "value": { + "arguments": [ + { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "24603:7:10" + }, + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "24612:6:10" + } + ], + "functionName": { + "name": "calldata_access_t_address", + "nodeType": "YulIdentifier", + "src": "24577:25:10" + }, + "nodeType": "YulFunctionCall", + "src": "24577:42:10" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "24560:13:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "24632:70:10", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "24683:13:10" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24698:3:10" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_address_to_t_address", + "nodeType": "YulIdentifier", + "src": "24639:43:10" + }, + "nodeType": "YulFunctionCall", + "src": "24639:63:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24632:3:10" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "24715:72:10", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "24780:6:10" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_address_$dyn_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "24725:54:10" + }, + "nodeType": "YulFunctionCall", + "src": "24725:62:10" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "24715:6:10" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "24504:1:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24507:6:10" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "24501:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "24501:13:10" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "24515:18:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24517:14:10", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "24526:1:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24529:1:10", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24522:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "24522:9:10" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "24517:1:10" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "24486:14:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "24488:10:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24497:1:10", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "24492:1:10", + "type": "" + } + ] + } + ] + }, + "src": "24482:315:10" + }, + { + "nodeType": "YulAssignment", + "src": "24806:10:10", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24813:3:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "24806:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_address_$dyn_calldata_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "24228:5:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "24235:6:10", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "24243:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "24252:3:10", + "type": "" + } + ], + "src": "24123:699:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24939:73:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24956:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24961:6:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24949:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "24949:19:10" + }, + "nodeType": "YulExpressionStatement", + "src": "24949:19:10" + }, + { + "nodeType": "YulAssignment", + "src": "24977:29:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24996:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25001:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24992:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "24992:14:10" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "24977:11:10" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "24911:3:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "24916:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "24927:11:10", + "type": "" + } + ], + "src": "24828:184:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25107:28:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25124:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25127:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "25117:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "25117:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "25117:12:10" + } + ] + }, + "name": "revert_error_d0468cefdb41083d2ff66f1e66140f10c9da08cd905521a779422e76a84d11ec", + "nodeType": "YulFunctionDefinition", + "src": "25018:117:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25303:405:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25313:93:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25394:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "25399:6:10" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "25320:73:10" + }, + "nodeType": "YulFunctionCall", + "src": "25320:86:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25313:3:10" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25498:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_d0468cefdb41083d2ff66f1e66140f10c9da08cd905521a779422e76a84d11ec", + "nodeType": "YulIdentifier", + "src": "25500:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "25500:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "25500:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "25422:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25430:66:10", + "type": "", + "value": "0x07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "25419:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "25419:78:10" + }, + "nodeType": "YulIf", + "src": "25416:165:10" + }, + { + "nodeType": "YulAssignment", + "src": "25590:27:10", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "25604:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25612:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "25600:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "25600:17:10" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "25590:6:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "25651:5:10" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25658:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "25663:6:10" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "25627:23:10" + }, + "nodeType": "YulFunctionCall", + "src": "25627:43:10" + }, + "nodeType": "YulExpressionStatement", + "src": "25627:43:10" + }, + { + "nodeType": "YulAssignment", + "src": "25679:23:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25690:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "25695:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25686:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "25686:16:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "25679:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_uint256_$dyn_calldata_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nodeType": "YulTypedName", + "src": "25276:5:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "25283:6:10", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "25291:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "25299:3:10", + "type": "" + } + ], + "src": "25171:537:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25834:73:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25851:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "25856:6:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25844:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "25844:19:10" + }, + "nodeType": "YulExpressionStatement", + "src": "25844:19:10" + }, + { + "nodeType": "YulAssignment", + "src": "25872:29:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25891:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25896:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25887:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "25887:14:10" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "25872:11:10" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "25806:3:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "25811:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "25822:11:10", + "type": "" + } + ], + "src": "25714:193:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25998:28:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26008:11:10", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "26016:3:10" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "26008:4:10" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "25985:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "25993:4:10", + "type": "" + } + ], + "src": "25913:113:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26117:73:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26134:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "26139:6:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26127:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "26127:19:10" + }, + "nodeType": "YulExpressionStatement", + "src": "26127:19:10" + }, + { + "nodeType": "YulAssignment", + "src": "26155:29:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26174:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26179:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26170:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "26170:14:10" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "26155:11:10" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "26089:3:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "26094:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "26105:11:10", + "type": "" + } + ], + "src": "26032:158:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26308:191:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26318:67:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26373:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "26378:6:10" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "26325:47:10" + }, + "nodeType": "YulFunctionCall", + "src": "26325:60:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26318:3:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "26419:5:10" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26426:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "26431:6:10" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "26395:23:10" + }, + "nodeType": "YulFunctionCall", + "src": "26395:43:10" + }, + "nodeType": "YulExpressionStatement", + "src": "26395:43:10" + }, + { + "nodeType": "YulAssignment", + "src": "26447:46:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26458:3:10" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "26485:6:10" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "26463:21:10" + }, + "nodeType": "YulFunctionCall", + "src": "26463:29:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26454:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "26454:39:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "26447:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nodeType": "YulTypedName", + "src": "26281:5:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "26288:6:10", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "26296:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "26304:3:10", + "type": "" + } + ], + "src": "26218:281:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26613:104:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26623:88:10", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "26691:6:10" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "26699:6:10" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26707:3:10" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "26637:53:10" + }, + "nodeType": "YulFunctionCall", + "src": "26637:74:10" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "26623:10:10" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_bytes_calldata_ptr_to_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "26578:6:10", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "26586:6:10", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "26594:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "26602:10:10", + "type": "" + } + ], + "src": "26505:212:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26812:28:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26829:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26832:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "26822:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "26822:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "26822:12:10" + } + ] + }, + "name": "revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2", + "nodeType": "YulFunctionDefinition", + "src": "26723:117:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26935:28:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26952:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26955:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "26945:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "26945:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "26945:12:10" + } + ] + }, + "name": "revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20", + "nodeType": "YulFunctionDefinition", + "src": "26846:117:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27058:28:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27075:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27078:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "27068:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "27068:12:10" + }, + "nodeType": "YulExpressionStatement", + "src": "27068:12:10" + } + ] + }, + "name": "revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4", + "nodeType": "YulFunctionDefinition", + "src": "26969:117:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27170:636:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "27180:43:10", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "27219:3:10" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "27206:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "27206:17:10" + }, + "variables": [ + { + "name": "rel_offset_of_tail", + "nodeType": "YulTypedName", + "src": "27184:18:10", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27317:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4", + "nodeType": "YulIdentifier", + "src": "27319:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "27319:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "27319:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "rel_offset_of_tail", + "nodeType": "YulIdentifier", + "src": "27246:18:10" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "calldatasize", + "nodeType": "YulIdentifier", + "src": "27274:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "27274:14:10" + }, + { + "name": "base_ref", + "nodeType": "YulIdentifier", + "src": "27290:8:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "27270:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "27270:29:10" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27305:4:10", + "type": "", + "value": "0x20" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27311:1:10", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "27301:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "27301:12:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "27266:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "27266:48:10" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "27242:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "27242:73:10" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "27235:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "27235:81:10" + }, + "nodeType": "YulIf", + "src": "27232:168:10" + }, + { + "nodeType": "YulAssignment", + "src": "27409:42:10", + "value": { + "arguments": [ + { + "name": "rel_offset_of_tail", + "nodeType": "YulIdentifier", + "src": "27422:18:10" + }, + { + "name": "base_ref", + "nodeType": "YulIdentifier", + "src": "27442:8:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27418:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "27418:33:10" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27409:5:10" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "27461:29:10", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27484:5:10" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "27471:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "27471:19:10" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "27461:6:10" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "27499:25:10", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27512:5:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27519:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27508:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "27508:16:10" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27499:5:10" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27567:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2", + "nodeType": "YulIdentifier", + "src": "27569:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "27569:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "27569:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "27539:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27547:18:10", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "27536:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "27536:30:10" + }, + "nodeType": "YulIf", + "src": "27533:117:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27716:83:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20", + "nodeType": "YulIdentifier", + "src": "27718:77:10" + }, + "nodeType": "YulFunctionCall", + "src": "27718:79:10" + }, + "nodeType": "YulExpressionStatement", + "src": "27718:79:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "base_ref", + "nodeType": "YulIdentifier", + "src": "27666:8:10" + }, + { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "calldatasize", + "nodeType": "YulIdentifier", + "src": "27680:12:10" + }, + "nodeType": "YulFunctionCall", + "src": "27680:14:10" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "27700:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27708:4:10", + "type": "", + "value": "0x01" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "27696:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "27696:17:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "27676:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "27676:38:10" + } + ], + "functionName": { + "name": "sgt", + "nodeType": "YulIdentifier", + "src": "27662:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "27662:53:10" + }, + "nodeType": "YulIf", + "src": "27659:140:10" + } + ] + }, + "name": "calldata_access_t_bytes_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "base_ref", + "nodeType": "YulTypedName", + "src": "27138:8:10", + "type": "" + }, + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "27148:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "27156:5:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "27163:6:10", + "type": "" + } + ], + "src": "27092:714:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27900:38:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27910:22:10", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "27922:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27927:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27918:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "27918:14:10" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "27910:4:10" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "27887:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "27895:4:10", + "type": "" + } + ], + "src": "27812:126:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28124:836:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28135:102:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28225:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "28230:6:10" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "28142:82:10" + }, + "nodeType": "YulFunctionCall", + "src": "28142:95:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28135:3:10" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28246:20:10", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28263:3:10" + }, + "variables": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "28250:9:10", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28275:39:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28291:3:10" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "28300:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28308:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "28296:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "28296:17:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28287:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "28287:27:10" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "28279:4:10", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28323:84:10", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "28401:5:10" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "28338:62:10" + }, + "nodeType": "YulFunctionCall", + "src": "28338:69:10" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "28327:7:10", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28416:21:10", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "28430:7:10" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "28420:6:10", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28506:409:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28527:3:10" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28536:4:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28542:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "28532:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "28532:20:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28520:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "28520:33:10" + }, + "nodeType": "YulExpressionStatement", + "src": "28520:33:10" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28566:89:10", + "value": { + "arguments": [ + { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "28639:7:10" + }, + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "28648:6:10" + } + ], + "functionName": { + "name": "calldata_access_t_bytes_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "28602:36:10" + }, + "nodeType": "YulFunctionCall", + "src": "28602:53:10" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "28570:13:10", + "type": "" + }, + { + "name": "elementValue1", + "nodeType": "YulTypedName", + "src": "28585:13:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "28668:107:10", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "28740:13:10" + }, + { + "name": "elementValue1", + "nodeType": "YulIdentifier", + "src": "28755:13:10" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28770:4:10" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_bytes_calldata_ptr_to_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "28676:63:10" + }, + "nodeType": "YulFunctionCall", + "src": "28676:99:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28668:4:10" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "28788:83:10", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "28864:6:10" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "28798:65:10" + }, + "nodeType": "YulFunctionCall", + "src": "28798:73:10" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "28788:6:10" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "28884:21:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28895:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28900:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28891:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "28891:14:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28884:3:10" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "28468:1:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "28471:6:10" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "28465:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "28465:13:10" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "28479:18:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28481:14:10", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "28490:1:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28493:1:10", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28486:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "28486:9:10" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "28481:1:10" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "28450:14:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "28452:10:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28461:1:10", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "28456:1:10", + "type": "" + } + ] + } + ] + }, + "src": "28446:469:10" + }, + { + "nodeType": "YulAssignment", + "src": "28924:11:10", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28931:4:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28924:3:10" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "28944:10:10", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28951:3:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "28944:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "28095:5:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "28102:6:10", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "28110:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "28119:3:10", + "type": "" + } + ], + "src": "27970:990:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29376:807:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29386:27:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29398:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29409:3:10", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29394:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "29394:19:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29386:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29434:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29445:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29430:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "29430:17:10" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29453:4:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29459:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "29449:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "29449:20:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29423:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "29423:47:10" + }, + "nodeType": "YulExpressionStatement", + "src": "29423:47:10" + }, + { + "nodeType": "YulAssignment", + "src": "29479:126:10", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "29583:6:10" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "29591:6:10" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29600:4:10" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_address_$dyn_calldata_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "29487:95:10" + }, + "nodeType": "YulFunctionCall", + "src": "29487:118:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29479:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29626:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29637:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29622:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "29622:18:10" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29646:4:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29652:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "29642:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "29642:20:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29615:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "29615:48:10" + }, + "nodeType": "YulExpressionStatement", + "src": "29615:48:10" + }, + { + "nodeType": "YulAssignment", + "src": "29672:126:10", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "29776:6:10" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "29784:6:10" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29793:4:10" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_uint256_$dyn_calldata_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "29680:95:10" + }, + "nodeType": "YulFunctionCall", + "src": "29680:118:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29672:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29819:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29830:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29815:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "29815:18:10" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29839:4:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29845:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "29835:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "29835:20:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29808:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "29808:48:10" + }, + "nodeType": "YulExpressionStatement", + "src": "29808:48:10" + }, + { + "nodeType": "YulAssignment", + "src": "29865:146:10", + "value": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "29989:6:10" + }, + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "29997:6:10" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30006:4:10" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "29873:115:10" + }, + "nodeType": "YulFunctionCall", + "src": "29873:138:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29865:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "30065:6:10" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30078:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30089:2:10", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30074:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "30074:18:10" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "30021:43:10" + }, + "nodeType": "YulFunctionCall", + "src": "30021:72:10" + }, + "nodeType": "YulExpressionStatement", + "src": "30021:72:10" + }, + { + "expression": { + "arguments": [ + { + "name": "value7", + "nodeType": "YulIdentifier", + "src": "30147:6:10" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30160:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30171:3:10", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30156:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "30156:19:10" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "30103:43:10" + }, + "nodeType": "YulFunctionCall", + "src": "30103:73:10" + }, + "nodeType": "YulExpressionStatement", + "src": "30103:73:10" + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_address_$dyn_calldata_ptr_t_array$_t_uint256_$dyn_calldata_ptr_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_t_bytes32_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "29292:9:10", + "type": "" + }, + { + "name": "value7", + "nodeType": "YulTypedName", + "src": "29304:6:10", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "29312:6:10", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "29320:6:10", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "29328:6:10", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "29336:6:10", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "29344:6:10", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "29352:6:10", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "29360:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "29371:4:10", + "type": "" + } + ], + "src": "28966:1217:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30295:128:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30317:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30325:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30313:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "30313:14:10" + }, + { + "hexValue": "42454d756c746953696757616c6c65743a206f7065726174696f6e2063616e6e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "30329:34:10", + "type": "", + "value": "BEMultiSigWallet: operation cann" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30306:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "30306:58:10" + }, + "nodeType": "YulExpressionStatement", + "src": "30306:58:10" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30385:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30393:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30381:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "30381:15:10" + }, + { + "hexValue": "6f742062652063616e63656c6c6564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "30398:17:10", + "type": "", + "value": "ot be cancelled" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30374:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "30374:42:10" + }, + "nodeType": "YulExpressionStatement", + "src": "30374:42:10" + } + ] + }, + "name": "store_literal_in_memory_18f4f64b96974e466ba9fe4c81e77d3a2e7e7ead1ec0709ce9c4a80df6bbe8e2", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "30287:6:10", + "type": "" + } + ], + "src": "30189:234:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30575:220:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30585:74:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30651:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30656:2:10", + "type": "", + "value": "47" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "30592:58:10" + }, + "nodeType": "YulFunctionCall", + "src": "30592:67:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30585:3:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30757:3:10" + } + ], + "functionName": { + "name": "store_literal_in_memory_18f4f64b96974e466ba9fe4c81e77d3a2e7e7ead1ec0709ce9c4a80df6bbe8e2", + "nodeType": "YulIdentifier", + "src": "30668:88:10" + }, + "nodeType": "YulFunctionCall", + "src": "30668:93:10" + }, + "nodeType": "YulExpressionStatement", + "src": "30668:93:10" + }, + { + "nodeType": "YulAssignment", + "src": "30770:19:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30781:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30786:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30777:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "30777:12:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "30770:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_18f4f64b96974e466ba9fe4c81e77d3a2e7e7ead1ec0709ce9c4a80df6bbe8e2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "30563:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "30571:3:10", + "type": "" + } + ], + "src": "30429:366:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30972:248:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30982:26:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30994:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31005:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30990:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "30990:18:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30982:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31029:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31040:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31025:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "31025:17:10" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31048:4:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31054:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "31044:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "31044:20:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31018:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "31018:47:10" + }, + "nodeType": "YulExpressionStatement", + "src": "31018:47:10" + }, + { + "nodeType": "YulAssignment", + "src": "31074:139:10", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31208:4:10" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_18f4f64b96974e466ba9fe4c81e77d3a2e7e7ead1ec0709ce9c4a80df6bbe8e2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "31082:124:10" + }, + "nodeType": "YulFunctionCall", + "src": "31082:131:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31074:4:10" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_18f4f64b96974e466ba9fe4c81e77d3a2e7e7ead1ec0709ce9c4a80df6bbe8e2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "30952:9:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "30967:4:10", + "type": "" + } + ], + "src": "30801:419:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31340:34:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31350:18:10", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31365:3:10" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "31350:11:10" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "31312:3:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "31317:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "31328:11:10", + "type": "" + } + ], + "src": "31226:148:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31486:67:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31508:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31516:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31504:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "31504:14:10" + }, + { + "hexValue": "416363657373436f6e74726f6c3a206163636f756e7420", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31520:25:10", + "type": "", + "value": "AccessControl: account " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31497:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "31497:49:10" + }, + "nodeType": "YulExpressionStatement", + "src": "31497:49:10" + } + ] + }, + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "31478:6:10", + "type": "" + } + ], + "src": "31380:173:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31723:238:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31733:92:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31817:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31822:2:10", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "31740:76:10" + }, + "nodeType": "YulFunctionCall", + "src": "31740:85:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31733:3:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31923:3:10" + } + ], + "functionName": { + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "nodeType": "YulIdentifier", + "src": "31834:88:10" + }, + "nodeType": "YulFunctionCall", + "src": "31834:93:10" + }, + "nodeType": "YulExpressionStatement", + "src": "31834:93:10" + }, + { + "nodeType": "YulAssignment", + "src": "31936:19:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31947:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31952:2:10", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31943:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "31943:12:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "31936:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "31711:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "31719:3:10", + "type": "" + } + ], + "src": "31559:402:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32026:40:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32037:22:10", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32053:5:10" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "32047:5:10" + }, + "nodeType": "YulFunctionCall", + "src": "32047:12:10" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "32037:6:10" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32009:5:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "32019:6:10", + "type": "" + } + ], + "src": "31967:99:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32121:258:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "32131:10:10", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32140:1:10", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "32135:1:10", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32200:63:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "32225:3:10" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "32230:1:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32221:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "32221:11:10" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "32244:3:10" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "32249:1:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32240:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "32240:11:10" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "32234:5:10" + }, + "nodeType": "YulFunctionCall", + "src": "32234:18:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32214:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "32214:39:10" + }, + "nodeType": "YulExpressionStatement", + "src": "32214:39:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "32161:1:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "32164:6:10" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "32158:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "32158:13:10" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "32172:19:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32174:15:10", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "32183:1:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32186:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32179:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "32179:10:10" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "32174:1:10" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "32154:3:10", + "statements": [] + }, + "src": "32150:113:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32297:76:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "32347:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "32352:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32343:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "32343:16:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32361:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32336:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "32336:27:10" + }, + "nodeType": "YulExpressionStatement", + "src": "32336:27:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "32278:1:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "32281:6:10" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "32275:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "32275:13:10" + }, + "nodeType": "YulIf", + "src": "32272:101:10" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "32103:3:10", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "32108:3:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "32113:6:10", + "type": "" + } + ], + "src": "32072:307:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32495:267:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "32505:53:10", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32552:5:10" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "32519:32:10" + }, + "nodeType": "YulFunctionCall", + "src": "32519:39:10" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "32509:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "32567:96:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32651:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "32656:6:10" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "32574:76:10" + }, + "nodeType": "YulFunctionCall", + "src": "32574:89:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32567:3:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32698:5:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32705:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32694:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "32694:16:10" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32712:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "32717:6:10" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "32672:21:10" + }, + "nodeType": "YulFunctionCall", + "src": "32672:52:10" + }, + "nodeType": "YulExpressionStatement", + "src": "32672:52:10" + }, + { + "nodeType": "YulAssignment", + "src": "32733:23:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32744:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "32749:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32740:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "32740:16:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "32733:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32476:5:10", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "32483:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "32491:3:10", + "type": "" + } + ], + "src": "32385:377:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32874:61:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "32896:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32904:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32892:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "32892:14:10" + }, + { + "hexValue": "206973206d697373696e6720726f6c6520", + "kind": "string", + "nodeType": "YulLiteral", + "src": "32908:19:10", + "type": "", + "value": " is missing role " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32885:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "32885:43:10" + }, + "nodeType": "YulExpressionStatement", + "src": "32885:43:10" + } + ] + }, + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "32866:6:10", + "type": "" + } + ], + "src": "32768:167:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33105:238:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33115:92:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33199:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33204:2:10", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "33122:76:10" + }, + "nodeType": "YulFunctionCall", + "src": "33122:85:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33115:3:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33305:3:10" + } + ], + "functionName": { + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulIdentifier", + "src": "33216:88:10" + }, + "nodeType": "YulFunctionCall", + "src": "33216:93:10" + }, + "nodeType": "YulExpressionStatement", + "src": "33216:93:10" + }, + { + "nodeType": "YulAssignment", + "src": "33318:19:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33329:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33334:2:10", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33325:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "33325:12:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "33318:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "33093:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "33101:3:10", + "type": "" + } + ], + "src": "32941:402:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33735:581:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33746:155:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33897:3:10" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "33753:142:10" + }, + "nodeType": "YulFunctionCall", + "src": "33753:148:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33746:3:10" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "33911:102:10", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "34000:6:10" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34009:3:10" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "33918:81:10" + }, + "nodeType": "YulFunctionCall", + "src": "33918:95:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33911:3:10" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "34023:155:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34174:3:10" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "34030:142:10" + }, + "nodeType": "YulFunctionCall", + "src": "34030:148:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34023:3:10" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "34188:102:10", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "34277:6:10" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34286:3:10" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "34195:81:10" + }, + "nodeType": "YulFunctionCall", + "src": "34195:95:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34188:3:10" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "34300:10:10", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34307:3:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "34300:3:10" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "33706:3:10", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "33712:6:10", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "33720:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "33731:3:10", + "type": "" + } + ], + "src": "33349:967:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34414:272:10", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "34424:53:10", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "34471:5:10" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "34438:32:10" + }, + "nodeType": "YulFunctionCall", + "src": "34438:39:10" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "34428:6:10", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "34486:78:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34552:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "34557:6:10" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "34493:58:10" + }, + "nodeType": "YulFunctionCall", + "src": "34493:71:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34486:3:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "34599:5:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34606:4:10", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34595:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "34595:16:10" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34613:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "34618:6:10" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "34573:21:10" + }, + "nodeType": "YulFunctionCall", + "src": "34573:52:10" + }, + "nodeType": "YulExpressionStatement", + "src": "34573:52:10" + }, + { + "nodeType": "YulAssignment", + "src": "34634:46:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34645:3:10" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "34672:6:10" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "34650:21:10" + }, + "nodeType": "YulFunctionCall", + "src": "34650:29:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34641:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "34641:39:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "34634:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "34395:5:10", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "34402:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "34410:3:10", + "type": "" + } + ], + "src": "34322:364:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34810:195:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "34820:26:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34832:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34843:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34828:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "34828:18:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34820:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34867:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34878:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34863:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "34863:17:10" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34886:4:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34892:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "34882:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "34882:20:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34856:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "34856:47:10" + }, + "nodeType": "YulExpressionStatement", + "src": "34856:47:10" + }, + { + "nodeType": "YulAssignment", + "src": "34912:86:10", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "34984:6:10" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34993:4:10" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "34920:63:10" + }, + "nodeType": "YulFunctionCall", + "src": "34920:78:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34912:4:10" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "34782:9:10", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "34794:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "34805:4:10", + "type": "" + } + ], + "src": "34692:313:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35117:126:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "35139:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35147:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35135:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "35135:14:10" + }, + { + "hexValue": "42454d756c746953696757616c6c65743a206f7065726174696f6e20616c7265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "35151:34:10", + "type": "", + "value": "BEMultiSigWallet: operation alre" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35128:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "35128:58:10" + }, + "nodeType": "YulExpressionStatement", + "src": "35128:58:10" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "35207:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35215:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35203:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "35203:15:10" + }, + { + "hexValue": "616479207363686564756c6564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "35220:15:10", + "type": "", + "value": "ady scheduled" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35196:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "35196:40:10" + }, + "nodeType": "YulExpressionStatement", + "src": "35196:40:10" + } + ] + }, + "name": "store_literal_in_memory_498a98edde27c28694cc7d4941f82dd71ff5085e4a93f35609f504b4979a0e12", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "35109:6:10", + "type": "" + } + ], + "src": "35011:232:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35395:220:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "35405:74:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35471:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35476:2:10", + "type": "", + "value": "45" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "35412:58:10" + }, + "nodeType": "YulFunctionCall", + "src": "35412:67:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35405:3:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35577:3:10" + } + ], + "functionName": { + "name": "store_literal_in_memory_498a98edde27c28694cc7d4941f82dd71ff5085e4a93f35609f504b4979a0e12", + "nodeType": "YulIdentifier", + "src": "35488:88:10" + }, + "nodeType": "YulFunctionCall", + "src": "35488:93:10" + }, + "nodeType": "YulExpressionStatement", + "src": "35488:93:10" + }, + { + "nodeType": "YulAssignment", + "src": "35590:19:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35601:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35606:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35597:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "35597:12:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "35590:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_498a98edde27c28694cc7d4941f82dd71ff5085e4a93f35609f504b4979a0e12_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "35383:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "35391:3:10", + "type": "" + } + ], + "src": "35249:366:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35792:248:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "35802:26:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35814:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35825:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35810:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "35810:18:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35802:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35849:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35860:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35845:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "35845:17:10" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35868:4:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35874:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "35864:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "35864:20:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35838:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "35838:47:10" + }, + "nodeType": "YulExpressionStatement", + "src": "35838:47:10" + }, + { + "nodeType": "YulAssignment", + "src": "35894:139:10", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36028:4:10" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_498a98edde27c28694cc7d4941f82dd71ff5085e4a93f35609f504b4979a0e12_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "35902:124:10" + }, + "nodeType": "YulFunctionCall", + "src": "35902:131:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35894:4:10" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_498a98edde27c28694cc7d4941f82dd71ff5085e4a93f35609f504b4979a0e12__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "35772:9:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "35787:4:10", + "type": "" + } + ], + "src": "35621:419:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36152:117:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "36174:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36182:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36170:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "36170:14:10" + }, + { + "hexValue": "42454d756c746953696757616c6c65743a20696e73756666696369656e742064", + "kind": "string", + "nodeType": "YulLiteral", + "src": "36186:34:10", + "type": "", + "value": "BEMultiSigWallet: insufficient d" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36163:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "36163:58:10" + }, + "nodeType": "YulExpressionStatement", + "src": "36163:58:10" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "36242:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36250:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36238:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "36238:15:10" + }, + { + "hexValue": "656c6179", + "kind": "string", + "nodeType": "YulLiteral", + "src": "36255:6:10", + "type": "", + "value": "elay" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36231:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "36231:31:10" + }, + "nodeType": "YulExpressionStatement", + "src": "36231:31:10" + } + ] + }, + "name": "store_literal_in_memory_9c4dfb173f7764cc56b8beafaf67c514b7ff532825adbcaadabf621199a1950a", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "36144:6:10", + "type": "" + } + ], + "src": "36046:223:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36421:220:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "36431:74:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36497:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36502:2:10", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "36438:58:10" + }, + "nodeType": "YulFunctionCall", + "src": "36438:67:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36431:3:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36603:3:10" + } + ], + "functionName": { + "name": "store_literal_in_memory_9c4dfb173f7764cc56b8beafaf67c514b7ff532825adbcaadabf621199a1950a", + "nodeType": "YulIdentifier", + "src": "36514:88:10" + }, + "nodeType": "YulFunctionCall", + "src": "36514:93:10" + }, + "nodeType": "YulExpressionStatement", + "src": "36514:93:10" + }, + { + "nodeType": "YulAssignment", + "src": "36616:19:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36627:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36632:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36623:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "36623:12:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "36616:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_9c4dfb173f7764cc56b8beafaf67c514b7ff532825adbcaadabf621199a1950a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "36409:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "36417:3:10", + "type": "" + } + ], + "src": "36275:366:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36818:248:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "36828:26:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36840:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36851:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36836:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "36836:18:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36828:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36875:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36886:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36871:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "36871:17:10" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36894:4:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36900:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "36890:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "36890:20:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36864:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "36864:47:10" + }, + "nodeType": "YulExpressionStatement", + "src": "36864:47:10" + }, + { + "nodeType": "YulAssignment", + "src": "36920:139:10", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37054:4:10" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_9c4dfb173f7764cc56b8beafaf67c514b7ff532825adbcaadabf621199a1950a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "36928:124:10" + }, + "nodeType": "YulFunctionCall", + "src": "36928:131:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36920:4:10" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_9c4dfb173f7764cc56b8beafaf67c514b7ff532825adbcaadabf621199a1950a__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "36798:9:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "36813:4:10", + "type": "" + } + ], + "src": "36647:419:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37178:121:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "37200:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37208:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37196:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "37196:14:10" + }, + { + "hexValue": "42454d756c746953696757616c6c65743a206f7065726174696f6e206973206e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "37212:34:10", + "type": "", + "value": "BEMultiSigWallet: operation is n" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37189:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "37189:58:10" + }, + "nodeType": "YulExpressionStatement", + "src": "37189:58:10" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "37268:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37276:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37264:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "37264:15:10" + }, + { + "hexValue": "6f74207265616479", + "kind": "string", + "nodeType": "YulLiteral", + "src": "37281:10:10", + "type": "", + "value": "ot ready" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37257:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "37257:35:10" + }, + "nodeType": "YulExpressionStatement", + "src": "37257:35:10" + } + ] + }, + "name": "store_literal_in_memory_3071306add2bfff75b9ab79068a1537f4356af9ed062959388101e0b120a034f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "37170:6:10", + "type": "" + } + ], + "src": "37072:227:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37451:220:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37461:74:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37527:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37532:2:10", + "type": "", + "value": "40" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "37468:58:10" + }, + "nodeType": "YulFunctionCall", + "src": "37468:67:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37461:3:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37633:3:10" + } + ], + "functionName": { + "name": "store_literal_in_memory_3071306add2bfff75b9ab79068a1537f4356af9ed062959388101e0b120a034f", + "nodeType": "YulIdentifier", + "src": "37544:88:10" + }, + "nodeType": "YulFunctionCall", + "src": "37544:93:10" + }, + "nodeType": "YulExpressionStatement", + "src": "37544:93:10" + }, + { + "nodeType": "YulAssignment", + "src": "37646:19:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37657:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37662:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37653:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "37653:12:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "37646:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_3071306add2bfff75b9ab79068a1537f4356af9ed062959388101e0b120a034f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "37439:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "37447:3:10", + "type": "" + } + ], + "src": "37305:366:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37848:248:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37858:26:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37870:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37881:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37866:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "37866:18:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37858:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37905:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37916:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37901:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "37901:17:10" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37924:4:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37930:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "37920:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "37920:20:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37894:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "37894:47:10" + }, + "nodeType": "YulExpressionStatement", + "src": "37894:47:10" + }, + { + "nodeType": "YulAssignment", + "src": "37950:139:10", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "38084:4:10" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_3071306add2bfff75b9ab79068a1537f4356af9ed062959388101e0b120a034f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "37958:124:10" + }, + "nodeType": "YulFunctionCall", + "src": "37958:131:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37950:4:10" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3071306add2bfff75b9ab79068a1537f4356af9ed062959388101e0b120a034f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "37828:9:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "37843:4:10", + "type": "" + } + ], + "src": "37677:419:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38208:141:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "38230:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38238:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38226:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "38226:14:10" + }, + { + "hexValue": "42454d756c746953696757616c6c65743a206f7065726174696f6e206e6f7420", + "kind": "string", + "nodeType": "YulLiteral", + "src": "38242:34:10", + "type": "", + "value": "BEMultiSigWallet: operation not " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38219:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "38219:58:10" + }, + "nodeType": "YulExpressionStatement", + "src": "38219:58:10" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "38298:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38306:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38294:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "38294:15:10" + }, + { + "hexValue": "726561636820726571756972656420636f6e6669726d6174696f6e73", + "kind": "string", + "nodeType": "YulLiteral", + "src": "38311:30:10", + "type": "", + "value": "reach required confirmations" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38287:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "38287:55:10" + }, + "nodeType": "YulExpressionStatement", + "src": "38287:55:10" + } + ] + }, + "name": "store_literal_in_memory_26f3351a4289a44b9dc71972f9cd6f45d47bd0c7add4c9d1015c299b64c9cdbe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "38200:6:10", + "type": "" + } + ], + "src": "38102:247:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38501:220:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "38511:74:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38577:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38582:2:10", + "type": "", + "value": "60" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "38518:58:10" + }, + "nodeType": "YulFunctionCall", + "src": "38518:67:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38511:3:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38683:3:10" + } + ], + "functionName": { + "name": "store_literal_in_memory_26f3351a4289a44b9dc71972f9cd6f45d47bd0c7add4c9d1015c299b64c9cdbe", + "nodeType": "YulIdentifier", + "src": "38594:88:10" + }, + "nodeType": "YulFunctionCall", + "src": "38594:93:10" + }, + "nodeType": "YulExpressionStatement", + "src": "38594:93:10" + }, + { + "nodeType": "YulAssignment", + "src": "38696:19:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38707:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38712:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38703:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "38703:12:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "38696:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_26f3351a4289a44b9dc71972f9cd6f45d47bd0c7add4c9d1015c299b64c9cdbe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "38489:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "38497:3:10", + "type": "" + } + ], + "src": "38355:366:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38898:248:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "38908:26:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "38920:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38931:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38916:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "38916:18:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "38908:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "38955:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38966:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38951:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "38951:17:10" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "38974:4:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "38980:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "38970:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "38970:20:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38944:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "38944:47:10" + }, + "nodeType": "YulExpressionStatement", + "src": "38944:47:10" + }, + { + "nodeType": "YulAssignment", + "src": "39000:139:10", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39134:4:10" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_26f3351a4289a44b9dc71972f9cd6f45d47bd0c7add4c9d1015c299b64c9cdbe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "39008:124:10" + }, + "nodeType": "YulFunctionCall", + "src": "39008:131:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39000:4:10" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_26f3351a4289a44b9dc71972f9cd6f45d47bd0c7add4c9d1015c299b64c9cdbe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "38878:9:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "38893:4:10", + "type": "" + } + ], + "src": "38727:419:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39258:117:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "39280:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39288:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39276:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "39276:14:10" + }, + { + "hexValue": "42454d756c746953696757616c6c65743a206d697373696e6720646570656e64", + "kind": "string", + "nodeType": "YulLiteral", + "src": "39292:34:10", + "type": "", + "value": "BEMultiSigWallet: missing depend" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39269:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "39269:58:10" + }, + "nodeType": "YulExpressionStatement", + "src": "39269:58:10" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "39348:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39356:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39344:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "39344:15:10" + }, + { + "hexValue": "656e6379", + "kind": "string", + "nodeType": "YulLiteral", + "src": "39361:6:10", + "type": "", + "value": "ency" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39337:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "39337:31:10" + }, + "nodeType": "YulExpressionStatement", + "src": "39337:31:10" + } + ] + }, + "name": "store_literal_in_memory_dd941925c974bb4b37fc449c3636956979b5143840e3dd79fa264fd005e44275", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "39250:6:10", + "type": "" + } + ], + "src": "39152:223:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39527:220:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "39537:74:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39603:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39608:2:10", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "39544:58:10" + }, + "nodeType": "YulFunctionCall", + "src": "39544:67:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39537:3:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39709:3:10" + } + ], + "functionName": { + "name": "store_literal_in_memory_dd941925c974bb4b37fc449c3636956979b5143840e3dd79fa264fd005e44275", + "nodeType": "YulIdentifier", + "src": "39620:88:10" + }, + "nodeType": "YulFunctionCall", + "src": "39620:93:10" + }, + "nodeType": "YulExpressionStatement", + "src": "39620:93:10" + }, + { + "nodeType": "YulAssignment", + "src": "39722:19:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39733:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39738:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39729:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "39729:12:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "39722:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_dd941925c974bb4b37fc449c3636956979b5143840e3dd79fa264fd005e44275_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "39515:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "39523:3:10", + "type": "" + } + ], + "src": "39381:366:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39924:248:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "39934:26:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39946:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39957:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39942:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "39942:18:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39934:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39981:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39992:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39977:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "39977:17:10" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40000:4:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40006:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "39996:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "39996:20:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39970:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "39970:47:10" + }, + "nodeType": "YulExpressionStatement", + "src": "39970:47:10" + }, + { + "nodeType": "YulAssignment", + "src": "40026:139:10", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40160:4:10" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_dd941925c974bb4b37fc449c3636956979b5143840e3dd79fa264fd005e44275_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "40034:124:10" + }, + "nodeType": "YulFunctionCall", + "src": "40034:131:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40026:4:10" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_dd941925c974bb4b37fc449c3636956979b5143840e3dd79fa264fd005e44275__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "39904:9:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "39919:4:10", + "type": "" + } + ], + "src": "39753:419:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40291:34:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "40301:18:10", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40316:3:10" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "40301:11:10" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "40263:3:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "40268:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "40279:11:10", + "type": "" + } + ], + "src": "40178:147:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40471:196:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "40481:95:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40564:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "40569:6:10" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "40488:75:10" + }, + "nodeType": "YulFunctionCall", + "src": "40488:88:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40481:3:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "40610:5:10" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40617:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "40622:6:10" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "40586:23:10" + }, + "nodeType": "YulFunctionCall", + "src": "40586:43:10" + }, + "nodeType": "YulExpressionStatement", + "src": "40586:43:10" + }, + { + "nodeType": "YulAssignment", + "src": "40638:23:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40649:3:10" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "40654:6:10" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40645:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "40645:16:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "40638:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nodeType": "YulTypedName", + "src": "40444:5:10", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "40451:6:10", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "40459:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "40467:3:10", + "type": "" + } + ], + "src": "40353:314:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40817:147:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "40828:110:10", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "40917:6:10" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "40925:6:10" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40934:3:10" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "40835:81:10" + }, + "nodeType": "YulFunctionCall", + "src": "40835:103:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40828:3:10" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "40948:10:10", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40955:3:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "40948:3:10" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "40788:3:10", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "40794:6:10", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "40802:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "40813:3:10", + "type": "" + } + ], + "src": "40673:291:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41076:130:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "41098:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41106:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41094:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "41094:14:10" + }, + { + "hexValue": "42454d756c746953696757616c6c65743a20756e6465726c79696e6720747261", + "kind": "string", + "nodeType": "YulLiteral", + "src": "41110:34:10", + "type": "", + "value": "BEMultiSigWallet: underlying tra" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41087:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "41087:58:10" + }, + "nodeType": "YulExpressionStatement", + "src": "41087:58:10" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "41166:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41174:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41162:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "41162:15:10" + }, + { + "hexValue": "6e73616374696f6e207265766572746564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "41179:19:10", + "type": "", + "value": "nsaction reverted" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41155:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "41155:44:10" + }, + "nodeType": "YulExpressionStatement", + "src": "41155:44:10" + } + ] + }, + "name": "store_literal_in_memory_4887496109bd7042bc943a0ba0978efb71ff89756cc68bec9bd24ffa06316a33", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "41068:6:10", + "type": "" + } + ], + "src": "40970:236:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41358:220:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "41368:74:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41434:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41439:2:10", + "type": "", + "value": "49" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "41375:58:10" + }, + "nodeType": "YulFunctionCall", + "src": "41375:67:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41368:3:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41540:3:10" + } + ], + "functionName": { + "name": "store_literal_in_memory_4887496109bd7042bc943a0ba0978efb71ff89756cc68bec9bd24ffa06316a33", + "nodeType": "YulIdentifier", + "src": "41451:88:10" + }, + "nodeType": "YulFunctionCall", + "src": "41451:93:10" + }, + "nodeType": "YulExpressionStatement", + "src": "41451:93:10" + }, + { + "nodeType": "YulAssignment", + "src": "41553:19:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41564:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41569:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41560:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "41560:12:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "41553:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_4887496109bd7042bc943a0ba0978efb71ff89756cc68bec9bd24ffa06316a33_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "41346:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "41354:3:10", + "type": "" + } + ], + "src": "41212:366:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41755:248:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "41765:26:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41777:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41788:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41773:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "41773:18:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41765:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41812:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41823:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41808:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "41808:17:10" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41831:4:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41837:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "41827:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "41827:20:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41801:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "41801:47:10" + }, + "nodeType": "YulExpressionStatement", + "src": "41801:47:10" + }, + { + "nodeType": "YulAssignment", + "src": "41857:139:10", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41991:4:10" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_4887496109bd7042bc943a0ba0978efb71ff89756cc68bec9bd24ffa06316a33_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "41865:124:10" + }, + "nodeType": "YulFunctionCall", + "src": "41865:131:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41857:4:10" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_4887496109bd7042bc943a0ba0978efb71ff89756cc68bec9bd24ffa06316a33__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "41735:9:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "41750:4:10", + "type": "" + } + ], + "src": "41584:419:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42191:367:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "42201:26:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42213:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42224:2:10", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42209:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "42209:18:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42201:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "42281:6:10" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42294:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42305:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42290:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "42290:17:10" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "42237:43:10" + }, + "nodeType": "YulFunctionCall", + "src": "42237:71:10" + }, + "nodeType": "YulExpressionStatement", + "src": "42237:71:10" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "42362:6:10" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42375:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42386:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42371:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "42371:18:10" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "42318:43:10" + }, + "nodeType": "YulFunctionCall", + "src": "42318:72:10" + }, + "nodeType": "YulExpressionStatement", + "src": "42318:72:10" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42411:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42422:2:10", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42407:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "42407:18:10" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42431:4:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42437:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "42427:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "42427:20:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42400:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "42400:48:10" + }, + "nodeType": "YulExpressionStatement", + "src": "42400:48:10" + }, + { + "nodeType": "YulAssignment", + "src": "42457:94:10", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "42529:6:10" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "42537:6:10" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42546:4:10" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "42465:63:10" + }, + "nodeType": "YulFunctionCall", + "src": "42465:86:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42457:4:10" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr__to_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "42139:9:10", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "42151:6:10", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "42159:6:10", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "42167:6:10", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "42175:6:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "42186:4:10", + "type": "" + } + ], + "src": "42009:549:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42612:300:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "42622:25:10", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "42645:1:10" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "42627:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "42627:20:10" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "42622:1:10" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "42656:25:10", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "42679:1:10" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "42661:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "42661:20:10" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "42656:1:10" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42854:22:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "42856:16:10" + }, + "nodeType": "YulFunctionCall", + "src": "42856:18:10" + }, + "nodeType": "YulExpressionStatement", + "src": "42856:18:10" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "42766:1:10" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "42759:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "42759:9:10" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "42752:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "42752:17:10" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "42774:1:10" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42781:66:10", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "42849:1:10" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "42777:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "42777:74:10" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "42771:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "42771:81:10" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "42748:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "42748:105:10" + }, + "nodeType": "YulIf", + "src": "42745:131:10" + }, + { + "nodeType": "YulAssignment", + "src": "42886:20:10", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "42901:1:10" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "42904:1:10" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "42897:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "42897:9:10" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "42886:7:10" + } + ] + } + ] + }, + "name": "checked_mul_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "42595:1:10", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "42598:1:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "42604:7:10", + "type": "" + } + ], + "src": "42564:348:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42946:152:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42963:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42966:77:10", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42956:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "42956:88:10" + }, + "nodeType": "YulExpressionStatement", + "src": "42956:88:10" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43060:1:10", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43063:4:10", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43053:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "43053:15:10" + }, + "nodeType": "YulExpressionStatement", + "src": "43053:15:10" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43084:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43087:4:10", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "43077:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "43077:15:10" + }, + "nodeType": "YulExpressionStatement", + "src": "43077:15:10" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "42918:180:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43147:128:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "43157:33:10", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "43184:5:10" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "43166:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "43166:24:10" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "43157:5:10" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43218:22:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "43220:16:10" + }, + "nodeType": "YulFunctionCall", + "src": "43220:18:10" + }, + "nodeType": "YulExpressionStatement", + "src": "43220:18:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "43205:5:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43212:4:10", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "43202:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "43202:15:10" + }, + "nodeType": "YulIf", + "src": "43199:41:10" + }, + { + "nodeType": "YulAssignment", + "src": "43249:20:10", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "43260:5:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43267:1:10", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "43256:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "43256:13:10" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "43249:3:10" + } + ] + } + ] + }, + "name": "decrement_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "43133:5:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "43143:3:10", + "type": "" + } + ], + "src": "43104:171:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43387:76:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "43409:6:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43417:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43405:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "43405:14:10" + }, + { + "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", + "kind": "string", + "nodeType": "YulLiteral", + "src": "43421:34:10", + "type": "", + "value": "Strings: hex length insufficient" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43398:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "43398:58:10" + }, + "nodeType": "YulExpressionStatement", + "src": "43398:58:10" + } + ] + }, + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "43379:6:10", + "type": "" + } + ], + "src": "43281:182:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43615:220:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "43625:74:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43691:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43696:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "43632:58:10" + }, + "nodeType": "YulFunctionCall", + "src": "43632:67:10" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43625:3:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43797:3:10" + } + ], + "functionName": { + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulIdentifier", + "src": "43708:88:10" + }, + "nodeType": "YulFunctionCall", + "src": "43708:93:10" + }, + "nodeType": "YulExpressionStatement", + "src": "43708:93:10" + }, + { + "nodeType": "YulAssignment", + "src": "43810:19:10", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43821:3:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43826:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43817:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "43817:12:10" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "43810:3:10" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "43603:3:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "43611:3:10", + "type": "" + } + ], + "src": "43469:366:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44012:248:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "44022:26:10", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44034:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44045:2:10", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44030:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "44030:18:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44022:4:10" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44069:9:10" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44080:1:10", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44065:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "44065:17:10" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44088:4:10" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44094:9:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "44084:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "44084:20:10" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44058:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "44058:47:10" + }, + "nodeType": "YulExpressionStatement", + "src": "44058:47:10" + }, + { + "nodeType": "YulAssignment", + "src": "44114:139:10", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44248:4:10" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "44122:124:10" + }, + "nodeType": "YulFunctionCall", + "src": "44122:131:10" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44114:4:10" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "43992:9:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "44007:4:10", + "type": "" + } + ], + "src": "43841:419:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44311:146:10", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "44321:25:10", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "44344:1:10" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "44326:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "44326:20:10" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "44321:1:10" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "44355:25:10", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "44378:1:10" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "44360:17:10" + }, + "nodeType": "YulFunctionCall", + "src": "44360:20:10" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "44355:1:10" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44402:22:10", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "44404:16:10" + }, + "nodeType": "YulFunctionCall", + "src": "44404:18:10" + }, + "nodeType": "YulExpressionStatement", + "src": "44404:18:10" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "44396:1:10" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "44399:1:10" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "44393:2:10" + }, + "nodeType": "YulFunctionCall", + "src": "44393:8:10" + }, + "nodeType": "YulIf", + "src": "44390:34:10" + }, + { + "nodeType": "YulAssignment", + "src": "44434:17:10", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "44446:1:10" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "44449:1:10" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "44442:3:10" + }, + "nodeType": "YulFunctionCall", + "src": "44442:9:10" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "44434:4:10" + } + ] + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "44297:1:10", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "44300:1:10", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "44306:4:10", + "type": "" + } + ], + "src": "44266:191:10" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44491:152:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44508:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44511:77:10", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44501:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "44501:88:10" + }, + "nodeType": "YulExpressionStatement", + "src": "44501:88:10" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44605:1:10", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44608:4:10", + "type": "", + "value": "0x31" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44598:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "44598:15:10" + }, + "nodeType": "YulExpressionStatement", + "src": "44598:15:10" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44629:1:10", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44632:4:10", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "44622:6:10" + }, + "nodeType": "YulFunctionCall", + "src": "44622:15:10" + }, + "nodeType": "YulExpressionStatement", + "src": "44622:15:10" + } + ] + }, + "name": "panic_error_0x31", + "nodeType": "YulFunctionDefinition", + "src": "44463:180:10" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\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 abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\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 revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // bytes\n function abi_decode_t_bytes_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256t_bytes_calldata_ptrt_bytes32t_bytes32t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6 {\n if slt(sub(dataEnd, headStart), 192) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value4 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value5 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 160\n\n value6 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\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_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_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(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 function abi_decode_tuple_t_addresst_uint256t_bytes_calldata_ptrt_bytes32t_bytes32(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value4 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value5 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(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_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n // address[]\n function abi_decode_t_array$_t_address_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n // bytes[]\n function abi_decode_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_array$_t_address_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptrt_bytes32t_bytes32t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7, value8 {\n if slt(sub(dataEnd, headStart), 192) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_array$_t_address_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value4, value5 := abi_decode_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value6 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value7 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 160\n\n value8 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bytes32t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(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_decode_tuple_t_array$_t_address_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptrt_bytes32t_bytes32(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_array$_t_address_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value4, value5 := abi_decode_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value6 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value7 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\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_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_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n\n copy_calldata_to_memory(start, pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr_t_bytes32_t_uint256__to_t_address_t_uint256_t_bytes_memory_ptr_t_bytes32_t_uint256__fromStack_reversed(headStart , value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\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 mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(value2, value3, tail)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value4, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value5, add(headStart, 128))\n\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 store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b(memPtr) {\n\n mstore(add(memPtr, 0), \"AccessControl: can only renounce\")\n\n mstore(add(memPtr, 32), \" roles for self\")\n\n }\n\n function abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__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_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b5a3ea75736bca2597d1c0b036db058aff7a9f1b1e864ba70a39cc3c6c3b2c38(memPtr) {\n\n mstore(add(memPtr, 0), \"BEMultiSigWallet: caller must be\")\n\n mstore(add(memPtr, 32), \" wallet\")\n\n }\n\n function abi_encode_t_stringliteral_b5a3ea75736bca2597d1c0b036db058aff7a9f1b1e864ba70a39cc3c6c3b2c38_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 39)\n store_literal_in_memory_b5a3ea75736bca2597d1c0b036db058aff7a9f1b1e864ba70a39cc3c6c3b2c38(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b5a3ea75736bca2597d1c0b036db058aff7a9f1b1e864ba70a39cc3c6c3b2c38__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_b5a3ea75736bca2597d1c0b036db058aff7a9f1b1e864ba70a39cc3c6c3b2c38_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\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 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 store_literal_in_memory_f189764673a1904d80a5eac6f1e4952021d4400f0665b76222b6d1047bee845d(memPtr) {\n\n mstore(add(memPtr, 0), \"BEMultiSigWallet: operation not \")\n\n mstore(add(memPtr, 32), \"exist or finished\")\n\n }\n\n function abi_encode_t_stringliteral_f189764673a1904d80a5eac6f1e4952021d4400f0665b76222b6d1047bee845d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 49)\n store_literal_in_memory_f189764673a1904d80a5eac6f1e4952021d4400f0665b76222b6d1047bee845d(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_f189764673a1904d80a5eac6f1e4952021d4400f0665b76222b6d1047bee845d__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_f189764673a1904d80a5eac6f1e4952021d4400f0665b76222b6d1047bee845d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr_t_bytes32_t_bytes32__to_t_address_t_uint256_t_bytes_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed(headStart , value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\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 mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(value2, value3, tail)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value4, add(headStart, 96))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value5, add(headStart, 128))\n\n }\n\n function store_literal_in_memory_a34a486f9100b008712958931fe0a50ea69be145b7a3d1e8680fe7decf64e499(memPtr) {\n\n mstore(add(memPtr, 0), \"BEMultiSigWallet: length mismatc\")\n\n mstore(add(memPtr, 32), \"h\")\n\n }\n\n function abi_encode_t_stringliteral_a34a486f9100b008712958931fe0a50ea69be145b7a3d1e8680fe7decf64e499_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_a34a486f9100b008712958931fe0a50ea69be145b7a3d1e8680fe7decf64e499(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_a34a486f9100b008712958931fe0a50ea69be145b7a3d1e8680fe7decf64e499__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_a34a486f9100b008712958931fe0a50ea69be145b7a3d1e8680fe7decf64e499_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() {\n revert(0, 0)\n }\n\n function revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() {\n revert(0, 0)\n }\n\n function revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() {\n revert(0, 0)\n }\n\n function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0x20, 1)))) { revert_error_356d538aaf70fba12156cc466564b792649f8f3befb07b071c91142253e175ad() }\n addr := add(base_ref, rel_offset_of_tail)\n\n length := calldataload(addr)\n if gt(length, 0xffffffffffffffff) { revert_error_1e55d03107e9c4f1b5e21c76a16fba166a461117ab153bcce65e6a4ea8e5fc8a() }\n addr := add(addr, 32)\n if sgt(addr, sub(calldatasize(), mul(length, 0x01))) { revert_error_977805620ff29572292dee35f70b0f3f3f73d3fdd0e9f4d7a901c2e43ab18a2e() }\n\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_dataslot_t_array$_t_address_$dyn_calldata_ptr(ptr) -> data {\n data := ptr\n\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_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 calldata_access_t_address(baseRef, ptr) -> value {\n value := abi_decode_t_address(ptr, add(ptr, 32))\n }\n\n function array_nextElement_t_array$_t_address_$dyn_calldata_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // address[] -> address[]\n function abi_encode_t_array$_t_address_$dyn_calldata_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack(value, length, pos) -> end {\n\n pos := array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_address_$dyn_calldata_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := calldata_access_t_address(baseRef, srcPtr)\n pos := abi_encodeUpdatedPos_t_address_to_t_address(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_address_$dyn_calldata_ptr(srcPtr)\n }\n end := pos\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function revert_error_d0468cefdb41083d2ff66f1e66140f10c9da08cd905521a779422e76a84d11ec() {\n revert(0, 0)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_calldata_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n\n if gt(length, 0x07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { revert_error_d0468cefdb41083d2ff66f1e66140f10c9da08cd905521a779422e76a84d11ec() }\n length := mul(length, 0x20)\n\n copy_calldata_to_memory(start, pos, length)\n end := add(pos, length)\n }\n\n function array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr(ptr) -> data {\n data := ptr\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length)\n\n copy_calldata_to_memory(start, pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encodeUpdatedPos_t_bytes_calldata_ptr_to_t_bytes_memory_ptr(value0, value1, pos) -> updatedPos {\n updatedPos := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr(value0, value1, pos)\n }\n\n function revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2() {\n revert(0, 0)\n }\n\n function revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20() {\n revert(0, 0)\n }\n\n function revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4() {\n revert(0, 0)\n }\n\n function calldata_access_t_bytes_calldata_ptr(base_ref, ptr) -> value, length {\n let rel_offset_of_tail := calldataload(ptr)\n if iszero(slt(rel_offset_of_tail, sub(sub(calldatasize(), base_ref), sub(0x20, 1)))) { revert_error_db64ea6d4a12deece376118739de8d9f517a2db5b58ea2ca332ea908c04c71d4() }\n value := add(rel_offset_of_tail, base_ref)\n\n length := calldataload(value)\n value := add(value, 0x20)\n if gt(length, 0xffffffffffffffff) { revert_error_0803104b3ab68501accf02de57372b8e5e6e1582158b771d3f89279dc6822fe2() }\n if sgt(base_ref, sub(calldatasize(), mul(length, 0x01))) { revert_error_3894daff73bdbb8963c284e167b207f7abade3c031c50828ea230a16bdbc0f20() }\n\n }\n\n function array_nextElement_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // bytes[] -> bytes[]\n function abi_encode_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack(value, length, pos) -> end {\n\n pos := array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, headStart))\n let elementValue0, elementValue1 := calldata_access_t_bytes_calldata_ptr(baseRef, srcPtr)\n tail := abi_encodeUpdatedPos_t_bytes_calldata_ptr_to_t_bytes_memory_ptr(elementValue0, elementValue1, tail)\n srcPtr := array_nextElement_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_address_$dyn_calldata_ptr_t_array$_t_uint256_$dyn_calldata_ptr_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_t_bytes32_t_bytes32__to_t_array$_t_address_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_t_bytes32_t_bytes32__fromStack_reversed(headStart , value7, value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_address_$dyn_calldata_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack(value0, value1, tail)\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_calldata_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value2, value3, tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack(value4, value5, tail)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value6, add(headStart, 96))\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value7, add(headStart, 128))\n\n }\n\n function store_literal_in_memory_18f4f64b96974e466ba9fe4c81e77d3a2e7e7ead1ec0709ce9c4a80df6bbe8e2(memPtr) {\n\n mstore(add(memPtr, 0), \"BEMultiSigWallet: operation cann\")\n\n mstore(add(memPtr, 32), \"ot be cancelled\")\n\n }\n\n function abi_encode_t_stringliteral_18f4f64b96974e466ba9fe4c81e77d3a2e7e7ead1ec0709ce9c4a80df6bbe8e2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n store_literal_in_memory_18f4f64b96974e466ba9fe4c81e77d3a2e7e7ead1ec0709ce9c4a80df6bbe8e2(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_18f4f64b96974e466ba9fe4c81e77d3a2e7e7ead1ec0709ce9c4a80df6bbe8e2__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_18f4f64b96974e466ba9fe4c81e77d3a2e7e7ead1ec0709ce9c4a80df6bbe8e2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874(memPtr) {\n\n mstore(add(memPtr, 0), \"AccessControl: account \")\n\n }\n\n function abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 23)\n store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874(pos)\n end := add(pos, 23)\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69(memPtr) {\n\n mstore(add(memPtr, 0), \" is missing role \")\n\n }\n\n function abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 17)\n store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69(pos)\n end := add(pos, 17)\n }\n\n function abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n end := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_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_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function store_literal_in_memory_498a98edde27c28694cc7d4941f82dd71ff5085e4a93f35609f504b4979a0e12(memPtr) {\n\n mstore(add(memPtr, 0), \"BEMultiSigWallet: operation alre\")\n\n mstore(add(memPtr, 32), \"ady scheduled\")\n\n }\n\n function abi_encode_t_stringliteral_498a98edde27c28694cc7d4941f82dd71ff5085e4a93f35609f504b4979a0e12_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_498a98edde27c28694cc7d4941f82dd71ff5085e4a93f35609f504b4979a0e12(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_498a98edde27c28694cc7d4941f82dd71ff5085e4a93f35609f504b4979a0e12__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_498a98edde27c28694cc7d4941f82dd71ff5085e4a93f35609f504b4979a0e12_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_9c4dfb173f7764cc56b8beafaf67c514b7ff532825adbcaadabf621199a1950a(memPtr) {\n\n mstore(add(memPtr, 0), \"BEMultiSigWallet: insufficient d\")\n\n mstore(add(memPtr, 32), \"elay\")\n\n }\n\n function abi_encode_t_stringliteral_9c4dfb173f7764cc56b8beafaf67c514b7ff532825adbcaadabf621199a1950a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_9c4dfb173f7764cc56b8beafaf67c514b7ff532825adbcaadabf621199a1950a(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_9c4dfb173f7764cc56b8beafaf67c514b7ff532825adbcaadabf621199a1950a__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_9c4dfb173f7764cc56b8beafaf67c514b7ff532825adbcaadabf621199a1950a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_3071306add2bfff75b9ab79068a1537f4356af9ed062959388101e0b120a034f(memPtr) {\n\n mstore(add(memPtr, 0), \"BEMultiSigWallet: operation is n\")\n\n mstore(add(memPtr, 32), \"ot ready\")\n\n }\n\n function abi_encode_t_stringliteral_3071306add2bfff75b9ab79068a1537f4356af9ed062959388101e0b120a034f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 40)\n store_literal_in_memory_3071306add2bfff75b9ab79068a1537f4356af9ed062959388101e0b120a034f(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_3071306add2bfff75b9ab79068a1537f4356af9ed062959388101e0b120a034f__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_3071306add2bfff75b9ab79068a1537f4356af9ed062959388101e0b120a034f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_26f3351a4289a44b9dc71972f9cd6f45d47bd0c7add4c9d1015c299b64c9cdbe(memPtr) {\n\n mstore(add(memPtr, 0), \"BEMultiSigWallet: operation not \")\n\n mstore(add(memPtr, 32), \"reach required confirmations\")\n\n }\n\n function abi_encode_t_stringliteral_26f3351a4289a44b9dc71972f9cd6f45d47bd0c7add4c9d1015c299b64c9cdbe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 60)\n store_literal_in_memory_26f3351a4289a44b9dc71972f9cd6f45d47bd0c7add4c9d1015c299b64c9cdbe(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_26f3351a4289a44b9dc71972f9cd6f45d47bd0c7add4c9d1015c299b64c9cdbe__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_26f3351a4289a44b9dc71972f9cd6f45d47bd0c7add4c9d1015c299b64c9cdbe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_dd941925c974bb4b37fc449c3636956979b5143840e3dd79fa264fd005e44275(memPtr) {\n\n mstore(add(memPtr, 0), \"BEMultiSigWallet: missing depend\")\n\n mstore(add(memPtr, 32), \"ency\")\n\n }\n\n function abi_encode_t_stringliteral_dd941925c974bb4b37fc449c3636956979b5143840e3dd79fa264fd005e44275_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_dd941925c974bb4b37fc449c3636956979b5143840e3dd79fa264fd005e44275(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_dd941925c974bb4b37fc449c3636956979b5143840e3dd79fa264fd005e44275__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_dd941925c974bb4b37fc449c3636956979b5143840e3dd79fa264fd005e44275_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n\n copy_calldata_to_memory(start, pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, value1, pos)\n\n end := pos\n }\n\n function store_literal_in_memory_4887496109bd7042bc943a0ba0978efb71ff89756cc68bec9bd24ffa06316a33(memPtr) {\n\n mstore(add(memPtr, 0), \"BEMultiSigWallet: underlying tra\")\n\n mstore(add(memPtr, 32), \"nsaction reverted\")\n\n }\n\n function abi_encode_t_stringliteral_4887496109bd7042bc943a0ba0978efb71ff89756cc68bec9bd24ffa06316a33_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 49)\n store_literal_in_memory_4887496109bd7042bc943a0ba0978efb71ff89756cc68bec9bd24ffa06316a33(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_4887496109bd7042bc943a0ba0978efb71ff89756cc68bec9bd24ffa06316a33__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_4887496109bd7042bc943a0ba0978efb71ff89756cc68bec9bd24ffa06316a33_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_bytes_calldata_ptr__to_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 96)\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 mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(value2, value3, tail)\n\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function decrement_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0x00) { panic_error_0x11() }\n ret := sub(value, 1)\n }\n\n function store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2(memPtr) {\n\n mstore(add(memPtr, 0), \"Strings: hex length insufficient\")\n\n }\n\n function abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__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_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack( tail)\n\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 panic_error_0x31() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n\n}\n", + "id": 10, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "168:11881:9:-:0;;;1901:752;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2010:55;275:32;;2010:13;;;:55;;:::i;:::-;2071:49;351:26;275:32;2071:13;;;:49;;:::i;:::-;2126;421:26;275:32;2126:13;;;:49;;:::i;:::-;2220:45;275:32;2252:12;:10;;;:12;;:::i;:::-;2220:10;;;:45;;:::i;:::-;2271:46;275:32;2311:4;2271:10;;;:46;;:::i;:::-;2355:9;2350:101;2374:9;:16;2370:1;:20;2350:101;;;2405:39;351:26;2431:9;2441:1;2431:12;;;;;;;;:::i;:::-;;;;;;;;2405:10;;;:39;;:::i;:::-;2392:3;;;;:::i;:::-;;;2350:101;;;;2488:9;2483:101;2507:9;:16;2503:1;:20;2483:101;;;2538:39;421:26;2564:9;2574:1;2564:12;;;;;;;;:::i;:::-;;;;;;;;2538:10;;;:39;;:::i;:::-;2525:3;;;;:::i;:::-;;;2483:101;;;;2601:9;2590:8;:20;;;;2621:27;2636:1;2639:8;;2621:27;;;;;;;:::i;:::-;;;;;;;;1901:752;;;168:11881;;6492:247:0;6575:25;6603:18;6616:4;6603:12;;;:18;;:::i;:::-;6575:46;;6656:9;6631:6;:12;6638:4;6631:12;;;;;;;;;;;:22;;:34;;;;6722:9;6703:17;6697:4;6680:52;;;;;;;;;;6565:174;6492:247;;:::o;640:96:4:-;693:7;719:10;712:17;;640:96;:::o;6257:110:0:-;6335:25;6346:4;6352:7;6335:10;;;:25;;:::i;:::-;6257:110;;:::o;4008:129::-;4082:7;4108:6;:12;4115:4;4108:12;;;;;;;;;;;:22;;;4101:29;;4008:129;;;:::o;1978:166:1:-;2065:31;2082:4;2088:7;2065:16;;;;;:31;;:::i;:::-;2106;2129:7;2106:12;:18;2119:4;2106:18;;;;;;;;;;;:22;;;;;;:31;;;;:::i;:::-;;1978:166;;:::o;6861:233:0:-;6944:22;6952:4;6958:7;6944;;;:22;;:::i;:::-;6939:149;;7014:4;6982:6;:12;6989:4;6982:12;;;;;;;;;;;:20;;:29;7003:7;6982:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7064:12;:10;;;:12;;:::i;:::-;7037:40;;7055:7;7037:40;;7049:4;7037:40;;;;;;;;;;6939:149;6861:233;;:::o;7612:150:8:-;7682:4;7705:50;7710:3;:10;;7746:5;7730:23;;7722:32;;7705:4;;;:50;;:::i;:::-;7698:57;;7612:150;;;;:::o;2909:145:0:-;2995:4;3018:6;:12;3025:4;3018:12;;;;;;;;;;;:20;;:29;3039:7;3018:29;;;;;;;;;;;;;;;;;;;;;;;;;3011:36;;2909:145;;;;:::o;1697:404:8:-;1760:4;1781:21;1791:3;1796:5;1781:9;;;:21;;:::i;:::-;1776:319;;1818:3;:11;;1835:5;1818:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1998:3;:11;;:18;;;;1976:3;:12;;:19;1989:5;1976:19;;;;;;;;;;;:40;;;;2037:4;2030:11;;;;1776:319;2079:5;2072:12;;1697:404;;;;;:::o;3738:127::-;3811:4;3857:1;3834:3;:12;;:19;3847:5;3834:19;;;;;;;;;;;;:24;;3827:31;;3738:127;;;;:::o;7:75:10:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:143::-;602:5;633:6;627:13;618:22;;649:33;676:5;649:33;:::i;:::-;545:143;;;;:::o;694:117::-;803:1;800;793:12;817:102;858:6;909:2;905:7;900:2;893:5;889:14;885:28;875:38;;817:102;;;:::o;925:180::-;973:77;970:1;963:88;1070:4;1067:1;1060:15;1094:4;1091:1;1084:15;1111:281;1194:27;1216:4;1194:27;:::i;:::-;1186:6;1182:40;1324:6;1312:10;1309:22;1288:18;1276:10;1273:34;1270:62;1267:88;;;1335:18;;:::i;:::-;1267:88;1375:10;1371:2;1364:22;1154:238;1111:281;;:::o;1398:129::-;1432:6;1459:20;;:::i;:::-;1449:30;;1488:33;1516:4;1508:6;1488:33;:::i;:::-;1398:129;;;:::o;1533:311::-;1610:4;1700:18;1692:6;1689:30;1686:56;;;1722:18;;:::i;:::-;1686:56;1772:4;1764:6;1760:17;1752:25;;1832:4;1826;1822:15;1814:23;;1533:311;;;:::o;1850:117::-;1959:1;1956;1949:12;1973:126;2010:7;2050:42;2043:5;2039:54;2028:65;;1973:126;;;:::o;2105:96::-;2142:7;2171:24;2189:5;2171:24;:::i;:::-;2160:35;;2105:96;;;:::o;2207:122::-;2280:24;2298:5;2280:24;:::i;:::-;2273:5;2270:35;2260:63;;2319:1;2316;2309:12;2260:63;2207:122;:::o;2335:143::-;2392:5;2423:6;2417:13;2408:22;;2439:33;2466:5;2439:33;:::i;:::-;2335:143;;;;:::o;2501:732::-;2608:5;2633:81;2649:64;2706:6;2649:64;:::i;:::-;2633:81;:::i;:::-;2624:90;;2734:5;2763:6;2756:5;2749:21;2797:4;2790:5;2786:16;2779:23;;2850:4;2842:6;2838:17;2830:6;2826:30;2879:3;2871:6;2868:15;2865:122;;;2898:79;;:::i;:::-;2865:122;3013:6;2996:231;3030:6;3025:3;3022:15;2996:231;;;3105:3;3134:48;3178:3;3166:10;3134:48;:::i;:::-;3129:3;3122:61;3212:4;3207:3;3203:14;3196:21;;3072:155;3056:4;3051:3;3047:14;3040:21;;2996:231;;;3000:21;2614:619;;2501:732;;;;;:::o;3256:385::-;3338:5;3387:3;3380:4;3372:6;3368:17;3364:27;3354:122;;3395:79;;:::i;:::-;3354:122;3505:6;3499:13;3530:105;3631:3;3623:6;3616:4;3608:6;3604:17;3530:105;:::i;:::-;3521:114;;3344:297;3256:385;;;;:::o;3647:1069::-;3785:6;3793;3801;3850:2;3838:9;3829:7;3825:23;3821:32;3818:119;;;3856:79;;:::i;:::-;3818:119;3976:1;4001:64;4057:7;4048:6;4037:9;4033:22;4001:64;:::i;:::-;3991:74;;3947:128;4135:2;4124:9;4120:18;4114:25;4166:18;4158:6;4155:30;4152:117;;;4188:79;;:::i;:::-;4152:117;4293:89;4374:7;4365:6;4354:9;4350:22;4293:89;:::i;:::-;4283:99;;4085:307;4452:2;4441:9;4437:18;4431:25;4483:18;4475:6;4472:30;4469:117;;;4505:79;;:::i;:::-;4469:117;4610:89;4691:7;4682:6;4671:9;4667:22;4610:89;:::i;:::-;4600:99;;4402:307;3647:1069;;;;;:::o;4722:180::-;4770:77;4767:1;4760:88;4867:4;4864:1;4857:15;4891:4;4888:1;4881:15;4908:180;4956:77;4953:1;4946:88;5053:4;5050:1;5043:15;5077:4;5074:1;5067:15;5094:233;5133:3;5156:24;5174:5;5156:24;:::i;:::-;5147:33;;5202:66;5195:5;5192:77;5189:103;;;5272:18;;:::i;:::-;5189:103;5319:1;5312:5;5308:13;5301:20;;5094:233;;;:::o;5333:85::-;5378:7;5407:5;5396:16;;5333:85;;;:::o;5424:60::-;5452:3;5473:5;5466:12;;5424:60;;;:::o;5490:158::-;5548:9;5581:61;5599:42;5608:32;5634:5;5608:32;:::i;:::-;5599:42;:::i;:::-;5581:61;:::i;:::-;5568:74;;5490:158;;;:::o;5654:147::-;5749:45;5788:5;5749:45;:::i;:::-;5744:3;5737:58;5654:147;;:::o;5807:118::-;5894:24;5912:5;5894:24;:::i;:::-;5889:3;5882:37;5807:118;;:::o;5931:348::-;6060:4;6098:2;6087:9;6083:18;6075:26;;6111:79;6187:1;6176:9;6172:17;6163:6;6111:79;:::i;:::-;6200:72;6268:2;6257:9;6253:18;6244:6;6200:72;:::i;:::-;5931:348;;;;;:::o;168:11881:9:-;;;;;;;", + "deployedSourceMap": "168:11881:9:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5715:362;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;634:212:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;381:66:9;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;561:65;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;225:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8827:355;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4072:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4008:129:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4359:130:9;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4387:145:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3326:114:9;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5404:214:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11573:145:9;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3514:153;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3671:329;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7896:285;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4862:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6311:739;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;311:66;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1431:151:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2909:145:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2027:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5224:291:9;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11893:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7527:231;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;630:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1750:140:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4626:133:9;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4766:147:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;657:23:9;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9422:668;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8337:284;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5715:362;351:26;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;5908:10:9::1;5921:53;5935:6;5943:5;5950:4;;5956:11;5969:4;5921:13;:53::i;:::-;5908:66;;5980:20;5990:2;5994:5;5980:9;:20::i;:::-;6029:1;6025:2;6011:61;6032:6;6040:5;6047:4;;6053:11;6066:5;6011:61;;;;;;;;;;;:::i;:::-;;;;;;;;5902:175;5715:362:::0;;;;;;;;:::o;634:212:1:-;719:4;757:42;742:57;;;:11;:57;;;;:97;;;;803:36;827:11;803:23;:36::i;:::-;742:97;735:104;;634:212;;;:::o;381:66:9:-;421:26;381:66;:::o;561:65::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;225:82::-;275:32;225:82;:::o;8827:355::-;421:26;2974:25;2982:4;2996:1;2974:7;:25::i;:::-;2969:77;;3009:30;3020:4;3026:12;:10;:12::i;:::-;3009:10;:30::i;:::-;2969:77;9018:10:::1;9031:53;9045:6;9053:5;9060:4;;9066:11;9079:4;9031:13;:53::i;:::-;9018:66;;9090:28;9102:2;9106:11;9090;:28::i;:::-;9124:33;9130:2;9134:1;9137:6;9145:5;9152:4;;9124:5;:33::i;:::-;9163:14;9174:2;9163:10;:14::i;:::-;9012:170;8827:355:::0;;;;;;;:::o;4072:216::-;4155:10;4175:17;4195:16;4208:2;4195:12;:16::i;:::-;4175:36;;503:1;4224:9;:27;:59;;;;;4268:15;4255:9;:28;;4224:59;4217:66;;;4072:216;;;:::o;4008:129:0:-;4082:7;4108:6;:12;4115:4;4108:12;;;;;;;;;;;:22;;;4101:29;;4008:129;;;:::o;4359:130:9:-;4425:9;503:1;4449:16;4462:2;4449:12;:16::i;:::-;:35;4442:42;;4359:130;;;:::o;4387:145:0:-;4470:18;4483:4;4470:12;:18::i;:::-;2505:30;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;4500:25:::1;4511:4;4517:7;4500:10;:25::i;:::-;4387:145:::0;;;:::o;3326:114:9:-;3388:12;3434:1;3415:16;3428:2;3415:12;:16::i;:::-;:20;3408:27;;3326:114;;;:::o;5404:214:0:-;5510:12;:10;:12::i;:::-;5499:23;;:7;:23;;;5491:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;5585:26;5597:4;5603:7;5585:11;:26::i;:::-;5404:214;;:::o;11573:145:9:-;1753:4;1731:27;;:10;:27;;;1716:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;11652:35:::1;11667:8;;11677:9;11652:35;;;;;;;:::i;:::-;;;;;;;;11704:9;11693:8;:20;;;;11573:145:::0;:::o;3514:153::-;3599:12;503:1;3628:16;3641:2;3628:12;:16::i;:::-;:34;3621:41;;3514:153;;;:::o;3671:329::-;3725:10;3743:13;3759:1;3743:17;;3766:21;3790:33;421:26;3790:18;:33::i;:::-;3766:57;;3834:9;3829:167;3853:13;3849:1;:17;3829:167;;;3885:13;:17;3899:2;3885:17;;;;;;;;;;;:50;3903:31;421:26;3932:1;3903:13;:31::i;:::-;3885:50;;;;;;;;;;;;;;;;;;;;;;;;;3881:66;;;3946:1;3937:10;;;;;:::i;:::-;;;3881:66;3968:8;;3959:5;:17;3955:34;;;3985:4;3978:11;;;;;;;3955:34;3868:3;;;;;:::i;:::-;;;;3829:167;;;;3737:263;;3671:329;;;;:::o;7896:285::-;421:26;2974:25;2982:4;2996:1;2974:7;:25::i;:::-;2969:77;;3009:30;3020:4;3026:12;:10;:12::i;:::-;3009:10;:30::i;:::-;2969:77;8008:22:::1;8027:2;8008:18;:22::i;:::-;7993:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;8133:4;8101:13;:17;8115:2;8101:17;;;;;;;;;;;:29;8119:10;8101:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;8161:10;8148:28;;;8173:2;8148:28;;;;;;:::i;:::-;;;;;;;;7896:285:::0;;:::o;4862:256::-;5025:12;5073:6;5081:5;5088:4;;5094:11;5107:4;5062:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5052:61;;;;;;5045:68;;4862:256;;;;;;;;:::o;6311:739::-;351:26;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;6569:6:9::1;;:13;;6551:7;;:14;;:31;6536:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;6670:5;;:12;;6652:7;;:14;;:30;6637:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;6738:10;6751:61;6770:7;;6779:6;;6787:5;;6794:11;6807:4;6751:18;:61::i;:::-;6738:74;;6818:20;6828:2;6832:5;6818:9;:20::i;:::-;6849:9;6844:202;6868:7;;:14;;6864:1;:18;6844:202;;;6937:1;6925:2;6902:137;6948:7;;6956:1;6948:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;6968:6;;6975:1;6968:9;;;;;;;:::i;:::-;;;;;;;;6987:5;;6993:1;6987:8;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;7005:11;7026:5;6902:137;;;;;;;;;;;:::i;:::-;;;;;;;;6884:3;;;;:::i;:::-;;;6844:202;;;;6530:520;6311:739:::0;;;;;;;;;;:::o;311:66::-;351:26;311:66;:::o;1431:151:1:-;1521:7;1547:28;1569:5;1547:12;:18;1560:4;1547:18;;;;;;;;;;;:21;;:28;;;;:::i;:::-;1540:35;;1431:151;;;;:::o;2909:145:0:-;2995:4;3018:6;:12;3025:4;3018:12;;;;;;;;;;;:20;;:29;3039:7;3018:29;;;;;;;;;;;;;;;;;;;;;;;;;3011:36;;2909:145;;;;:::o;2027:49::-;2072:4;2027:49;;;:::o;5224:291:9:-;5419:12;5467:7;;5476:6;;5484:5;;5491:11;5504:4;5456:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5446:64;;;;;;5439:71;;5224:291;;;;;;;;;;:::o;11893:154::-;1753:4;1731:27;;:10;:27;;;1716:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;11978:38:::1;11996:8;;12006:9;11978:38;;;;;;;:::i;:::-;;;;;;;;12033:9;12022:8;:20;;;;11893:154:::0;:::o;7527:231::-;351:26;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;7615:22:9::1;7634:2;7615:18;:22::i;:::-;7600:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;7713:11;:15;7725:2;7713:15;;;;;;;;;;;7706:22;;;7750:2;7740:13;;;;;;;;;;7527:231:::0;;:::o;630:23::-;;;;:::o;1750:140:1:-;1830:7;1856:27;:12;:18;1869:4;1856:18;;;;;;;;;;;:25;:27::i;:::-;1849:34;;1750:140;;;:::o;4626:133:9:-;4705:17;4739:11;:15;4751:2;4739:15;;;;;;;;;;;;4732:22;;4626:133;;;:::o;4766:147:0:-;4850:18;4863:4;4850:12;:18::i;:::-;2505:30;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;4880:26:::1;4892:4;4898:7;4880:11;:26::i;:::-;4766:147:::0;;;:::o;657:23:9:-;;;;:::o;9422:668::-;421:26;2974:25;2982:4;2996:1;2974:7;:25::i;:::-;2969:77;;3009:30;3020:4;3026:12;:10;:12::i;:::-;3009:10;:30::i;:::-;2969:77;9678:6:::1;;:13;;9660:7;;:14;;:31;9645:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;9779:5;;:12;;9761:7;;:14;;:30;9746:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;9847:10;9860:61;9879:7;;9888:6;;9896:5;;9903:11;9916:4;9860:18;:61::i;:::-;9847:74;;9927:28;9939:2;9943:11;9927;:28::i;:::-;9966:9;9961:105;9985:7;;:14;;9981:1;:18;9961:105;;;10014:45;10020:2;10024:1;10027:7;;10035:1;10027:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;10039:6;;10046:1;10039:9;;;;;;;:::i;:::-;;;;;;;;10050:5;;10056:1;10050:8;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;10014:5;:45::i;:::-;10001:3;;;;:::i;:::-;;;9961:105;;;;10071:14;10082:2;10071:10;:14::i;:::-;9639:451;9422:668:::0;;;;;;;;;:::o;8337:284::-;421:26;2974:25;2982:4;2996:1;2974:7;:25::i;:::-;2969:77;;3009:30;3020:4;3026:12;:10;:12::i;:::-;3009:10;:30::i;:::-;2969:77;8449:22:::1;8468:2;8449:18;:22::i;:::-;8434:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;8574:5;8542:13;:17;8556:2;8542:17;;;;;;;;;;;:29;8560:10;8542:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;8601:10;8590:26;;;8613:2;8590:26;;;;;;:::i;:::-;;;;;;;;8337:284:::0;;:::o;6861:233:0:-;6944:22;6952:4;6958:7;6944;:22::i;:::-;6939:149;;7014:4;6982:6;:12;6989:4;6982:12;;;;;;;;;;;:20;;:29;7003:7;6982:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7064:12;:10;:12::i;:::-;7037:40;;7055:7;7037:40;;7049:4;7037:40;;;;;;;;;;6939:149;6861:233;;:::o;7612:150:8:-;7682:4;7705:50;7710:3;:10;;7746:5;7730:23;;7722:32;;7705:4;:50::i;:::-;7698:57;;7612:150;;;;:::o;640:96:4:-;693:7;719:10;712:17;;640:96;:::o;3335:492:0:-;3423:22;3431:4;3437:7;3423;:22::i;:::-;3418:403;;3606:41;3634:7;3606:41;;3644:2;3606:19;:41::i;:::-;3718:38;3746:4;3738:13;;3753:2;3718:19;:38::i;:::-;3513:265;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3461:349;;;;;;;;;;;:::i;:::-;;;;;;;;3418:403;3335:492;;:::o;7144:258:9:-;7213:15;7225:2;7213:11;:15::i;:::-;7212:16;7204:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7301:8;;7292:5;:17;;7284:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;7392:5;7374:15;:23;;;;:::i;:::-;7356:11;:15;7368:2;7356:15;;;;;;;;;;;:41;;;;7144:258;;:::o;2620:202:0:-;2705:4;2743:32;2728:47;;;:11;:47;;;;:87;;;;2779:36;2803:11;2779:23;:36::i;:::-;2728:87;2721:94;;2620:202;;;:::o;10165:393:9:-;10246:20;10263:2;10246:16;:20::i;:::-;10238:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;10332:15;10344:2;10332:11;:15::i;:::-;10317:106;;;;;;;;;;;;:::i;:::-;;;;;;;;;10467:1;10459:10;;10444:11;:25;:57;;;;10473:28;10489:11;10473:15;:28::i;:::-;10444:57;10429:124;;;;;;;;;;;;:::i;:::-;;;;;;;;;10165:393;;:::o;10890:318::-;11023:12;11041:6;:11;;11060:5;11067:4;;11041:31;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11022:50;;;11086:7;11078:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;11176:5;11172:2;11159:44;11183:6;11191:5;11198:4;;11159:44;;;;;;;;;:::i;:::-;;;;;;;;11016:192;10890:318;;;;;;:::o;10632:163::-;10686:20;10703:2;10686:16;:20::i;:::-;10678:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;503:1;10757:11;:15;10769:2;10757:15;;;;;;;;;;;:33;;;;10632:163;:::o;1978:166:1:-;2065:31;2082:4;2088:7;2065:16;:31::i;:::-;2106;2129:7;2106:12;:18;2119:4;2106:18;;;;;;;;;;;:22;;:31;;;;:::i;:::-;;1978:166;;:::o;2233:171::-;2321:32;2339:4;2345:7;2321:17;:32::i;:::-;2363:34;2389:7;2363:12;:18;2376:4;2363:18;;;;;;;;;;;:25;;:34;;;;:::i;:::-;;2233:171;;:::o;8870:156:8:-;8944:7;8994:22;8998:3;:10;;9010:5;8994:3;:22::i;:::-;8986:31;;8963:56;;8870:156;;;;:::o;8413:115::-;8476:7;8502:19;8510:3;:10;;8502:7;:19::i;:::-;8495:26;;8413:115;;;:::o;1697:404::-;1760:4;1781:21;1791:3;1796:5;1781:9;:21::i;:::-;1776:319;;1818:3;:11;;1835:5;1818:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1998:3;:11;;:18;;;;1976:3;:12;;:19;1989:5;1976:19;;;;;;;;;;;:40;;;;2037:4;2030:11;;;;1776:319;2079:5;2072:12;;1697:404;;;;;:::o;1588:441:5:-;1663:13;1688:19;1733:1;1724:6;1720:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1710:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1688:47;;1745:15;:6;1752:1;1745:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;1770;:6;1777:1;1770:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;1800:9;1825:1;1816:6;1812:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1800:26;;1795:132;1832:1;1828;:5;1795:132;;;1866:12;1887:3;1879:5;:11;1866:25;;;;;;;:::i;:::-;;;;;1854:6;1861:1;1854:9;;;;;;;;:::i;:::-;;;;;:37;;;;;;;;;;;1915:1;1905:11;;;;;1835:3;;;;:::i;:::-;;;1795:132;;;;1953:1;1944:5;:10;1936:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;2015:6;2001:21;;;1588:441;;;;:::o;829:155:6:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;7219:234:0:-;7302:22;7310:4;7316:7;7302;:22::i;:::-;7298:149;;;7372:5;7340:6;:12;7347:4;7340:12;;;;;;;;;;;:20;;:29;7361:7;7340:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;7423:12;:10;:12::i;:::-;7396:40;;7414:7;7396:40;;7408:4;7396:40;;;;;;;;;;7298:149;7219:234;;:::o;7930:156:8:-;8003:4;8026:53;8034:3;:10;;8070:5;8054:23;;8046:32;;8026:7;:53::i;:::-;8019:60;;7930:156;;;;:::o;4395:118::-;4462:7;4488:3;:11;;4500:5;4488:18;;;;;;;;:::i;:::-;;;;;;;;;;4481:25;;4395:118;;;;:::o;3946:107::-;4002:7;4028:3;:11;;:18;;;;4021:25;;3946:107;;;:::o;3738:127::-;3811:4;3857:1;3834:3;:12;;:19;3847:5;3834:19;;;;;;;;;;;;:24;;3827:31;;3738:127;;;;:::o;2269:1388::-;2335:4;2451:18;2472:3;:12;;:19;2485:5;2472:19;;;;;;;;;;;;2451:40;;2520:1;2506:10;:15;2502:1149;;2875:21;2912:1;2899:10;:14;;;;:::i;:::-;2875:38;;2927:17;2968:1;2947:3;:11;;:18;;;;:22;;;;:::i;:::-;2927:42;;3001:13;2988:9;:26;2984:398;;3034:17;3054:3;:11;;3066:9;3054:22;;;;;;;;:::i;:::-;;;;;;;;;;3034:42;;3205:9;3176:3;:11;;3188:13;3176:26;;;;;;;;:::i;:::-;;;;;;;;;:38;;;;3314:10;3288:3;:12;;:23;3301:9;3288:23;;;;;;;;;;;:36;;;;3016:366;2984:398;3460:3;:11;;:17;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3552:3;:12;;:19;3565:5;3552:19;;;;;;;;;;;3545:26;;;3593:4;3586:11;;;;;;;2502:1149;3635:5;3628:12;;;2269:1388;;;;;:::o;88:117:10:-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:77::-;878:7;907:5;896:16;;841:77;;;:::o;924:122::-;997:24;1015:5;997:24;:::i;:::-;990:5;987:35;977:63;;1036:1;1033;1026:12;977:63;924:122;:::o;1052:139::-;1098:5;1136:6;1123:20;1114:29;;1152:33;1179:5;1152:33;:::i;:::-;1052:139;;;;:::o;1197:117::-;1306:1;1303;1296:12;1320:117;1429:1;1426;1419:12;1443:117;1552:1;1549;1542:12;1579:552;1636:8;1646:6;1696:3;1689:4;1681:6;1677:17;1673:27;1663:122;;1704:79;;:::i;:::-;1663:122;1817:6;1804:20;1794:30;;1847:18;1839:6;1836:30;1833:117;;;1869:79;;:::i;:::-;1833:117;1983:4;1975:6;1971:17;1959:29;;2037:3;2029:4;2021:6;2017:17;2007:8;2003:32;2000:41;1997:128;;;2044:79;;:::i;:::-;1997:128;1579:552;;;;;:::o;2137:77::-;2174:7;2203:5;2192:16;;2137:77;;;:::o;2220:122::-;2293:24;2311:5;2293:24;:::i;:::-;2286:5;2283:35;2273:63;;2332:1;2329;2322:12;2273:63;2220:122;:::o;2348:139::-;2394:5;2432:6;2419:20;2410:29;;2448:33;2475:5;2448:33;:::i;:::-;2348:139;;;;:::o;2493:1255::-;2608:6;2616;2624;2632;2640;2648;2656;2705:3;2693:9;2684:7;2680:23;2676:33;2673:120;;;2712:79;;:::i;:::-;2673:120;2832:1;2857:53;2902:7;2893:6;2882:9;2878:22;2857:53;:::i;:::-;2847:63;;2803:117;2959:2;2985:53;3030:7;3021:6;3010:9;3006:22;2985:53;:::i;:::-;2975:63;;2930:118;3115:2;3104:9;3100:18;3087:32;3146:18;3138:6;3135:30;3132:117;;;3168:79;;:::i;:::-;3132:117;3281:64;3337:7;3328:6;3317:9;3313:22;3281:64;:::i;:::-;3263:82;;;;3058:297;3394:2;3420:53;3465:7;3456:6;3445:9;3441:22;3420:53;:::i;:::-;3410:63;;3365:118;3522:3;3549:53;3594:7;3585:6;3574:9;3570:22;3549:53;:::i;:::-;3539:63;;3493:119;3651:3;3678:53;3723:7;3714:6;3703:9;3699:22;3678:53;:::i;:::-;3668:63;;3622:119;2493:1255;;;;;;;;;;:::o;3754:149::-;3790:7;3830:66;3823:5;3819:78;3808:89;;3754:149;;;:::o;3909:120::-;3981:23;3998:5;3981:23;:::i;:::-;3974:5;3971:34;3961:62;;4019:1;4016;4009:12;3961:62;3909:120;:::o;4035:137::-;4080:5;4118:6;4105:20;4096:29;;4134:32;4160:5;4134:32;:::i;:::-;4035:137;;;;:::o;4178:327::-;4236:6;4285:2;4273:9;4264:7;4260:23;4256:32;4253:119;;;4291:79;;:::i;:::-;4253:119;4411:1;4436:52;4480:7;4471:6;4460:9;4456:22;4436:52;:::i;:::-;4426:62;;4382:116;4178:327;;;;:::o;4511:90::-;4545:7;4588:5;4581:13;4574:21;4563:32;;4511:90;;;:::o;4607:109::-;4688:21;4703:5;4688:21;:::i;:::-;4683:3;4676:34;4607:109;;:::o;4722:210::-;4809:4;4847:2;4836:9;4832:18;4824:26;;4860:65;4922:1;4911:9;4907:17;4898:6;4860:65;:::i;:::-;4722:210;;;;:::o;4938:118::-;5025:24;5043:5;5025:24;:::i;:::-;5020:3;5013:37;4938:118;;:::o;5062:222::-;5155:4;5193:2;5182:9;5178:18;5170:26;;5206:71;5274:1;5263:9;5259:17;5250:6;5206:71;:::i;:::-;5062:222;;;;:::o;5290:474::-;5358:6;5366;5415:2;5403:9;5394:7;5390:23;5386:32;5383:119;;;5421:79;;:::i;:::-;5383:119;5541:1;5566:53;5611:7;5602:6;5591:9;5587:22;5566:53;:::i;:::-;5556:63;;5512:117;5668:2;5694:53;5739:7;5730:6;5719:9;5715:22;5694:53;:::i;:::-;5684:63;;5639:118;5290:474;;;;;:::o;5770:1109::-;5876:6;5884;5892;5900;5908;5916;5965:3;5953:9;5944:7;5940:23;5936:33;5933:120;;;5972:79;;:::i;:::-;5933:120;6092:1;6117:53;6162:7;6153:6;6142:9;6138:22;6117:53;:::i;:::-;6107:63;;6063:117;6219:2;6245:53;6290:7;6281:6;6270:9;6266:22;6245:53;:::i;:::-;6235:63;;6190:118;6375:2;6364:9;6360:18;6347:32;6406:18;6398:6;6395:30;6392:117;;;6428:79;;:::i;:::-;6392:117;6541:64;6597:7;6588:6;6577:9;6573:22;6541:64;:::i;:::-;6523:82;;;;6318:297;6654:2;6680:53;6725:7;6716:6;6705:9;6701:22;6680:53;:::i;:::-;6670:63;;6625:118;6782:3;6809:53;6854:7;6845:6;6834:9;6830:22;6809:53;:::i;:::-;6799:63;;6753:119;5770:1109;;;;;;;;:::o;6885:329::-;6944:6;6993:2;6981:9;6972:7;6968:23;6964:32;6961:119;;;6999:79;;:::i;:::-;6961:119;7119:1;7144:53;7189:7;7180:6;7169:9;7165:22;7144:53;:::i;:::-;7134:63;;7090:117;6885:329;;;;:::o;7220:::-;7279:6;7328:2;7316:9;7307:7;7303:23;7299:32;7296:119;;;7334:79;;:::i;:::-;7296:119;7454:1;7479:53;7524:7;7515:6;7504:9;7500:22;7479:53;:::i;:::-;7469:63;;7425:117;7220:329;;;;:::o;7572:568::-;7645:8;7655:6;7705:3;7698:4;7690:6;7686:17;7682:27;7672:122;;7713:79;;:::i;:::-;7672:122;7826:6;7813:20;7803:30;;7856:18;7848:6;7845:30;7842:117;;;7878:79;;:::i;:::-;7842:117;7992:4;7984:6;7980:17;7968:29;;8046:3;8038:4;8030:6;8026:17;8016:8;8012:32;8009:41;8006:128;;;8053:79;;:::i;:::-;8006:128;7572:568;;;;;:::o;8163:::-;8236:8;8246:6;8296:3;8289:4;8281:6;8277:17;8273:27;8263:122;;8304:79;;:::i;:::-;8263:122;8417:6;8404:20;8394:30;;8447:18;8439:6;8436:30;8433:117;;;8469:79;;:::i;:::-;8433:117;8583:4;8575:6;8571:17;8559:29;;8637:3;8629:4;8621:6;8617:17;8607:8;8603:32;8600:41;8597:128;;;8644:79;;:::i;:::-;8597:128;8163:568;;;;;:::o;8752:579::-;8836:8;8846:6;8896:3;8889:4;8881:6;8877:17;8873:27;8863:122;;8904:79;;:::i;:::-;8863:122;9017:6;9004:20;8994:30;;9047:18;9039:6;9036:30;9033:117;;;9069:79;;:::i;:::-;9033:117;9183:4;9175:6;9171:17;9159:29;;9237:3;9229:4;9221:6;9217:17;9207:8;9203:32;9200:41;9197:128;;;9244:79;;:::i;:::-;9197:128;8752:579;;;;;:::o;9337:1769::-;9533:6;9541;9549;9557;9565;9573;9581;9589;9597;9646:3;9634:9;9625:7;9621:23;9617:33;9614:120;;;9653:79;;:::i;:::-;9614:120;9801:1;9790:9;9786:17;9773:31;9831:18;9823:6;9820:30;9817:117;;;9853:79;;:::i;:::-;9817:117;9966:80;10038:7;10029:6;10018:9;10014:22;9966:80;:::i;:::-;9948:98;;;;9744:312;10123:2;10112:9;10108:18;10095:32;10154:18;10146:6;10143:30;10140:117;;;10176:79;;:::i;:::-;10140:117;10289:80;10361:7;10352:6;10341:9;10337:22;10289:80;:::i;:::-;10271:98;;;;10066:313;10446:2;10435:9;10431:18;10418:32;10477:18;10469:6;10466:30;10463:117;;;10499:79;;:::i;:::-;10463:117;10612:91;10695:7;10686:6;10675:9;10671:22;10612:91;:::i;:::-;10594:109;;;;10389:324;10752:2;10778:53;10823:7;10814:6;10803:9;10799:22;10778:53;:::i;:::-;10768:63;;10723:118;10880:3;10907:53;10952:7;10943:6;10932:9;10928:22;10907:53;:::i;:::-;10897:63;;10851:119;11009:3;11036:53;11081:7;11072:6;11061:9;11057:22;11036:53;:::i;:::-;11026:63;;10980:119;9337:1769;;;;;;;;;;;:::o;11112:474::-;11180:6;11188;11237:2;11225:9;11216:7;11212:23;11208:32;11205:119;;;11243:79;;:::i;:::-;11205:119;11363:1;11388:53;11433:7;11424:6;11413:9;11409:22;11388:53;:::i;:::-;11378:63;;11334:117;11490:2;11516:53;11561:7;11552:6;11541:9;11537:22;11516:53;:::i;:::-;11506:63;;11461:118;11112:474;;;;;:::o;11592:118::-;11679:24;11697:5;11679:24;:::i;:::-;11674:3;11667:37;11592:118;;:::o;11716:222::-;11809:4;11847:2;11836:9;11832:18;11824:26;;11860:71;11928:1;11917:9;11913:17;11904:6;11860:71;:::i;:::-;11716:222;;;;:::o;11944:1623::-;12131:6;12139;12147;12155;12163;12171;12179;12187;12236:3;12224:9;12215:7;12211:23;12207:33;12204:120;;;12243:79;;:::i;:::-;12204:120;12391:1;12380:9;12376:17;12363:31;12421:18;12413:6;12410:30;12407:117;;;12443:79;;:::i;:::-;12407:117;12556:80;12628:7;12619:6;12608:9;12604:22;12556:80;:::i;:::-;12538:98;;;;12334:312;12713:2;12702:9;12698:18;12685:32;12744:18;12736:6;12733:30;12730:117;;;12766:79;;:::i;:::-;12730:117;12879:80;12951:7;12942:6;12931:9;12927:22;12879:80;:::i;:::-;12861:98;;;;12656:313;13036:2;13025:9;13021:18;13008:32;13067:18;13059:6;13056:30;13053:117;;;13089:79;;:::i;:::-;13053:117;13202:91;13285:7;13276:6;13265:9;13261:22;13202:91;:::i;:::-;13184:109;;;;12979:324;13342:2;13368:53;13413:7;13404:6;13393:9;13389:22;13368:53;:::i;:::-;13358:63;;13313:118;13470:3;13497:53;13542:7;13533:6;13522:9;13518:22;13497:53;:::i;:::-;13487:63;;13441:119;11944:1623;;;;;;;;;;;:::o;13573:118::-;13660:24;13678:5;13660:24;:::i;:::-;13655:3;13648:37;13573:118;;:::o;13697:222::-;13790:4;13828:2;13817:9;13813:18;13805:26;;13841:71;13909:1;13898:9;13894:17;13885:6;13841:71;:::i;:::-;13697:222;;;;:::o;13925:168::-;14008:11;14042:6;14037:3;14030:19;14082:4;14077:3;14073:14;14058:29;;13925:168;;;;:::o;14099:154::-;14183:6;14178:3;14173;14160:30;14245:1;14236:6;14231:3;14227:16;14220:27;14099:154;;;:::o;14259:102::-;14300:6;14351:2;14347:7;14342:2;14335:5;14331:14;14327:28;14317:38;;14259:102;;;:::o;14389:301::-;14485:3;14506:70;14569:6;14564:3;14506:70;:::i;:::-;14499:77;;14586:43;14622:6;14617:3;14610:5;14586:43;:::i;:::-;14654:29;14676:6;14654:29;:::i;:::-;14649:3;14645:39;14638:46;;14389:301;;;;;:::o;14696:771::-;14929:4;14967:3;14956:9;14952:19;14944:27;;14981:71;15049:1;15038:9;15034:17;15025:6;14981:71;:::i;:::-;15062:72;15130:2;15119:9;15115:18;15106:6;15062:72;:::i;:::-;15181:9;15175:4;15171:20;15166:2;15155:9;15151:18;15144:48;15209:86;15290:4;15281:6;15273;15209:86;:::i;:::-;15201:94;;15305:72;15373:2;15362:9;15358:18;15349:6;15305:72;:::i;:::-;15387:73;15455:3;15444:9;15440:19;15431:6;15387:73;:::i;:::-;14696:771;;;;;;;;;:::o;15473:169::-;15557:11;15591:6;15586:3;15579:19;15631:4;15626:3;15622:14;15607:29;;15473:169;;;;:::o;15648:234::-;15788:34;15784:1;15776:6;15772:14;15765:58;15857:17;15852:2;15844:6;15840:15;15833:42;15648:234;:::o;15888:366::-;16030:3;16051:67;16115:2;16110:3;16051:67;:::i;:::-;16044:74;;16127:93;16216:3;16127:93;:::i;:::-;16245:2;16240:3;16236:12;16229:19;;15888:366;;;:::o;16260:419::-;16426:4;16464:2;16453:9;16449:18;16441:26;;16513:9;16507:4;16503:20;16499:1;16488:9;16484:17;16477:47;16541:131;16667:4;16541:131;:::i;:::-;16533:139;;16260:419;;;:::o;16685:226::-;16825:34;16821:1;16813:6;16809:14;16802:58;16894:9;16889:2;16881:6;16877:15;16870:34;16685:226;:::o;16917:366::-;17059:3;17080:67;17144:2;17139:3;17080:67;:::i;:::-;17073:74;;17156:93;17245:3;17156:93;:::i;:::-;17274:2;17269:3;17265:12;17258:19;;16917:366;;;:::o;17289:419::-;17455:4;17493:2;17482:9;17478:18;17470:26;;17542:9;17536:4;17532:20;17528:1;17517:9;17513:17;17506:47;17570:131;17696:4;17570:131;:::i;:::-;17562:139;;17289:419;;;:::o;17714:332::-;17835:4;17873:2;17862:9;17858:18;17850:26;;17886:71;17954:1;17943:9;17939:17;17930:6;17886:71;:::i;:::-;17967:72;18035:2;18024:9;18020:18;18011:6;17967:72;:::i;:::-;17714:332;;;;;:::o;18052:180::-;18100:77;18097:1;18090:88;18197:4;18194:1;18187:15;18221:4;18218:1;18211:15;18238:305;18278:3;18297:20;18315:1;18297:20;:::i;:::-;18292:25;;18331:20;18349:1;18331:20;:::i;:::-;18326:25;;18485:1;18417:66;18413:74;18410:1;18407:81;18404:107;;;18491:18;;:::i;:::-;18404:107;18535:1;18532;18528:9;18521:16;;18238:305;;;;:::o;18549:233::-;18588:3;18611:24;18629:5;18611:24;:::i;:::-;18602:33;;18657:66;18650:5;18647:77;18644:103;;;18727:18;;:::i;:::-;18644:103;18774:1;18767:5;18763:13;18756:20;;18549:233;;;:::o;18788:236::-;18928:34;18924:1;18916:6;18912:14;18905:58;18997:19;18992:2;18984:6;18980:15;18973:44;18788:236;:::o;19030:366::-;19172:3;19193:67;19257:2;19252:3;19193:67;:::i;:::-;19186:74;;19269:93;19358:3;19269:93;:::i;:::-;19387:2;19382:3;19378:12;19371:19;;19030:366;;;:::o;19402:419::-;19568:4;19606:2;19595:9;19591:18;19583:26;;19655:9;19649:4;19645:20;19641:1;19630:9;19626:17;19619:47;19683:131;19809:4;19683:131;:::i;:::-;19675:139;;19402:419;;;:::o;19827:771::-;20060:4;20098:3;20087:9;20083:19;20075:27;;20112:71;20180:1;20169:9;20165:17;20156:6;20112:71;:::i;:::-;20193:72;20261:2;20250:9;20246:18;20237:6;20193:72;:::i;:::-;20312:9;20306:4;20302:20;20297:2;20286:9;20282:18;20275:48;20340:86;20421:4;20412:6;20404;20340:86;:::i;:::-;20332:94;;20436:72;20504:2;20493:9;20489:18;20480:6;20436:72;:::i;:::-;20518:73;20586:3;20575:9;20571:19;20562:6;20518:73;:::i;:::-;19827:771;;;;;;;;;:::o;20604:220::-;20744:34;20740:1;20732:6;20728:14;20721:58;20813:3;20808:2;20800:6;20796:15;20789:28;20604:220;:::o;20830:366::-;20972:3;20993:67;21057:2;21052:3;20993:67;:::i;:::-;20986:74;;21069:93;21158:3;21069:93;:::i;:::-;21187:2;21182:3;21178:12;21171:19;;20830:366;;;:::o;21202:419::-;21368:4;21406:2;21395:9;21391:18;21383:26;;21455:9;21449:4;21445:20;21441:1;21430:9;21426:17;21419:47;21483:131;21609:4;21483:131;:::i;:::-;21475:139;;21202:419;;;:::o;21627:180::-;21675:77;21672:1;21665:88;21772:4;21769:1;21762:15;21796:4;21793:1;21786:15;21813:329;21872:6;21921:2;21909:9;21900:7;21896:23;21892:32;21889:119;;;21927:79;;:::i;:::-;21889:119;22047:1;22072:53;22117:7;22108:6;22097:9;22093:22;22072:53;:::i;:::-;22062:63;;22018:117;21813:329;;;;:::o;22148:117::-;22257:1;22254;22247:12;22271:117;22380:1;22377;22370:12;22394:117;22503:1;22500;22493:12;22517:724;22594:4;22600:6;22656:11;22643:25;22756:1;22750:4;22746:12;22735:8;22719:14;22715:29;22711:48;22691:18;22687:73;22677:168;;22764:79;;:::i;:::-;22677:168;22876:18;22866:8;22862:33;22854:41;;22928:4;22915:18;22905:28;;22956:18;22948:6;22945:30;22942:117;;;22978:79;;:::i;:::-;22942:117;23086:2;23080:4;23076:13;23068:21;;23143:4;23135:6;23131:17;23115:14;23111:38;23105:4;23101:49;23098:136;;;23153:79;;:::i;:::-;23098:136;22607:634;22517:724;;;;;:::o;23247:184::-;23346:11;23380:6;23375:3;23368:19;23420:4;23415:3;23411:14;23396:29;;23247:184;;;;:::o;23437:102::-;23506:4;23529:3;23521:11;;23437:102;;;:::o;23545:108::-;23622:24;23640:5;23622:24;:::i;:::-;23617:3;23610:37;23545:108;;:::o;23659:179::-;23728:10;23749:46;23791:3;23783:6;23749:46;:::i;:::-;23827:4;23822:3;23818:14;23804:28;;23659:179;;;;:::o;23844:122::-;23896:5;23921:39;23956:2;23951:3;23947:12;23942:3;23921:39;:::i;:::-;23912:48;;23844:122;;;;:::o;23972:115::-;24044:4;24076;24071:3;24067:14;24059:22;;23972:115;;;:::o;24123:699::-;24252:3;24275:86;24354:6;24349:3;24275:86;:::i;:::-;24268:93;;24385:58;24437:5;24385:58;:::i;:::-;24466:7;24497:1;24482:315;24507:6;24504:1;24501:13;24482:315;;;24577:42;24612:6;24603:7;24577:42;:::i;:::-;24639:63;24698:3;24683:13;24639:63;:::i;:::-;24632:70;;24725:62;24780:6;24725:62;:::i;:::-;24715:72;;24542:255;24529:1;24526;24522:9;24517:14;;24482:315;;;24486:14;24813:3;24806:10;;24257:565;;24123:699;;;;;:::o;24828:184::-;24927:11;24961:6;24956:3;24949:19;25001:4;24996:3;24992:14;24977:29;;24828:184;;;;:::o;25018:117::-;25127:1;25124;25117:12;25171:537;25299:3;25320:86;25399:6;25394:3;25320:86;:::i;:::-;25313:93;;25430:66;25422:6;25419:78;25416:165;;;25500:79;;:::i;:::-;25416:165;25612:4;25604:6;25600:17;25590:27;;25627:43;25663:6;25658:3;25651:5;25627:43;:::i;:::-;25695:6;25690:3;25686:16;25679:23;;25171:537;;;;;:::o;25714:193::-;25822:11;25856:6;25851:3;25844:19;25896:4;25891:3;25887:14;25872:29;;25714:193;;;;:::o;25913:113::-;25993:4;26016:3;26008:11;;25913:113;;;:::o;26032:158::-;26105:11;26139:6;26134:3;26127:19;26179:4;26174:3;26170:14;26155:29;;26032:158;;;;:::o;26218:281::-;26304:3;26325:60;26378:6;26373:3;26325:60;:::i;:::-;26318:67;;26395:43;26431:6;26426:3;26419:5;26395:43;:::i;:::-;26463:29;26485:6;26463:29;:::i;:::-;26458:3;26454:39;26447:46;;26218:281;;;;;:::o;26505:212::-;26602:10;26637:74;26707:3;26699:6;26691;26637:74;:::i;:::-;26623:88;;26505:212;;;;;:::o;26723:117::-;26832:1;26829;26822:12;26846:117;26955:1;26952;26945:12;26969:117;27078:1;27075;27068:12;27092:714;27156:5;27163:6;27219:3;27206:17;27311:1;27305:4;27301:12;27290:8;27274:14;27270:29;27266:48;27246:18;27242:73;27232:168;;27319:79;;:::i;:::-;27232:168;27442:8;27422:18;27418:33;27409:42;;27484:5;27471:19;27461:29;;27519:4;27512:5;27508:16;27499:25;;27547:18;27539:6;27536:30;27533:117;;;27569:79;;:::i;:::-;27533:117;27708:4;27700:6;27696:17;27680:14;27676:38;27666:8;27662:53;27659:140;;;27718:79;;:::i;:::-;27659:140;27170:636;27092:714;;;;;:::o;27812:126::-;27895:4;27927;27922:3;27918:14;27910:22;;27812:126;;;:::o;27970:990::-;28119:3;28142:95;28230:6;28225:3;28142:95;:::i;:::-;28135:102;;28263:3;28308:4;28300:6;28296:17;28291:3;28287:27;28338:69;28401:5;28338:69;:::i;:::-;28430:7;28461:1;28446:469;28471:6;28468:1;28465:13;28446:469;;;28542:9;28536:4;28532:20;28527:3;28520:33;28602:53;28648:6;28639:7;28602:53;:::i;:::-;28676:99;28770:4;28755:13;28740;28676:99;:::i;:::-;28668:107;;28798:73;28864:6;28798:73;:::i;:::-;28788:83;;28900:4;28895:3;28891:14;28884:21;;28506:409;;28493:1;28490;28486:9;28481:14;;28446:469;;;28450:14;28931:4;28924:11;;28951:3;28944:10;;28124:836;;;;27970:990;;;;;:::o;28966:1217::-;29371:4;29409:3;29398:9;29394:19;29386:27;;29459:9;29453:4;29449:20;29445:1;29434:9;29430:17;29423:47;29487:118;29600:4;29591:6;29583;29487:118;:::i;:::-;29479:126;;29652:9;29646:4;29642:20;29637:2;29626:9;29622:18;29615:48;29680:118;29793:4;29784:6;29776;29680:118;:::i;:::-;29672:126;;29845:9;29839:4;29835:20;29830:2;29819:9;29815:18;29808:48;29873:138;30006:4;29997:6;29989;29873:138;:::i;:::-;29865:146;;30021:72;30089:2;30078:9;30074:18;30065:6;30021:72;:::i;:::-;30103:73;30171:3;30160:9;30156:19;30147:6;30103:73;:::i;:::-;28966:1217;;;;;;;;;;;:::o;30189:234::-;30329:34;30325:1;30317:6;30313:14;30306:58;30398:17;30393:2;30385:6;30381:15;30374:42;30189:234;:::o;30429:366::-;30571:3;30592:67;30656:2;30651:3;30592:67;:::i;:::-;30585:74;;30668:93;30757:3;30668:93;:::i;:::-;30786:2;30781:3;30777:12;30770:19;;30429:366;;;:::o;30801:419::-;30967:4;31005:2;30994:9;30990:18;30982:26;;31054:9;31048:4;31044:20;31040:1;31029:9;31025:17;31018:47;31082:131;31208:4;31082:131;:::i;:::-;31074:139;;30801:419;;;:::o;31226:148::-;31328:11;31365:3;31350:18;;31226:148;;;;:::o;31380:173::-;31520:25;31516:1;31508:6;31504:14;31497:49;31380:173;:::o;31559:402::-;31719:3;31740:85;31822:2;31817:3;31740:85;:::i;:::-;31733:92;;31834:93;31923:3;31834:93;:::i;:::-;31952:2;31947:3;31943:12;31936:19;;31559:402;;;:::o;31967:99::-;32019:6;32053:5;32047:12;32037:22;;31967:99;;;:::o;32072:307::-;32140:1;32150:113;32164:6;32161:1;32158:13;32150:113;;;32249:1;32244:3;32240:11;32234:18;32230:1;32225:3;32221:11;32214:39;32186:2;32183:1;32179:10;32174:15;;32150:113;;;32281:6;32278:1;32275:13;32272:101;;;32361:1;32352:6;32347:3;32343:16;32336:27;32272:101;32121:258;32072:307;;;:::o;32385:377::-;32491:3;32519:39;32552:5;32519:39;:::i;:::-;32574:89;32656:6;32651:3;32574:89;:::i;:::-;32567:96;;32672:52;32717:6;32712:3;32705:4;32698:5;32694:16;32672:52;:::i;:::-;32749:6;32744:3;32740:16;32733:23;;32495:267;32385:377;;;;:::o;32768:167::-;32908:19;32904:1;32896:6;32892:14;32885:43;32768:167;:::o;32941:402::-;33101:3;33122:85;33204:2;33199:3;33122:85;:::i;:::-;33115:92;;33216:93;33305:3;33216:93;:::i;:::-;33334:2;33329:3;33325:12;33318:19;;32941:402;;;:::o;33349:967::-;33731:3;33753:148;33897:3;33753:148;:::i;:::-;33746:155;;33918:95;34009:3;34000:6;33918:95;:::i;:::-;33911:102;;34030:148;34174:3;34030:148;:::i;:::-;34023:155;;34195:95;34286:3;34277:6;34195:95;:::i;:::-;34188:102;;34307:3;34300:10;;33349:967;;;;;:::o;34322:364::-;34410:3;34438:39;34471:5;34438:39;:::i;:::-;34493:71;34557:6;34552:3;34493:71;:::i;:::-;34486:78;;34573:52;34618:6;34613:3;34606:4;34599:5;34595:16;34573:52;:::i;:::-;34650:29;34672:6;34650:29;:::i;:::-;34645:3;34641:39;34634:46;;34414:272;34322:364;;;;:::o;34692:313::-;34805:4;34843:2;34832:9;34828:18;34820:26;;34892:9;34886:4;34882:20;34878:1;34867:9;34863:17;34856:47;34920:78;34993:4;34984:6;34920:78;:::i;:::-;34912:86;;34692:313;;;;:::o;35011:232::-;35151:34;35147:1;35139:6;35135:14;35128:58;35220:15;35215:2;35207:6;35203:15;35196:40;35011:232;:::o;35249:366::-;35391:3;35412:67;35476:2;35471:3;35412:67;:::i;:::-;35405:74;;35488:93;35577:3;35488:93;:::i;:::-;35606:2;35601:3;35597:12;35590:19;;35249:366;;;:::o;35621:419::-;35787:4;35825:2;35814:9;35810:18;35802:26;;35874:9;35868:4;35864:20;35860:1;35849:9;35845:17;35838:47;35902:131;36028:4;35902:131;:::i;:::-;35894:139;;35621:419;;;:::o;36046:223::-;36186:34;36182:1;36174:6;36170:14;36163:58;36255:6;36250:2;36242:6;36238:15;36231:31;36046:223;:::o;36275:366::-;36417:3;36438:67;36502:2;36497:3;36438:67;:::i;:::-;36431:74;;36514:93;36603:3;36514:93;:::i;:::-;36632:2;36627:3;36623:12;36616:19;;36275:366;;;:::o;36647:419::-;36813:4;36851:2;36840:9;36836:18;36828:26;;36900:9;36894:4;36890:20;36886:1;36875:9;36871:17;36864:47;36928:131;37054:4;36928:131;:::i;:::-;36920:139;;36647:419;;;:::o;37072:227::-;37212:34;37208:1;37200:6;37196:14;37189:58;37281:10;37276:2;37268:6;37264:15;37257:35;37072:227;:::o;37305:366::-;37447:3;37468:67;37532:2;37527:3;37468:67;:::i;:::-;37461:74;;37544:93;37633:3;37544:93;:::i;:::-;37662:2;37657:3;37653:12;37646:19;;37305:366;;;:::o;37677:419::-;37843:4;37881:2;37870:9;37866:18;37858:26;;37930:9;37924:4;37920:20;37916:1;37905:9;37901:17;37894:47;37958:131;38084:4;37958:131;:::i;:::-;37950:139;;37677:419;;;:::o;38102:247::-;38242:34;38238:1;38230:6;38226:14;38219:58;38311:30;38306:2;38298:6;38294:15;38287:55;38102:247;:::o;38355:366::-;38497:3;38518:67;38582:2;38577:3;38518:67;:::i;:::-;38511:74;;38594:93;38683:3;38594:93;:::i;:::-;38712:2;38707:3;38703:12;38696:19;;38355:366;;;:::o;38727:419::-;38893:4;38931:2;38920:9;38916:18;38908:26;;38980:9;38974:4;38970:20;38966:1;38955:9;38951:17;38944:47;39008:131;39134:4;39008:131;:::i;:::-;39000:139;;38727:419;;;:::o;39152:223::-;39292:34;39288:1;39280:6;39276:14;39269:58;39361:6;39356:2;39348:6;39344:15;39337:31;39152:223;:::o;39381:366::-;39523:3;39544:67;39608:2;39603:3;39544:67;:::i;:::-;39537:74;;39620:93;39709:3;39620:93;:::i;:::-;39738:2;39733:3;39729:12;39722:19;;39381:366;;;:::o;39753:419::-;39919:4;39957:2;39946:9;39942:18;39934:26;;40006:9;40000:4;39996:20;39992:1;39981:9;39977:17;39970:47;40034:131;40160:4;40034:131;:::i;:::-;40026:139;;39753:419;;;:::o;40178:147::-;40279:11;40316:3;40301:18;;40178:147;;;;:::o;40353:314::-;40467:3;40488:88;40569:6;40564:3;40488:88;:::i;:::-;40481:95;;40586:43;40622:6;40617:3;40610:5;40586:43;:::i;:::-;40654:6;40649:3;40645:16;40638:23;;40353:314;;;;;:::o;40673:291::-;40813:3;40835:103;40934:3;40925:6;40917;40835:103;:::i;:::-;40828:110;;40955:3;40948:10;;40673:291;;;;;:::o;40970:236::-;41110:34;41106:1;41098:6;41094:14;41087:58;41179:19;41174:2;41166:6;41162:15;41155:44;40970:236;:::o;41212:366::-;41354:3;41375:67;41439:2;41434:3;41375:67;:::i;:::-;41368:74;;41451:93;41540:3;41451:93;:::i;:::-;41569:2;41564:3;41560:12;41553:19;;41212:366;;;:::o;41584:419::-;41750:4;41788:2;41777:9;41773:18;41765:26;;41837:9;41831:4;41827:20;41823:1;41812:9;41808:17;41801:47;41865:131;41991:4;41865:131;:::i;:::-;41857:139;;41584:419;;;:::o;42009:549::-;42186:4;42224:2;42213:9;42209:18;42201:26;;42237:71;42305:1;42294:9;42290:17;42281:6;42237:71;:::i;:::-;42318:72;42386:2;42375:9;42371:18;42362:6;42318:72;:::i;:::-;42437:9;42431:4;42427:20;42422:2;42411:9;42407:18;42400:48;42465:86;42546:4;42537:6;42529;42465:86;:::i;:::-;42457:94;;42009:549;;;;;;;:::o;42564:348::-;42604:7;42627:20;42645:1;42627:20;:::i;:::-;42622:25;;42661:20;42679:1;42661:20;:::i;:::-;42656:25;;42849:1;42781:66;42777:74;42774:1;42771:81;42766:1;42759:9;42752:17;42748:105;42745:131;;;42856:18;;:::i;:::-;42745:131;42904:1;42901;42897:9;42886:20;;42564:348;;;;:::o;42918:180::-;42966:77;42963:1;42956:88;43063:4;43060:1;43053:15;43087:4;43084:1;43077:15;43104:171;43143:3;43166:24;43184:5;43166:24;:::i;:::-;43157:33;;43212:4;43205:5;43202:15;43199:41;;;43220:18;;:::i;:::-;43199:41;43267:1;43260:5;43256:13;43249:20;;43104:171;;;:::o;43281:182::-;43421:34;43417:1;43409:6;43405:14;43398:58;43281:182;:::o;43469:366::-;43611:3;43632:67;43696:2;43691:3;43632:67;:::i;:::-;43625:74;;43708:93;43797:3;43708:93;:::i;:::-;43826:2;43821:3;43817:12;43810:19;;43469:366;;;:::o;43841:419::-;44007:4;44045:2;44034:9;44030:18;44022:26;;44094:9;44088:4;44084:20;44080:1;44069:9;44065:17;44058:47;44122:131;44248:4;44122:131;:::i;:::-;44114:139;;43841:419;;;:::o;44266:191::-;44306:4;44326:20;44344:1;44326:20;:::i;:::-;44321:25;;44360:20;44378:1;44360:20;:::i;:::-;44355:25;;44399:1;44396;44393:8;44390:34;;;44404:18;;:::i;:::-;44390:34;44449:1;44446;44442:9;44434:17;;44266:191;;;;:::o;44463:180::-;44511:77;44508:1;44501:88;44608:4;44605:1;44598:15;44632:4;44629:1;44622:15", + "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\nimport \"@openzeppelin/contracts/access/AccessControlEnumerable.sol\";\n\n/**\n * MultiSigWallet with timelocker\n */\ncontract BEMultiSigWallet is AccessControlEnumerable {\n bytes32 public constant TIMELOCK_ADMIN_ROLE =\n keccak256(\"TIMELOCK_ADMIN_ROLE\");\n bytes32 public constant PROPOSER_ROLE = keccak256(\"PROPOSER_ROLE\");\n bytes32 public constant EXECUTOR_ROLE = keccak256(\"EXECUTOR_ROLE\");\n uint256 internal constant _DONE_TIMESTAMP = uint256(1);\n\n mapping(bytes32 => uint256) private _timestamps;\n mapping(bytes32 => mapping(address => bool)) public confirmations;\n uint256 public minDelay;\n uint256 public required;\n\n /**\n * @dev Emitted when a call is scheduled as part of operation `id`.\n */\n event CallScheduled(\n bytes32 indexed id,\n uint256 indexed index,\n address target,\n uint256 value,\n bytes data,\n bytes32 predecessor,\n uint256 delay\n );\n\n /**\n * @dev Emitted when a call is performed as part of operation `id`.\n */\n event CallExecuted(\n bytes32 indexed id,\n uint256 indexed index,\n address target,\n uint256 value,\n bytes data\n );\n\n /**\n * @dev Emitted when operation `id` is cancelled.\n */\n event Cancelled(bytes32 indexed id);\n\n event Confirmation(address indexed sender, bytes32 id);\n\n event Revocation(address indexed sender, bytes32 id);\n\n /**\n * @dev Emitted when the minimum delay for future operations is modified.\n */\n event MinDelayChange(uint256 oldDuration, uint256 newDuration);\n /**\n * @dev Emitted when the number of required confimations is modified.\n */\n event RequirementChange(uint256 oldDuration, uint256 newDuration);\n\n modifier onlyWallet() {\n require(\n msg.sender == address(this),\n \"BEMultiSigWallet: caller must be wallet\"\n );\n _;\n }\n\n /**\n * @dev Initializes the contract with a given `minDelay`.\n */\n constructor(\n uint256 _minDelay,\n address[] memory proposers,\n address[] memory executors\n ) {\n _setRoleAdmin(TIMELOCK_ADMIN_ROLE, TIMELOCK_ADMIN_ROLE);\n _setRoleAdmin(PROPOSER_ROLE, TIMELOCK_ADMIN_ROLE);\n _setRoleAdmin(EXECUTOR_ROLE, TIMELOCK_ADMIN_ROLE);\n\n // deployer + self administration\n _setupRole(TIMELOCK_ADMIN_ROLE, _msgSender());\n _setupRole(TIMELOCK_ADMIN_ROLE, address(this));\n\n // register proposers\n for (uint256 i = 0; i < proposers.length; ++i) {\n _setupRole(PROPOSER_ROLE, proposers[i]);\n }\n\n // register executors\n for (uint256 i = 0; i < executors.length; ++i) {\n _setupRole(EXECUTOR_ROLE, executors[i]);\n }\n\n minDelay = _minDelay;\n emit MinDelayChange(0, minDelay);\n }\n\n /**\n * @dev Modifier to make a function callable only by a certain role. In\n * addition to checking the sender's role, `address(0)` 's role is also\n * considered. Granting a role to `address(0)` is equivalent to enabling\n * this role for everyone.\n */\n modifier onlyRoleOrOpenRole(bytes32 role) {\n if (!hasRole(role, address(0))) {\n _checkRole(role, _msgSender());\n }\n _;\n }\n\n /**\n * @dev Contract might receive/hold ETH as part of the maintenance process.\n */\n receive() external payable {}\n\n /**\n * @dev Returns whether an id correspond to a registered operation. This\n * includes both Pending, Ready and Done operations.\n */\n function isOperation(bytes32 id) public view virtual returns (bool pending) {\n return getTimestamp(id) > 0;\n }\n\n /**\n * @dev Returns whether an operation is pending or not.\n */\n function isOperationPending(bytes32 id)\n public\n view\n virtual\n returns (bool pending)\n {\n return getTimestamp(id) > _DONE_TIMESTAMP;\n }\n\n function isConfirmed(bytes32 id) public view returns (bool ready) {\n uint256 count = 0;\n uint256 executorCount = getRoleMemberCount(EXECUTOR_ROLE);\n for (uint256 i = 0; i < executorCount; i++) {\n if (confirmations[id][getRoleMember(EXECUTOR_ROLE, i)]) count += 1;\n if (count == required) return true;\n }\n }\n\n /**\n * @dev Returns whether an operation is ready or not.\n */\n function isOperationReady(bytes32 id)\n public\n view\n virtual\n returns (bool ready)\n {\n uint256 timestamp = getTimestamp(id);\n return timestamp > _DONE_TIMESTAMP && timestamp <= block.timestamp;\n }\n\n /**\n * @dev Returns whether an operation is done or not.\n */\n function isOperationDone(bytes32 id) public view virtual returns (bool done) {\n return getTimestamp(id) == _DONE_TIMESTAMP;\n }\n\n /**\n * @dev Returns the timestamp at with an operation becomes ready (0 for\n * unset operations, 1 for done operations).\n */\n function getTimestamp(bytes32 id)\n public\n view\n virtual\n returns (uint256 timestamp)\n {\n return _timestamps[id];\n }\n\n /**\n * @dev Returns the identifier of an operation containing a single\n * transaction.\n */\n function hashOperation(\n address target,\n uint256 value,\n bytes calldata data,\n bytes32 predecessor,\n bytes32 salt\n ) public pure virtual returns (bytes32 hash) {\n return keccak256(abi.encode(target, value, data, predecessor, salt));\n }\n\n /**\n * @dev Returns the identifier of an operation containing a batch of\n * transactions.\n */\n function hashOperationBatch(\n address[] calldata targets,\n uint256[] calldata values,\n bytes[] calldata datas,\n bytes32 predecessor,\n bytes32 salt\n ) public pure virtual returns (bytes32 hash) {\n return keccak256(abi.encode(targets, values, datas, predecessor, salt));\n }\n\n /**\n * @dev Schedule an operation containing a single transaction.\n *\n * Emits a {CallScheduled} event.\n *\n * Requirements:\n *\n * - the caller must have the 'proposer' role.\n */\n function schedule(\n address target,\n uint256 value,\n bytes calldata data,\n bytes32 predecessor,\n bytes32 salt,\n uint256 delay\n ) public virtual onlyRole(PROPOSER_ROLE) {\n bytes32 id = hashOperation(target, value, data, predecessor, salt);\n _schedule(id, delay);\n emit CallScheduled(id, 0, target, value, data, predecessor, delay);\n }\n\n /**\n * @dev Schedule an operation containing a batch of transactions.\n *\n * Emits one {CallScheduled} event per transaction in the batch.\n *\n * Requirements:\n *\n * - the caller must have the 'proposer' role.\n */\n function scheduleBatch(\n address[] calldata targets,\n uint256[] calldata values,\n bytes[] calldata datas,\n bytes32 predecessor,\n bytes32 salt,\n uint256 delay\n ) public virtual onlyRole(PROPOSER_ROLE) {\n require(\n targets.length == values.length,\n \"BEMultiSigWallet: length mismatch\"\n );\n require(\n targets.length == datas.length,\n \"BEMultiSigWallet: length mismatch\"\n );\n\n bytes32 id = hashOperationBatch(targets, values, datas, predecessor, salt);\n _schedule(id, delay);\n for (uint256 i = 0; i < targets.length; ++i) {\n emit CallScheduled(\n id,\n i,\n targets[i],\n values[i],\n datas[i],\n predecessor,\n delay\n );\n }\n }\n\n /**\n * @dev Schedule an operation that is to becomes valid after a given delay.\n */\n function _schedule(bytes32 id, uint256 delay) private {\n require(!isOperation(id), \"BEMultiSigWallet: operation already scheduled\");\n require(delay >= minDelay, \"BEMultiSigWallet: insufficient delay\");\n _timestamps[id] = block.timestamp + delay;\n }\n\n /**\n * @dev Cancel an operation.\n *\n * Requirements:\n *\n * - the caller must have the 'proposer' role.\n */\n function cancel(bytes32 id) public virtual onlyRole(PROPOSER_ROLE) {\n require(\n isOperationPending(id),\n \"BEMultiSigWallet: operation cannot be cancelled\"\n );\n delete _timestamps[id];\n\n emit Cancelled(id);\n }\n\n /**\n * @dev Allows an executor to confirm a transaction.\n * Requirements\n * - the caller must have the 'executor' role.\n */\n function confirmTransaction(bytes32 id)\n public\n onlyRoleOrOpenRole(EXECUTOR_ROLE)\n {\n require(\n isOperationPending(id),\n \"BEMultiSigWallet: operation not exist or finished\"\n );\n confirmations[id][msg.sender] = true;\n emit Confirmation(msg.sender, id);\n }\n\n /**\n * @dev Allows an executor to revoke a confirmation for a transaction.\n * Requirements\n * - the caller must have the 'executor' role.\n */\n function revokeConfirmation(bytes32 id)\n public\n onlyRoleOrOpenRole(EXECUTOR_ROLE)\n {\n require(\n isOperationPending(id),\n \"BEMultiSigWallet: operation not exist or finished\"\n );\n confirmations[id][msg.sender] = false;\n emit Revocation(msg.sender, id);\n }\n\n /**\n * @dev Execute an (ready) operation containing a single transaction.\n *\n * Emits a {CallExecuted} event.\n *\n * Requirements:\n *\n * - the caller must have the 'executor' role.\n */\n function execute(\n address target,\n uint256 value,\n bytes calldata data,\n bytes32 predecessor,\n bytes32 salt\n ) public payable virtual onlyRoleOrOpenRole(EXECUTOR_ROLE) {\n bytes32 id = hashOperation(target, value, data, predecessor, salt);\n _beforeCall(id, predecessor);\n _call(id, 0, target, value, data);\n _afterCall(id);\n }\n\n /**\n * @dev Execute an (ready) operation containing a batch of transactions.\n *\n * Emits one {CallExecuted} event per transaction in the batch.\n *\n * Requirements:\n *\n * - the caller must have the 'executor' role.\n */\n function executeBatch(\n address[] calldata targets,\n uint256[] calldata values,\n bytes[] calldata datas,\n bytes32 predecessor,\n bytes32 salt\n ) public payable virtual onlyRoleOrOpenRole(EXECUTOR_ROLE) {\n require(\n targets.length == values.length,\n \"BEMultiSigWallet: length mismatch\"\n );\n require(\n targets.length == datas.length,\n \"BEMultiSigWallet: length mismatch\"\n );\n\n bytes32 id = hashOperationBatch(targets, values, datas, predecessor, salt);\n _beforeCall(id, predecessor);\n for (uint256 i = 0; i < targets.length; ++i) {\n _call(id, i, targets[i], values[i], datas[i]);\n }\n _afterCall(id);\n }\n\n /**\n * @dev Checks before execution of an operation's calls.\n */\n function _beforeCall(bytes32 id, bytes32 predecessor) private view {\n require(isOperationReady(id), \"BEMultiSigWallet: operation is not ready\");\n require(\n isConfirmed(id),\n \"BEMultiSigWallet: operation not reach required confirmations\"\n );\n require(\n predecessor == bytes32(0) || isOperationDone(predecessor),\n \"BEMultiSigWallet: missing dependency\"\n );\n }\n\n /**\n * @dev Checks after execution of an operation's calls.\n */\n function _afterCall(bytes32 id) private {\n require(isOperationReady(id), \"BEMultiSigWallet: operation is not ready\");\n _timestamps[id] = _DONE_TIMESTAMP;\n }\n\n /**\n * @dev Execute an operation's call.\n *\n * Emits a {CallExecuted} event.\n */\n function _call(\n bytes32 id,\n uint256 index,\n address target,\n uint256 value,\n bytes calldata data\n ) private {\n (bool success, ) = target.call{value: value}(data);\n require(success, \"BEMultiSigWallet: underlying transaction reverted\");\n\n emit CallExecuted(id, index, target, value, data);\n }\n\n /**\n * @dev Changes the minimum wallet duration for future operations.\n *\n * Emits a {MinDelayChange} event.\n *\n * Requirements:\n *\n * - the caller must be the wallet itself. This can only be achieved by scheduling and later executing\n * an operation where the wallet is the target and the data is the ABI-encoded call to this function.\n */\n function changeDelay(uint256 _minDelay) external virtual onlyWallet {\n emit MinDelayChange(minDelay, _minDelay);\n minDelay = _minDelay;\n }\n\n /**\n * @dev Allows to change the number of required confirmations. Transaction has to be sent by wallet.\n * @param _required Number of required confirmations.\n */\n function changeRequirement(uint256 _required) external virtual onlyWallet {\n emit RequirementChange(required, _required);\n required = _required;\n }\n}\n", + "sourcePath": "/Users/zhl/Documents/workspace/crypto/becrypto/contracts/core/BEMultiSigWallet.sol", + "ast": { + "absolutePath": "project:/contracts/core/BEMultiSigWallet.sol", + "exportedSymbols": { + "AccessControl": [ + 308 + ], + "AccessControlEnumerable": [ + 433 + ], + "BEMultiSigWallet": [ + 2331 + ], + "Context": [ + 553 + ], + "ERC165": [ + 780 + ], + "EnumerableSet": [ + 1391 + ], + "IAccessControl": [ + 506 + ], + "IAccessControlEnumerable": [ + 531 + ], + "IERC165": [ + 792 + ], + "Strings": [ + 756 + ] + }, + "id": 2332, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1393, + "literals": [ + "solidity", + "0.8", + ".10" + ], + "nodeType": "PragmaDirective", + "src": "32:23:9" + }, + { + "absolutePath": "@openzeppelin/contracts/access/AccessControlEnumerable.sol", + "file": "@openzeppelin/contracts/access/AccessControlEnumerable.sol", + "id": 1394, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2332, + "sourceUnit": 434, + "src": "56:68:9", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1396, + "name": "AccessControlEnumerable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 433, + "src": "197:23:9" + }, + "id": 1397, + "nodeType": "InheritanceSpecifier", + "src": "197:23:9" + } + ], + "canonicalName": "BEMultiSigWallet", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 1395, + "nodeType": "StructuredDocumentation", + "src": "126:41:9", + "text": " MultiSigWallet with timelocker" + }, + "fullyImplemented": true, + "id": 2331, + "linearizedBaseContracts": [ + 2331, + 433, + 308, + 780, + 792, + 531, + 506, + 553 + ], + "name": "BEMultiSigWallet", + "nameLocation": "177:16:9", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "functionSelector": "0d3cf6fc", + "id": 1402, + "mutability": "constant", + "name": "TIMELOCK_ADMIN_ROLE", + "nameLocation": "249:19:9", + "nodeType": "VariableDeclaration", + "scope": 2331, + "src": "225:82:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1398, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "225:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "54494d454c4f434b5f41444d494e5f524f4c45", + "id": 1400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "285:21:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5", + "typeString": "literal_string \"TIMELOCK_ADMIN_ROLE\"" + }, + "value": "TIMELOCK_ADMIN_ROLE" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5", + "typeString": "literal_string \"TIMELOCK_ADMIN_ROLE\"" + } + ], + "id": 1399, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "275:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1401, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "275:32:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "8f61f4f5", + "id": 1407, + "mutability": "constant", + "name": "PROPOSER_ROLE", + "nameLocation": "335:13:9", + "nodeType": "VariableDeclaration", + "scope": 2331, + "src": "311:66:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1403, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "311:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "50524f504f5345525f524f4c45", + "id": 1405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "361:15:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1", + "typeString": "literal_string \"PROPOSER_ROLE\"" + }, + "value": "PROPOSER_ROLE" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1", + "typeString": "literal_string \"PROPOSER_ROLE\"" + } + ], + "id": 1404, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "351:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1406, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "351:26:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "07bd0265", + "id": 1412, + "mutability": "constant", + "name": "EXECUTOR_ROLE", + "nameLocation": "405:13:9", + "nodeType": "VariableDeclaration", + "scope": 2331, + "src": "381:66:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1408, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "381:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4558454355544f525f524f4c45", + "id": 1410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "431:15:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63", + "typeString": "literal_string \"EXECUTOR_ROLE\"" + }, + "value": "EXECUTOR_ROLE" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63", + "typeString": "literal_string \"EXECUTOR_ROLE\"" + } + ], + "id": 1409, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "421:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1411, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "421:26:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "id": 1418, + "mutability": "constant", + "name": "_DONE_TIMESTAMP", + "nameLocation": "477:15:9", + "nodeType": "VariableDeclaration", + "scope": 2331, + "src": "451:54:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1413, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "451:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "arguments": [ + { + "hexValue": "31", + "id": 1416, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "503:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 1415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "495:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1414, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "495:7:9", + "typeDescriptions": {} + } + }, + "id": 1417, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "495:10:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1422, + "mutability": "mutable", + "name": "_timestamps", + "nameLocation": "546:11:9", + "nodeType": "VariableDeclaration", + "scope": 2331, + "src": "510:47:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 1421, + "keyType": { + "id": 1419, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "518:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "510:27:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueType": { + "id": 1420, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "529:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "functionSelector": "0c4ecab4", + "id": 1428, + "mutability": "mutable", + "name": "confirmations", + "nameLocation": "613:13:9", + "nodeType": "VariableDeclaration", + "scope": 2331, + "src": "561:65:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(bytes32 => mapping(address => bool))" + }, + "typeName": { + "id": 1427, + "keyType": { + "id": 1423, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "569:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "561:44:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(bytes32 => mapping(address => bool))" + }, + "valueType": { + "id": 1426, + "keyType": { + "id": 1424, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "588:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "580:24:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 1425, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "599:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "c63c4e9b", + "id": 1430, + "mutability": "mutable", + "name": "minDelay", + "nameLocation": "645:8:9", + "nodeType": "VariableDeclaration", + "scope": 2331, + "src": "630:23:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1429, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "630:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "dc8452cd", + "id": 1432, + "mutability": "mutable", + "name": "required", + "nameLocation": "672:8:9", + "nodeType": "VariableDeclaration", + "scope": 2331, + "src": "657:23:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1431, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "657:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": { + "id": 1433, + "nodeType": "StructuredDocumentation", + "src": "685:79:9", + "text": " @dev Emitted when a call is scheduled as part of operation `id`." + }, + "id": 1449, + "name": "CallScheduled", + "nameLocation": "773:13:9", + "nodeType": "EventDefinition", + "parameters": { + "id": 1448, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1435, + "indexed": true, + "mutability": "mutable", + "name": "id", + "nameLocation": "808:2:9", + "nodeType": "VariableDeclaration", + "scope": 1449, + "src": "792:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1434, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "792:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1437, + "indexed": true, + "mutability": "mutable", + "name": "index", + "nameLocation": "832:5:9", + "nodeType": "VariableDeclaration", + "scope": 1449, + "src": "816:21:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1436, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "816:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1439, + "indexed": false, + "mutability": "mutable", + "name": "target", + "nameLocation": "851:6:9", + "nodeType": "VariableDeclaration", + "scope": 1449, + "src": "843:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1438, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "843:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1441, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "871:5:9", + "nodeType": "VariableDeclaration", + "scope": 1449, + "src": "863:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1440, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "863:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1443, + "indexed": false, + "mutability": "mutable", + "name": "data", + "nameLocation": "888:4:9", + "nodeType": "VariableDeclaration", + "scope": 1449, + "src": "882:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1442, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "882:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1445, + "indexed": false, + "mutability": "mutable", + "name": "predecessor", + "nameLocation": "906:11:9", + "nodeType": "VariableDeclaration", + "scope": 1449, + "src": "898:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1444, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "898:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1447, + "indexed": false, + "mutability": "mutable", + "name": "delay", + "nameLocation": "931:5:9", + "nodeType": "VariableDeclaration", + "scope": 1449, + "src": "923:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1446, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "923:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "786:154:9" + }, + "src": "767:174:9" + }, + { + "anonymous": false, + "documentation": { + "id": 1450, + "nodeType": "StructuredDocumentation", + "src": "945:79:9", + "text": " @dev Emitted when a call is performed as part of operation `id`." + }, + "id": 1462, + "name": "CallExecuted", + "nameLocation": "1033:12:9", + "nodeType": "EventDefinition", + "parameters": { + "id": 1461, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1452, + "indexed": true, + "mutability": "mutable", + "name": "id", + "nameLocation": "1067:2:9", + "nodeType": "VariableDeclaration", + "scope": 1462, + "src": "1051:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1451, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1051:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1454, + "indexed": true, + "mutability": "mutable", + "name": "index", + "nameLocation": "1091:5:9", + "nodeType": "VariableDeclaration", + "scope": 1462, + "src": "1075:21:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1453, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1075:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1456, + "indexed": false, + "mutability": "mutable", + "name": "target", + "nameLocation": "1110:6:9", + "nodeType": "VariableDeclaration", + "scope": 1462, + "src": "1102:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1455, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1102:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1458, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "1130:5:9", + "nodeType": "VariableDeclaration", + "scope": 1462, + "src": "1122:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1457, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1122:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1460, + "indexed": false, + "mutability": "mutable", + "name": "data", + "nameLocation": "1147:4:9", + "nodeType": "VariableDeclaration", + "scope": 1462, + "src": "1141:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1459, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1141:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1045:110:9" + }, + "src": "1027:129:9" + }, + { + "anonymous": false, + "documentation": { + "id": 1463, + "nodeType": "StructuredDocumentation", + "src": "1160:61:9", + "text": " @dev Emitted when operation `id` is cancelled." + }, + "id": 1467, + "name": "Cancelled", + "nameLocation": "1230:9:9", + "nodeType": "EventDefinition", + "parameters": { + "id": 1466, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1465, + "indexed": true, + "mutability": "mutable", + "name": "id", + "nameLocation": "1256:2:9", + "nodeType": "VariableDeclaration", + "scope": 1467, + "src": "1240:18:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1464, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1240:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1239:20:9" + }, + "src": "1224:36:9" + }, + { + "anonymous": false, + "id": 1473, + "name": "Confirmation", + "nameLocation": "1270:12:9", + "nodeType": "EventDefinition", + "parameters": { + "id": 1472, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1469, + "indexed": true, + "mutability": "mutable", + "name": "sender", + "nameLocation": "1299:6:9", + "nodeType": "VariableDeclaration", + "scope": 1473, + "src": "1283:22:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1468, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1283:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1471, + "indexed": false, + "mutability": "mutable", + "name": "id", + "nameLocation": "1315:2:9", + "nodeType": "VariableDeclaration", + "scope": 1473, + "src": "1307:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1470, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1307:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1282:36:9" + }, + "src": "1264:55:9" + }, + { + "anonymous": false, + "id": 1479, + "name": "Revocation", + "nameLocation": "1329:10:9", + "nodeType": "EventDefinition", + "parameters": { + "id": 1478, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1475, + "indexed": true, + "mutability": "mutable", + "name": "sender", + "nameLocation": "1356:6:9", + "nodeType": "VariableDeclaration", + "scope": 1479, + "src": "1340:22:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1474, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1340:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1477, + "indexed": false, + "mutability": "mutable", + "name": "id", + "nameLocation": "1372:2:9", + "nodeType": "VariableDeclaration", + "scope": 1479, + "src": "1364:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1476, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1364:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1339:36:9" + }, + "src": "1323:53:9" + }, + { + "anonymous": false, + "documentation": { + "id": 1480, + "nodeType": "StructuredDocumentation", + "src": "1380:85:9", + "text": " @dev Emitted when the minimum delay for future operations is modified." + }, + "id": 1486, + "name": "MinDelayChange", + "nameLocation": "1474:14:9", + "nodeType": "EventDefinition", + "parameters": { + "id": 1485, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1482, + "indexed": false, + "mutability": "mutable", + "name": "oldDuration", + "nameLocation": "1497:11:9", + "nodeType": "VariableDeclaration", + "scope": 1486, + "src": "1489:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1481, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1489:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1484, + "indexed": false, + "mutability": "mutable", + "name": "newDuration", + "nameLocation": "1518:11:9", + "nodeType": "VariableDeclaration", + "scope": 1486, + "src": "1510:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1483, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1510:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1488:42:9" + }, + "src": "1468:63:9" + }, + { + "anonymous": false, + "documentation": { + "id": 1487, + "nodeType": "StructuredDocumentation", + "src": "1534:81:9", + "text": " @dev Emitted when the number of required confimations is modified." + }, + "id": 1493, + "name": "RequirementChange", + "nameLocation": "1624:17:9", + "nodeType": "EventDefinition", + "parameters": { + "id": 1492, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1489, + "indexed": false, + "mutability": "mutable", + "name": "oldDuration", + "nameLocation": "1650:11:9", + "nodeType": "VariableDeclaration", + "scope": 1493, + "src": "1642:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1488, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1642:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1491, + "indexed": false, + "mutability": "mutable", + "name": "newDuration", + "nameLocation": "1671:11:9", + "nodeType": "VariableDeclaration", + "scope": 1493, + "src": "1663:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1490, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1663:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1641:42:9" + }, + "src": "1618:66:9" + }, + { + "body": { + "id": 1507, + "nodeType": "Block", + "src": "1710:115:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1496, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1731:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1731:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 1500, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "1753:4:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BEMultiSigWallet_$2331", + "typeString": "contract BEMultiSigWallet" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_BEMultiSigWallet_$2331", + "typeString": "contract BEMultiSigWallet" + } + ], + "id": 1499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1745:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1498, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1745:7:9", + "typeDescriptions": {} + } + }, + "id": 1501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1745:13:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1731:27:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "42454d756c746953696757616c6c65743a2063616c6c6572206d7573742062652077616c6c6574", + "id": 1503, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1766:41:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b5a3ea75736bca2597d1c0b036db058aff7a9f1b1e864ba70a39cc3c6c3b2c38", + "typeString": "literal_string \"BEMultiSigWallet: caller must be wallet\"" + }, + "value": "BEMultiSigWallet: caller must be wallet" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b5a3ea75736bca2597d1c0b036db058aff7a9f1b1e864ba70a39cc3c6c3b2c38", + "typeString": "literal_string \"BEMultiSigWallet: caller must be wallet\"" + } + ], + "id": 1495, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1716:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1716:97:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1505, + "nodeType": "ExpressionStatement", + "src": "1716:97:9" + }, + { + "id": 1506, + "nodeType": "PlaceholderStatement", + "src": "1819:1:9" + } + ] + }, + "id": 1508, + "name": "onlyWallet", + "nameLocation": "1697:10:9", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1494, + "nodeType": "ParameterList", + "parameters": [], + "src": "1707:2:9" + }, + "src": "1688:137:9", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1598, + "nodeType": "Block", + "src": "2004:649:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1521, + "name": "TIMELOCK_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1402, + "src": "2024:19:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1522, + "name": "TIMELOCK_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1402, + "src": "2045:19:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1520, + "name": "_setRoleAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "2010:13:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 1523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2010:55:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1524, + "nodeType": "ExpressionStatement", + "src": "2010:55:9" + }, + { + "expression": { + "arguments": [ + { + "id": 1526, + "name": "PROPOSER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1407, + "src": "2085:13:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1527, + "name": "TIMELOCK_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1402, + "src": "2100:19:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1525, + "name": "_setRoleAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "2071:13:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 1528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2071:49:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1529, + "nodeType": "ExpressionStatement", + "src": "2071:49:9" + }, + { + "expression": { + "arguments": [ + { + "id": 1531, + "name": "EXECUTOR_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1412, + "src": "2140:13:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1532, + "name": "TIMELOCK_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1402, + "src": "2155:19:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1530, + "name": "_setRoleAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "2126:13:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 1533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2126:49:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1534, + "nodeType": "ExpressionStatement", + "src": "2126:49:9" + }, + { + "expression": { + "arguments": [ + { + "id": 1536, + "name": "TIMELOCK_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1402, + "src": "2231:19:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1537, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "2252:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2252:12:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1535, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "2220:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2220:45:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1540, + "nodeType": "ExpressionStatement", + "src": "2220:45:9" + }, + { + "expression": { + "arguments": [ + { + "id": 1542, + "name": "TIMELOCK_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1402, + "src": "2282:19:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "id": 1545, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "2311:4:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BEMultiSigWallet_$2331", + "typeString": "contract BEMultiSigWallet" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_BEMultiSigWallet_$2331", + "typeString": "contract BEMultiSigWallet" + } + ], + "id": 1544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2303:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1543, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2303:7:9", + "typeDescriptions": {} + } + }, + "id": 1546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2303:13:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1541, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "2271:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2271:46:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1548, + "nodeType": "ExpressionStatement", + "src": "2271:46:9" + }, + { + "body": { + "id": 1567, + "nodeType": "Block", + "src": "2397:54:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1561, + "name": "PROPOSER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1407, + "src": "2416:13:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 1562, + "name": "proposers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1514, + "src": "2431:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 1564, + "indexExpression": { + "id": 1563, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1550, + "src": "2441:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2431:12:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1560, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "2405:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2405:39:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1566, + "nodeType": "ExpressionStatement", + "src": "2405:39:9" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1553, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1550, + "src": "2370:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 1554, + "name": "proposers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1514, + "src": "2374:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 1555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2374:16:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2370:20:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1568, + "initializationExpression": { + "assignments": [ + 1550 + ], + "declarations": [ + { + "constant": false, + "id": 1550, + "mutability": "mutable", + "name": "i", + "nameLocation": "2363:1:9", + "nodeType": "VariableDeclaration", + "scope": 1568, + "src": "2355:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1549, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2355:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1552, + "initialValue": { + "hexValue": "30", + "id": 1551, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2367:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2355:13:9" + }, + "loopExpression": { + "expression": { + "id": 1558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "2392:3:9", + "subExpression": { + "id": 1557, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1550, + "src": "2394:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1559, + "nodeType": "ExpressionStatement", + "src": "2392:3:9" + }, + "nodeType": "ForStatement", + "src": "2350:101:9" + }, + { + "body": { + "id": 1587, + "nodeType": "Block", + "src": "2530:54:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1581, + "name": "EXECUTOR_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1412, + "src": "2549:13:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 1582, + "name": "executors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "2564:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 1584, + "indexExpression": { + "id": 1583, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1570, + "src": "2574:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2564:12:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1580, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "2538:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2538:39:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1586, + "nodeType": "ExpressionStatement", + "src": "2538:39:9" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1573, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1570, + "src": "2503:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 1574, + "name": "executors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "2507:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 1575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2507:16:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2503:20:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1588, + "initializationExpression": { + "assignments": [ + 1570 + ], + "declarations": [ + { + "constant": false, + "id": 1570, + "mutability": "mutable", + "name": "i", + "nameLocation": "2496:1:9", + "nodeType": "VariableDeclaration", + "scope": 1588, + "src": "2488:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1569, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2488:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1572, + "initialValue": { + "hexValue": "30", + "id": 1571, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2500:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2488:13:9" + }, + "loopExpression": { + "expression": { + "id": 1578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "2525:3:9", + "subExpression": { + "id": 1577, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1570, + "src": "2527:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1579, + "nodeType": "ExpressionStatement", + "src": "2525:3:9" + }, + "nodeType": "ForStatement", + "src": "2483:101:9" + }, + { + "expression": { + "id": 1591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1589, + "name": "minDelay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1430, + "src": "2590:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1590, + "name": "_minDelay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1511, + "src": "2601:9:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2590:20:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1592, + "nodeType": "ExpressionStatement", + "src": "2590:20:9" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "30", + "id": 1594, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2636:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "id": 1595, + "name": "minDelay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1430, + "src": "2639:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1593, + "name": "MinDelayChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1486, + "src": "2621:14:9", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 1596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2621:27:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1597, + "nodeType": "EmitStatement", + "src": "2616:32:9" + } + ] + }, + "documentation": { + "id": 1509, + "nodeType": "StructuredDocumentation", + "src": "1829:69:9", + "text": " @dev Initializes the contract with a given `minDelay`." + }, + "id": 1599, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1518, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1511, + "mutability": "mutable", + "name": "_minDelay", + "nameLocation": "1926:9:9", + "nodeType": "VariableDeclaration", + "scope": 1599, + "src": "1918:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1510, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1918:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1514, + "mutability": "mutable", + "name": "proposers", + "nameLocation": "1958:9:9", + "nodeType": "VariableDeclaration", + "scope": 1599, + "src": "1941:26:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1512, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1941:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1513, + "nodeType": "ArrayTypeName", + "src": "1941:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1517, + "mutability": "mutable", + "name": "executors", + "nameLocation": "1990:9:9", + "nodeType": "VariableDeclaration", + "scope": 1599, + "src": "1973:26:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1515, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1973:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1516, + "nodeType": "ArrayTypeName", + "src": "1973:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "1912:91:9" + }, + "returnParameters": { + "id": 1519, + "nodeType": "ParameterList", + "parameters": [], + "src": "2004:0:9" + }, + "scope": 2331, + "src": "1901:752:9", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1621, + "nodeType": "Block", + "src": "2963:94:9", + "statements": [ + { + "condition": { + "id": 1611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2973:26:9", + "subExpression": { + "arguments": [ + { + "id": 1605, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1602, + "src": "2982:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 1608, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2996:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2988:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1606, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2988:7:9", + "typeDescriptions": {} + } + }, + "id": 1609, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2988:10:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1604, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "2974:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 1610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2974:25:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1619, + "nodeType": "IfStatement", + "src": "2969:77:9", + "trueBody": { + "id": 1618, + "nodeType": "Block", + "src": "3001:45:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1613, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1602, + "src": "3020:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1614, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 543, + "src": "3026:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3026:12:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1612, + "name": "_checkRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 124, + "src": "3009:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) view" + } + }, + "id": 1616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3009:30:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1617, + "nodeType": "ExpressionStatement", + "src": "3009:30:9" + } + ] + } + }, + { + "id": 1620, + "nodeType": "PlaceholderStatement", + "src": "3051:1:9" + } + ] + }, + "documentation": { + "id": 1600, + "nodeType": "StructuredDocumentation", + "src": "2657:261:9", + "text": " @dev Modifier to make a function callable only by a certain role. In\n addition to checking the sender's role, `address(0)` 's role is also\n considered. Granting a role to `address(0)` is equivalent to enabling\n this role for everyone." + }, + "id": 1622, + "name": "onlyRoleOrOpenRole", + "nameLocation": "2930:18:9", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1603, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1602, + "mutability": "mutable", + "name": "role", + "nameLocation": "2957:4:9", + "nodeType": "VariableDeclaration", + "scope": 1622, + "src": "2949:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1601, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2949:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2948:14:9" + }, + "src": "2921:136:9", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1626, + "nodeType": "Block", + "src": "3178:2:9", + "statements": [] + }, + "documentation": { + "id": 1623, + "nodeType": "StructuredDocumentation", + "src": "3061:87:9", + "text": " @dev Contract might receive/hold ETH as part of the maintenance process." + }, + "id": 1627, + "implemented": true, + "kind": "receive", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1624, + "nodeType": "ParameterList", + "parameters": [], + "src": "3158:2:9" + }, + "returnParameters": { + "id": 1625, + "nodeType": "ParameterList", + "parameters": [], + "src": "3178:0:9" + }, + "scope": 2331, + "src": "3151:29:9", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1641, + "nodeType": "Block", + "src": "3402:38:9", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1636, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1630, + "src": "3428:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1635, + "name": "getTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1758, + "src": "3415:12:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 1637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3415:16:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1638, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3434:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3415:20:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1634, + "id": 1640, + "nodeType": "Return", + "src": "3408:27:9" + } + ] + }, + "documentation": { + "id": 1628, + "nodeType": "StructuredDocumentation", + "src": "3184:139:9", + "text": " @dev Returns whether an id correspond to a registered operation. This\n includes both Pending, Ready and Done operations." + }, + "functionSelector": "31d50750", + "id": 1642, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isOperation", + "nameLocation": "3335:11:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1631, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1630, + "mutability": "mutable", + "name": "id", + "nameLocation": "3355:2:9", + "nodeType": "VariableDeclaration", + "scope": 1642, + "src": "3347:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1629, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3347:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3346:12:9" + }, + "returnParameters": { + "id": 1634, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1633, + "mutability": "mutable", + "name": "pending", + "nameLocation": "3393:7:9", + "nodeType": "VariableDeclaration", + "scope": 1642, + "src": "3388:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1632, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3388:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3387:14:9" + }, + "scope": 2331, + "src": "3326:114:9", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1656, + "nodeType": "Block", + "src": "3615:52:9", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1651, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1645, + "src": "3641:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1650, + "name": "getTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1758, + "src": "3628:12:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 1652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3628:16:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 1653, + "name": "_DONE_TIMESTAMP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1418, + "src": "3647:15:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3628:34:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1649, + "id": 1655, + "nodeType": "Return", + "src": "3621:41:9" + } + ] + }, + "documentation": { + "id": 1643, + "nodeType": "StructuredDocumentation", + "src": "3444:67:9", + "text": " @dev Returns whether an operation is pending or not." + }, + "functionSelector": "584b153e", + "id": 1657, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isOperationPending", + "nameLocation": "3523:18:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1646, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1645, + "mutability": "mutable", + "name": "id", + "nameLocation": "3550:2:9", + "nodeType": "VariableDeclaration", + "scope": 1657, + "src": "3542:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1644, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3542:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3541:12:9" + }, + "returnParameters": { + "id": 1649, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1648, + "mutability": "mutable", + "name": "pending", + "nameLocation": "3604:7:9", + "nodeType": "VariableDeclaration", + "scope": 1657, + "src": "3599:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1647, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3599:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3598:14:9" + }, + "scope": 2331, + "src": "3514:153:9", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1705, + "nodeType": "Block", + "src": "3737:263:9", + "statements": [ + { + "assignments": [ + 1665 + ], + "declarations": [ + { + "constant": false, + "id": 1665, + "mutability": "mutable", + "name": "count", + "nameLocation": "3751:5:9", + "nodeType": "VariableDeclaration", + "scope": 1705, + "src": "3743:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1664, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3743:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1667, + "initialValue": { + "hexValue": "30", + "id": 1666, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3759:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3743:17:9" + }, + { + "assignments": [ + 1669 + ], + "declarations": [ + { + "constant": false, + "id": 1669, + "mutability": "mutable", + "name": "executorCount", + "nameLocation": "3774:13:9", + "nodeType": "VariableDeclaration", + "scope": 1705, + "src": "3766:21:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1668, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3766:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1673, + "initialValue": { + "arguments": [ + { + "id": 1671, + "name": "EXECUTOR_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1412, + "src": "3809:13:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1670, + "name": "getRoleMemberCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 384, + "src": "3790:18:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 1672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3790:33:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3766:57:9" + }, + { + "body": { + "id": 1703, + "nodeType": "Block", + "src": "3873:123:9", + "statements": [ + { + "condition": { + "baseExpression": { + "baseExpression": { + "id": 1684, + "name": "confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1428, + "src": "3885:13:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(bytes32 => mapping(address => bool))" + } + }, + "id": 1686, + "indexExpression": { + "id": 1685, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1659, + "src": "3899:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3885:17:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1691, + "indexExpression": { + "arguments": [ + { + "id": 1688, + "name": "EXECUTOR_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1412, + "src": "3917:13:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1689, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1675, + "src": "3932:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1687, + "name": "getRoleMember", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 368, + "src": "3903:13:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$returns$_t_address_$", + "typeString": "function (bytes32,uint256) view returns (address)" + } + }, + "id": 1690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3903:31:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3885:50:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1696, + "nodeType": "IfStatement", + "src": "3881:66:9", + "trueBody": { + "expression": { + "id": 1694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1692, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1665, + "src": "3937:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 1693, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3946:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3937:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1695, + "nodeType": "ExpressionStatement", + "src": "3937:10:9" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1697, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1665, + "src": "3959:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1698, + "name": "required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1432, + "src": "3968:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3959:17:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1702, + "nodeType": "IfStatement", + "src": "3955:34:9", + "trueBody": { + "expression": { + "hexValue": "74727565", + "id": 1700, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3985:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1663, + "id": 1701, + "nodeType": "Return", + "src": "3978:11:9" + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1678, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1675, + "src": "3849:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1679, + "name": "executorCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1669, + "src": "3853:13:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3849:17:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1704, + "initializationExpression": { + "assignments": [ + 1675 + ], + "declarations": [ + { + "constant": false, + "id": 1675, + "mutability": "mutable", + "name": "i", + "nameLocation": "3842:1:9", + "nodeType": "VariableDeclaration", + "scope": 1704, + "src": "3834:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1674, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3834:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1677, + "initialValue": { + "hexValue": "30", + "id": 1676, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3846:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3834:13:9" + }, + "loopExpression": { + "expression": { + "id": 1682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3868:3:9", + "subExpression": { + "id": 1681, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1675, + "src": "3868:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1683, + "nodeType": "ExpressionStatement", + "src": "3868:3:9" + }, + "nodeType": "ForStatement", + "src": "3829:167:9" + } + ] + }, + "functionSelector": "6486aa51", + "id": 1706, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isConfirmed", + "nameLocation": "3680:11:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1660, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1659, + "mutability": "mutable", + "name": "id", + "nameLocation": "3700:2:9", + "nodeType": "VariableDeclaration", + "scope": 1706, + "src": "3692:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1658, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3692:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3691:12:9" + }, + "returnParameters": { + "id": 1663, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1662, + "mutability": "mutable", + "name": "ready", + "nameLocation": "3730:5:9", + "nodeType": "VariableDeclaration", + "scope": 1706, + "src": "3725:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1661, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3725:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3724:12:9" + }, + "scope": 2331, + "src": "3671:329:9", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1729, + "nodeType": "Block", + "src": "4169:119:9", + "statements": [ + { + "assignments": [ + 1715 + ], + "declarations": [ + { + "constant": false, + "id": 1715, + "mutability": "mutable", + "name": "timestamp", + "nameLocation": "4183:9:9", + "nodeType": "VariableDeclaration", + "scope": 1729, + "src": "4175:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1714, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4175:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1719, + "initialValue": { + "arguments": [ + { + "id": 1717, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1709, + "src": "4208:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1716, + "name": "getTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1758, + "src": "4195:12:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 1718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4195:16:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4175:36:9" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1720, + "name": "timestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1715, + "src": "4224:9:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 1721, + "name": "_DONE_TIMESTAMP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1418, + "src": "4236:15:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4224:27:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1723, + "name": "timestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1715, + "src": "4255:9:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "expression": { + "id": 1724, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "4268:5:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 1725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "4268:15:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4255:28:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4224:59:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1713, + "id": 1728, + "nodeType": "Return", + "src": "4217:66:9" + } + ] + }, + "documentation": { + "id": 1707, + "nodeType": "StructuredDocumentation", + "src": "4004:65:9", + "text": " @dev Returns whether an operation is ready or not." + }, + "functionSelector": "13bc9f20", + "id": 1730, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isOperationReady", + "nameLocation": "4081:16:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1710, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1709, + "mutability": "mutable", + "name": "id", + "nameLocation": "4106:2:9", + "nodeType": "VariableDeclaration", + "scope": 1730, + "src": "4098:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1708, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4098:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4097:12:9" + }, + "returnParameters": { + "id": 1713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1712, + "mutability": "mutable", + "name": "ready", + "nameLocation": "4160:5:9", + "nodeType": "VariableDeclaration", + "scope": 1730, + "src": "4155:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1711, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4155:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4154:12:9" + }, + "scope": 2331, + "src": "4072:216:9", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1744, + "nodeType": "Block", + "src": "4436:53:9", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1739, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1733, + "src": "4462:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1738, + "name": "getTimestamp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1758, + "src": "4449:12:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 1740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4449:16:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1741, + "name": "_DONE_TIMESTAMP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1418, + "src": "4469:15:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4449:35:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1737, + "id": 1743, + "nodeType": "Return", + "src": "4442:42:9" + } + ] + }, + "documentation": { + "id": 1731, + "nodeType": "StructuredDocumentation", + "src": "4292:64:9", + "text": " @dev Returns whether an operation is done or not." + }, + "functionSelector": "2ab0f529", + "id": 1745, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isOperationDone", + "nameLocation": "4368:15:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1734, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1733, + "mutability": "mutable", + "name": "id", + "nameLocation": "4392:2:9", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "4384:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1732, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4384:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4383:12:9" + }, + "returnParameters": { + "id": 1737, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1736, + "mutability": "mutable", + "name": "done", + "nameLocation": "4430:4:9", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "4425:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1735, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4425:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4424:11:9" + }, + "scope": 2331, + "src": "4359:130:9", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1757, + "nodeType": "Block", + "src": "4726:33:9", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 1753, + "name": "_timestamps", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1422, + "src": "4739:11:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 1755, + "indexExpression": { + "id": 1754, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1748, + "src": "4751:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4739:15:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1752, + "id": 1756, + "nodeType": "Return", + "src": "4732:22:9" + } + ] + }, + "documentation": { + "id": 1746, + "nodeType": "StructuredDocumentation", + "src": "4493:130:9", + "text": " @dev Returns the timestamp at with an operation becomes ready (0 for\n unset operations, 1 for done operations)." + }, + "functionSelector": "d45c4435", + "id": 1758, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTimestamp", + "nameLocation": "4635:12:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1749, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1748, + "mutability": "mutable", + "name": "id", + "nameLocation": "4656:2:9", + "nodeType": "VariableDeclaration", + "scope": 1758, + "src": "4648:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1747, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4648:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4647:12:9" + }, + "returnParameters": { + "id": 1752, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1751, + "mutability": "mutable", + "name": "timestamp", + "nameLocation": "4713:9:9", + "nodeType": "VariableDeclaration", + "scope": 1758, + "src": "4705:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1750, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4705:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4704:19:9" + }, + "scope": 2331, + "src": "4626:133:9", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1785, + "nodeType": "Block", + "src": "5039:79:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 1777, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1761, + "src": "5073:6:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1778, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1763, + "src": "5081:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1779, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1765, + "src": "5088:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "id": 1780, + "name": "predecessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1767, + "src": "5094:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1781, + "name": "salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1769, + "src": "5107:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 1775, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "5062:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1776, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "5062:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5062:50:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1774, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "5052:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5052:61:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1773, + "id": 1784, + "nodeType": "Return", + "src": "5045:68:9" + } + ] + }, + "documentation": { + "id": 1759, + "nodeType": "StructuredDocumentation", + "src": "4763:96:9", + "text": " @dev Returns the identifier of an operation containing a single\n transaction." + }, + "functionSelector": "8065657f", + "id": 1786, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hashOperation", + "nameLocation": "4871:13:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1770, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1761, + "mutability": "mutable", + "name": "target", + "nameLocation": "4898:6:9", + "nodeType": "VariableDeclaration", + "scope": 1786, + "src": "4890:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1760, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4890:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1763, + "mutability": "mutable", + "name": "value", + "nameLocation": "4918:5:9", + "nodeType": "VariableDeclaration", + "scope": 1786, + "src": "4910:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1762, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4910:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1765, + "mutability": "mutable", + "name": "data", + "nameLocation": "4944:4:9", + "nodeType": "VariableDeclaration", + "scope": 1786, + "src": "4929:19:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1764, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4929:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1767, + "mutability": "mutable", + "name": "predecessor", + "nameLocation": "4962:11:9", + "nodeType": "VariableDeclaration", + "scope": 1786, + "src": "4954:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1766, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4954:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1769, + "mutability": "mutable", + "name": "salt", + "nameLocation": "4987:4:9", + "nodeType": "VariableDeclaration", + "scope": 1786, + "src": "4979:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1768, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4979:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4884:111:9" + }, + "returnParameters": { + "id": 1773, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1772, + "mutability": "mutable", + "name": "hash", + "nameLocation": "5033:4:9", + "nodeType": "VariableDeclaration", + "scope": 1786, + "src": "5025:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1771, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5025:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5024:14:9" + }, + "scope": 2331, + "src": "4862:256:9", + "stateMutability": "pure", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1816, + "nodeType": "Block", + "src": "5433:82:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 1808, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1790, + "src": "5467:7:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + { + "id": 1809, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1793, + "src": "5476:6:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "id": 1810, + "name": "datas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1796, + "src": "5484:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + } + }, + { + "id": 1811, + "name": "predecessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1798, + "src": "5491:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1812, + "name": "salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1800, + "src": "5504:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 1806, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "5456:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1807, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "5456:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5456:53:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1805, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "5446:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5446:64:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1804, + "id": 1815, + "nodeType": "Return", + "src": "5439:71:9" + } + ] + }, + "documentation": { + "id": 1787, + "nodeType": "StructuredDocumentation", + "src": "5122:99:9", + "text": " @dev Returns the identifier of an operation containing a batch of\n transactions." + }, + "functionSelector": "b1c5f427", + "id": 1817, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hashOperationBatch", + "nameLocation": "5233:18:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1801, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1790, + "mutability": "mutable", + "name": "targets", + "nameLocation": "5276:7:9", + "nodeType": "VariableDeclaration", + "scope": 1817, + "src": "5257:26:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1788, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5257:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1789, + "nodeType": "ArrayTypeName", + "src": "5257:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1793, + "mutability": "mutable", + "name": "values", + "nameLocation": "5308:6:9", + "nodeType": "VariableDeclaration", + "scope": 1817, + "src": "5289:25:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1791, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5289:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1792, + "nodeType": "ArrayTypeName", + "src": "5289:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1796, + "mutability": "mutable", + "name": "datas", + "nameLocation": "5337:5:9", + "nodeType": "VariableDeclaration", + "scope": 1817, + "src": "5320:22:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 1794, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5320:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 1795, + "nodeType": "ArrayTypeName", + "src": "5320:7:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1798, + "mutability": "mutable", + "name": "predecessor", + "nameLocation": "5356:11:9", + "nodeType": "VariableDeclaration", + "scope": 1817, + "src": "5348:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1797, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5348:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1800, + "mutability": "mutable", + "name": "salt", + "nameLocation": "5381:4:9", + "nodeType": "VariableDeclaration", + "scope": 1817, + "src": "5373:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1799, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5373:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5251:138:9" + }, + "returnParameters": { + "id": 1804, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1803, + "mutability": "mutable", + "name": "hash", + "nameLocation": "5427:4:9", + "nodeType": "VariableDeclaration", + "scope": 1817, + "src": "5419:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1802, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5419:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "5418:14:9" + }, + "scope": 2331, + "src": "5224:291:9", + "stateMutability": "pure", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1861, + "nodeType": "Block", + "src": "5902:175:9", + "statements": [ + { + "assignments": [ + 1837 + ], + "declarations": [ + { + "constant": false, + "id": 1837, + "mutability": "mutable", + "name": "id", + "nameLocation": "5916:2:9", + "nodeType": "VariableDeclaration", + "scope": 1861, + "src": "5908:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1836, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5908:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 1845, + "initialValue": { + "arguments": [ + { + "id": 1839, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1820, + "src": "5935:6:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1840, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1822, + "src": "5943:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1841, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1824, + "src": "5950:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "id": 1842, + "name": "predecessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1826, + "src": "5956:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1843, + "name": "salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1828, + "src": "5969:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1838, + "name": "hashOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1786, + "src": "5921:13:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (address,uint256,bytes calldata,bytes32,bytes32) pure returns (bytes32)" + } + }, + "id": 1844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5921:53:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5908:66:9" + }, + { + "expression": { + "arguments": [ + { + "id": 1847, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1837, + "src": "5990:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1848, + "name": "delay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1830, + "src": "5994:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1846, + "name": "_schedule", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1980, + "src": "5980:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 1849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5980:20:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1850, + "nodeType": "ExpressionStatement", + "src": "5980:20:9" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1852, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1837, + "src": "6025:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "hexValue": "30", + "id": 1853, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6029:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "id": 1854, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1820, + "src": "6032:6:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1855, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1822, + "src": "6040:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1856, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1824, + "src": "6047:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "id": 1857, + "name": "predecessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1826, + "src": "6053:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1858, + "name": "delay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1830, + "src": "6066:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1851, + "name": "CallScheduled", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1449, + "src": "6011:13:9", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,address,uint256,bytes memory,bytes32,uint256)" + } + }, + "id": 1859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6011:61:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1860, + "nodeType": "EmitStatement", + "src": "6006:66:9" + } + ] + }, + "documentation": { + "id": 1818, + "nodeType": "StructuredDocumentation", + "src": "5519:193:9", + "text": " @dev Schedule an operation containing a single transaction.\n Emits a {CallScheduled} event.\n Requirements:\n - the caller must have the 'proposer' role." + }, + "functionSelector": "01d5062a", + "id": 1862, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 1833, + "name": "PROPOSER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1407, + "src": "5887:13:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1834, + "kind": "modifierInvocation", + "modifierName": { + "id": 1832, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "5878:8:9" + }, + "nodeType": "ModifierInvocation", + "src": "5878:23:9" + } + ], + "name": "schedule", + "nameLocation": "5724:8:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1831, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1820, + "mutability": "mutable", + "name": "target", + "nameLocation": "5746:6:9", + "nodeType": "VariableDeclaration", + "scope": 1862, + "src": "5738:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1819, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5738:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1822, + "mutability": "mutable", + "name": "value", + "nameLocation": "5766:5:9", + "nodeType": "VariableDeclaration", + "scope": 1862, + "src": "5758:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1821, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5758:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1824, + "mutability": "mutable", + "name": "data", + "nameLocation": "5792:4:9", + "nodeType": "VariableDeclaration", + "scope": 1862, + "src": "5777:19:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1823, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5777:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1826, + "mutability": "mutable", + "name": "predecessor", + "nameLocation": "5810:11:9", + "nodeType": "VariableDeclaration", + "scope": 1862, + "src": "5802:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1825, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5802:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1828, + "mutability": "mutable", + "name": "salt", + "nameLocation": "5835:4:9", + "nodeType": "VariableDeclaration", + "scope": 1862, + "src": "5827:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1827, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5827:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1830, + "mutability": "mutable", + "name": "delay", + "nameLocation": "5853:5:9", + "nodeType": "VariableDeclaration", + "scope": 1862, + "src": "5845:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1829, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5845:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5732:130:9" + }, + "returnParameters": { + "id": 1835, + "nodeType": "ParameterList", + "parameters": [], + "src": "5902:0:9" + }, + "scope": 2331, + "src": "5715:362:9", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1946, + "nodeType": "Block", + "src": "6530:520:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1885, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1866, + "src": "6551:7:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 1886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6551:14:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1887, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1869, + "src": "6569:6:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 1888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6569:13:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6551:31:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "42454d756c746953696757616c6c65743a206c656e677468206d69736d61746368", + "id": 1890, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6590:35:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a34a486f9100b008712958931fe0a50ea69be145b7a3d1e8680fe7decf64e499", + "typeString": "literal_string \"BEMultiSigWallet: length mismatch\"" + }, + "value": "BEMultiSigWallet: length mismatch" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a34a486f9100b008712958931fe0a50ea69be145b7a3d1e8680fe7decf64e499", + "typeString": "literal_string \"BEMultiSigWallet: length mismatch\"" + } + ], + "id": 1884, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "6536:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6536:95:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1892, + "nodeType": "ExpressionStatement", + "src": "6536:95:9" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1894, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1866, + "src": "6652:7:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 1895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6652:14:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1896, + "name": "datas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1872, + "src": "6670:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + } + }, + "id": 1897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6670:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6652:30:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "42454d756c746953696757616c6c65743a206c656e677468206d69736d61746368", + "id": 1899, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6690:35:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a34a486f9100b008712958931fe0a50ea69be145b7a3d1e8680fe7decf64e499", + "typeString": "literal_string \"BEMultiSigWallet: length mismatch\"" + }, + "value": "BEMultiSigWallet: length mismatch" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a34a486f9100b008712958931fe0a50ea69be145b7a3d1e8680fe7decf64e499", + "typeString": "literal_string \"BEMultiSigWallet: length mismatch\"" + } + ], + "id": 1893, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "6637:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6637:94:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1901, + "nodeType": "ExpressionStatement", + "src": "6637:94:9" + }, + { + "assignments": [ + 1903 + ], + "declarations": [ + { + "constant": false, + "id": 1903, + "mutability": "mutable", + "name": "id", + "nameLocation": "6746:2:9", + "nodeType": "VariableDeclaration", + "scope": 1946, + "src": "6738:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1902, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6738:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 1911, + "initialValue": { + "arguments": [ + { + "id": 1905, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1866, + "src": "6770:7:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + { + "id": 1906, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1869, + "src": "6779:6:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "id": 1907, + "name": "datas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1872, + "src": "6787:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + } + }, + { + "id": 1908, + "name": "predecessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1874, + "src": "6794:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1909, + "name": "salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1876, + "src": "6807:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1904, + "name": "hashOperationBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1817, + "src": "6751:18:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_address_$dyn_calldata_ptr_$_t_array$_t_uint256_$dyn_calldata_ptr_$_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (address[] calldata,uint256[] calldata,bytes calldata[] calldata,bytes32,bytes32) pure returns (bytes32)" + } + }, + "id": 1910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6751:61:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6738:74:9" + }, + { + "expression": { + "arguments": [ + { + "id": 1913, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1903, + "src": "6828:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1914, + "name": "delay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1878, + "src": "6832:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1912, + "name": "_schedule", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1980, + "src": "6818:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 1915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6818:20:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1916, + "nodeType": "ExpressionStatement", + "src": "6818:20:9" + }, + { + "body": { + "id": 1944, + "nodeType": "Block", + "src": "6889:157:9", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 1929, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1903, + "src": "6925:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1930, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1918, + "src": "6937:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 1931, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1866, + "src": "6948:7:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 1933, + "indexExpression": { + "id": 1932, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1918, + "src": "6956:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6948:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "baseExpression": { + "id": 1934, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1869, + "src": "6968:6:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 1936, + "indexExpression": { + "id": 1935, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1918, + "src": "6975:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6968:9:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 1937, + "name": "datas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1872, + "src": "6987:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + } + }, + "id": 1939, + "indexExpression": { + "id": 1938, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1918, + "src": "6993:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6987:8:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "id": 1940, + "name": "predecessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1874, + "src": "7005:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1941, + "name": "delay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1878, + "src": "7026:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1928, + "name": "CallScheduled", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1449, + "src": "6902:13:9", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,address,uint256,bytes memory,bytes32,uint256)" + } + }, + "id": 1942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6902:137:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1943, + "nodeType": "EmitStatement", + "src": "6897:142:9" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1921, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1918, + "src": "6864:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 1922, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1866, + "src": "6868:7:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 1923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6868:14:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6864:18:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1945, + "initializationExpression": { + "assignments": [ + 1918 + ], + "declarations": [ + { + "constant": false, + "id": 1918, + "mutability": "mutable", + "name": "i", + "nameLocation": "6857:1:9", + "nodeType": "VariableDeclaration", + "scope": 1945, + "src": "6849:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1917, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6849:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1920, + "initialValue": { + "hexValue": "30", + "id": 1919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6861:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "6849:13:9" + }, + "loopExpression": { + "expression": { + "id": 1926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "6884:3:9", + "subExpression": { + "id": 1925, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1918, + "src": "6886:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1927, + "nodeType": "ExpressionStatement", + "src": "6884:3:9" + }, + "nodeType": "ForStatement", + "src": "6844:202:9" + } + ] + }, + "documentation": { + "id": 1863, + "nodeType": "StructuredDocumentation", + "src": "6081:227:9", + "text": " @dev Schedule an operation containing a batch of transactions.\n Emits one {CallScheduled} event per transaction in the batch.\n Requirements:\n - the caller must have the 'proposer' role." + }, + "functionSelector": "8f2a0bb0", + "id": 1947, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 1881, + "name": "PROPOSER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1407, + "src": "6515:13:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1882, + "kind": "modifierInvocation", + "modifierName": { + "id": 1880, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "6506:8:9" + }, + "nodeType": "ModifierInvocation", + "src": "6506:23:9" + } + ], + "name": "scheduleBatch", + "nameLocation": "6320:13:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1879, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1866, + "mutability": "mutable", + "name": "targets", + "nameLocation": "6358:7:9", + "nodeType": "VariableDeclaration", + "scope": 1947, + "src": "6339:26:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1864, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6339:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1865, + "nodeType": "ArrayTypeName", + "src": "6339:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1869, + "mutability": "mutable", + "name": "values", + "nameLocation": "6390:6:9", + "nodeType": "VariableDeclaration", + "scope": 1947, + "src": "6371:25:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1867, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6371:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1868, + "nodeType": "ArrayTypeName", + "src": "6371:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1872, + "mutability": "mutable", + "name": "datas", + "nameLocation": "6419:5:9", + "nodeType": "VariableDeclaration", + "scope": 1947, + "src": "6402:22:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 1870, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6402:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 1871, + "nodeType": "ArrayTypeName", + "src": "6402:7:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1874, + "mutability": "mutable", + "name": "predecessor", + "nameLocation": "6438:11:9", + "nodeType": "VariableDeclaration", + "scope": 1947, + "src": "6430:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1873, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6430:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1876, + "mutability": "mutable", + "name": "salt", + "nameLocation": "6463:4:9", + "nodeType": "VariableDeclaration", + "scope": 1947, + "src": "6455:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1875, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6455:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1878, + "mutability": "mutable", + "name": "delay", + "nameLocation": "6481:5:9", + "nodeType": "VariableDeclaration", + "scope": 1947, + "src": "6473:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1877, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6473:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6333:157:9" + }, + "returnParameters": { + "id": 1883, + "nodeType": "ParameterList", + "parameters": [], + "src": "6530:0:9" + }, + "scope": 2331, + "src": "6311:739:9", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1979, + "nodeType": "Block", + "src": "7198:204:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "7212:16:9", + "subExpression": { + "arguments": [ + { + "id": 1957, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1950, + "src": "7225:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1956, + "name": "isOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1642, + "src": "7213:11:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 1958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7213:15:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "42454d756c746953696757616c6c65743a206f7065726174696f6e20616c7265616479207363686564756c6564", + "id": 1960, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7230:47:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_498a98edde27c28694cc7d4941f82dd71ff5085e4a93f35609f504b4979a0e12", + "typeString": "literal_string \"BEMultiSigWallet: operation already scheduled\"" + }, + "value": "BEMultiSigWallet: operation already scheduled" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_498a98edde27c28694cc7d4941f82dd71ff5085e4a93f35609f504b4979a0e12", + "typeString": "literal_string \"BEMultiSigWallet: operation already scheduled\"" + } + ], + "id": 1955, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "7204:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7204:74:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1962, + "nodeType": "ExpressionStatement", + "src": "7204:74:9" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1964, + "name": "delay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "7292:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 1965, + "name": "minDelay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1430, + "src": "7301:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7292:17:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "42454d756c746953696757616c6c65743a20696e73756666696369656e742064656c6179", + "id": 1967, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7311:38:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9c4dfb173f7764cc56b8beafaf67c514b7ff532825adbcaadabf621199a1950a", + "typeString": "literal_string \"BEMultiSigWallet: insufficient delay\"" + }, + "value": "BEMultiSigWallet: insufficient delay" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_9c4dfb173f7764cc56b8beafaf67c514b7ff532825adbcaadabf621199a1950a", + "typeString": "literal_string \"BEMultiSigWallet: insufficient delay\"" + } + ], + "id": 1963, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "7284:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7284:66:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1969, + "nodeType": "ExpressionStatement", + "src": "7284:66:9" + }, + { + "expression": { + "id": 1977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1970, + "name": "_timestamps", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1422, + "src": "7356:11:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 1972, + "indexExpression": { + "id": 1971, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1950, + "src": "7368:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7356:15:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1973, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "7374:5:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 1974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "7374:15:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1975, + "name": "delay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1952, + "src": "7392:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7374:23:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7356:41:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1978, + "nodeType": "ExpressionStatement", + "src": "7356:41:9" + } + ] + }, + "documentation": { + "id": 1948, + "nodeType": "StructuredDocumentation", + "src": "7054:87:9", + "text": " @dev Schedule an operation that is to becomes valid after a given delay." + }, + "id": 1980, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_schedule", + "nameLocation": "7153:9:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1953, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1950, + "mutability": "mutable", + "name": "id", + "nameLocation": "7171:2:9", + "nodeType": "VariableDeclaration", + "scope": 1980, + "src": "7163:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1949, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7163:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1952, + "mutability": "mutable", + "name": "delay", + "nameLocation": "7183:5:9", + "nodeType": "VariableDeclaration", + "scope": 1980, + "src": "7175:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1951, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7175:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7162:27:9" + }, + "returnParameters": { + "id": 1954, + "nodeType": "ParameterList", + "parameters": [], + "src": "7198:0:9" + }, + "scope": 2331, + "src": "7144:258:9", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2005, + "nodeType": "Block", + "src": "7594:164:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 1991, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1983, + "src": "7634:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1990, + "name": "isOperationPending", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1657, + "src": "7615:18:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 1992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7615:22:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "42454d756c746953696757616c6c65743a206f7065726174696f6e2063616e6e6f742062652063616e63656c6c6564", + "id": 1993, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7645:49:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_18f4f64b96974e466ba9fe4c81e77d3a2e7e7ead1ec0709ce9c4a80df6bbe8e2", + "typeString": "literal_string \"BEMultiSigWallet: operation cannot be cancelled\"" + }, + "value": "BEMultiSigWallet: operation cannot be cancelled" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_18f4f64b96974e466ba9fe4c81e77d3a2e7e7ead1ec0709ce9c4a80df6bbe8e2", + "typeString": "literal_string \"BEMultiSigWallet: operation cannot be cancelled\"" + } + ], + "id": 1989, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "7600:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7600:100:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1995, + "nodeType": "ExpressionStatement", + "src": "7600:100:9" + }, + { + "expression": { + "id": 1999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "7706:22:9", + "subExpression": { + "baseExpression": { + "id": 1996, + "name": "_timestamps", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1422, + "src": "7713:11:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 1998, + "indexExpression": { + "id": 1997, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1983, + "src": "7725:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7713:15:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2000, + "nodeType": "ExpressionStatement", + "src": "7706:22:9" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2002, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1983, + "src": "7750:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2001, + "name": "Cancelled", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1467, + "src": "7740:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7740:13:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2004, + "nodeType": "EmitStatement", + "src": "7735:18:9" + } + ] + }, + "documentation": { + "id": 1981, + "nodeType": "StructuredDocumentation", + "src": "7406:118:9", + "text": " @dev Cancel an operation.\n Requirements:\n - the caller must have the 'proposer' role." + }, + "functionSelector": "c4d252f5", + "id": 2006, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 1986, + "name": "PROPOSER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1407, + "src": "7579:13:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1987, + "kind": "modifierInvocation", + "modifierName": { + "id": 1985, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "7570:8:9" + }, + "nodeType": "ModifierInvocation", + "src": "7570:23:9" + } + ], + "name": "cancel", + "nameLocation": "7536:6:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1984, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1983, + "mutability": "mutable", + "name": "id", + "nameLocation": "7551:2:9", + "nodeType": "VariableDeclaration", + "scope": 2006, + "src": "7543:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1982, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7543:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "7542:12:9" + }, + "returnParameters": { + "id": 1988, + "nodeType": "ParameterList", + "parameters": [], + "src": "7594:0:9" + }, + "scope": 2331, + "src": "7527:231:9", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 2037, + "nodeType": "Block", + "src": "7987:194:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2017, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2009, + "src": "8027:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2016, + "name": "isOperationPending", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1657, + "src": "8008:18:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8008:22:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "42454d756c746953696757616c6c65743a206f7065726174696f6e206e6f74206578697374206f722066696e6973686564", + "id": 2019, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8038:51:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f189764673a1904d80a5eac6f1e4952021d4400f0665b76222b6d1047bee845d", + "typeString": "literal_string \"BEMultiSigWallet: operation not exist or finished\"" + }, + "value": "BEMultiSigWallet: operation not exist or finished" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f189764673a1904d80a5eac6f1e4952021d4400f0665b76222b6d1047bee845d", + "typeString": "literal_string \"BEMultiSigWallet: operation not exist or finished\"" + } + ], + "id": 2015, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "7993:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7993:102:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2021, + "nodeType": "ExpressionStatement", + "src": "7993:102:9" + }, + { + "expression": { + "id": 2029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 2022, + "name": "confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1428, + "src": "8101:13:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(bytes32 => mapping(address => bool))" + } + }, + "id": 2026, + "indexExpression": { + "id": 2023, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2009, + "src": "8115:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8101:17:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2027, + "indexExpression": { + "expression": { + "id": 2024, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8119:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8119:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8101:29:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 2028, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8133:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "8101:36:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2030, + "nodeType": "ExpressionStatement", + "src": "8101:36:9" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 2032, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8161:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8161:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2034, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2009, + "src": "8173:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2031, + "name": "Confirmation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1473, + "src": "8148:12:9", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,bytes32)" + } + }, + "id": 2035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8148:28:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2036, + "nodeType": "EmitStatement", + "src": "8143:33:9" + } + ] + }, + "documentation": { + "id": 2007, + "nodeType": "StructuredDocumentation", + "src": "7762:131:9", + "text": " @dev Allows an executor to confirm a transaction.\n Requirements\n - the caller must have the 'executor' role." + }, + "functionSelector": "79716e43", + "id": 2038, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 2012, + "name": "EXECUTOR_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1412, + "src": "7970:13:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2013, + "kind": "modifierInvocation", + "modifierName": { + "id": 2011, + "name": "onlyRoleOrOpenRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1622, + "src": "7951:18:9" + }, + "nodeType": "ModifierInvocation", + "src": "7951:33:9" + } + ], + "name": "confirmTransaction", + "nameLocation": "7905:18:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2010, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2009, + "mutability": "mutable", + "name": "id", + "nameLocation": "7932:2:9", + "nodeType": "VariableDeclaration", + "scope": 2038, + "src": "7924:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2008, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7924:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "7923:12:9" + }, + "returnParameters": { + "id": 2014, + "nodeType": "ParameterList", + "parameters": [], + "src": "7987:0:9" + }, + "scope": 2331, + "src": "7896:285:9", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2069, + "nodeType": "Block", + "src": "8428:193:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2049, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2041, + "src": "8468:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2048, + "name": "isOperationPending", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1657, + "src": "8449:18:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8449:22:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "42454d756c746953696757616c6c65743a206f7065726174696f6e206e6f74206578697374206f722066696e6973686564", + "id": 2051, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8479:51:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f189764673a1904d80a5eac6f1e4952021d4400f0665b76222b6d1047bee845d", + "typeString": "literal_string \"BEMultiSigWallet: operation not exist or finished\"" + }, + "value": "BEMultiSigWallet: operation not exist or finished" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f189764673a1904d80a5eac6f1e4952021d4400f0665b76222b6d1047bee845d", + "typeString": "literal_string \"BEMultiSigWallet: operation not exist or finished\"" + } + ], + "id": 2047, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "8434:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8434:102:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2053, + "nodeType": "ExpressionStatement", + "src": "8434:102:9" + }, + { + "expression": { + "id": 2061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 2054, + "name": "confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1428, + "src": "8542:13:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(bytes32 => mapping(address => bool))" + } + }, + "id": 2058, + "indexExpression": { + "id": 2055, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2041, + "src": "8556:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8542:17:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 2059, + "indexExpression": { + "expression": { + "id": 2056, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8560:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8560:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8542:29:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 2060, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8574:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "8542:37:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2062, + "nodeType": "ExpressionStatement", + "src": "8542:37:9" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 2064, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "8601:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8601:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2066, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2041, + "src": "8613:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2063, + "name": "Revocation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1479, + "src": "8590:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,bytes32)" + } + }, + "id": 2067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8590:26:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2068, + "nodeType": "EmitStatement", + "src": "8585:31:9" + } + ] + }, + "documentation": { + "id": 2039, + "nodeType": "StructuredDocumentation", + "src": "8185:149:9", + "text": " @dev Allows an executor to revoke a confirmation for a transaction.\n Requirements\n - the caller must have the 'executor' role." + }, + "functionSelector": "f3fc536d", + "id": 2070, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 2044, + "name": "EXECUTOR_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1412, + "src": "8411:13:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2045, + "kind": "modifierInvocation", + "modifierName": { + "id": 2043, + "name": "onlyRoleOrOpenRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1622, + "src": "8392:18:9" + }, + "nodeType": "ModifierInvocation", + "src": "8392:33:9" + } + ], + "name": "revokeConfirmation", + "nameLocation": "8346:18:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2042, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2041, + "mutability": "mutable", + "name": "id", + "nameLocation": "8373:2:9", + "nodeType": "VariableDeclaration", + "scope": 2070, + "src": "8365:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2040, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8365:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "8364:12:9" + }, + "returnParameters": { + "id": 2046, + "nodeType": "ParameterList", + "parameters": [], + "src": "8428:0:9" + }, + "scope": 2331, + "src": "8337:284:9", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2114, + "nodeType": "Block", + "src": "9012:170:9", + "statements": [ + { + "assignments": [ + 2088 + ], + "declarations": [ + { + "constant": false, + "id": 2088, + "mutability": "mutable", + "name": "id", + "nameLocation": "9026:2:9", + "nodeType": "VariableDeclaration", + "scope": 2114, + "src": "9018:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2087, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9018:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 2096, + "initialValue": { + "arguments": [ + { + "id": 2090, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2073, + "src": "9045:6:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2091, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2075, + "src": "9053:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2092, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2077, + "src": "9060:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "id": 2093, + "name": "predecessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2079, + "src": "9066:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2094, + "name": "salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2081, + "src": "9079:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2089, + "name": "hashOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1786, + "src": "9031:13:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (address,uint256,bytes calldata,bytes32,bytes32) pure returns (bytes32)" + } + }, + "id": 2095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9031:53:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9018:66:9" + }, + { + "expression": { + "arguments": [ + { + "id": 2098, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2088, + "src": "9102:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2099, + "name": "predecessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2079, + "src": "9106:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2097, + "name": "_beforeCall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2237, + "src": "9090:11:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32) view" + } + }, + "id": 2100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9090:28:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2101, + "nodeType": "ExpressionStatement", + "src": "9090:28:9" + }, + { + "expression": { + "arguments": [ + { + "id": 2103, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2088, + "src": "9130:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "hexValue": "30", + "id": 2104, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9134:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "id": 2105, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2073, + "src": "9137:6:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2106, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2075, + "src": "9145:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2107, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2077, + "src": "9152:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 2102, + "name": "_call", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2294, + "src": "9124:5:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$", + "typeString": "function (bytes32,uint256,address,uint256,bytes calldata)" + } + }, + "id": 2108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9124:33:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2109, + "nodeType": "ExpressionStatement", + "src": "9124:33:9" + }, + { + "expression": { + "arguments": [ + { + "id": 2111, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2088, + "src": "9174:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2110, + "name": "_afterCall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2257, + "src": "9163:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9163:14:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2113, + "nodeType": "ExpressionStatement", + "src": "9163:14:9" + } + ] + }, + "documentation": { + "id": 2071, + "nodeType": "StructuredDocumentation", + "src": "8625:199:9", + "text": " @dev Execute an (ready) operation containing a single transaction.\n Emits a {CallExecuted} event.\n Requirements:\n - the caller must have the 'executor' role." + }, + "functionSelector": "134008d3", + "id": 2115, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 2084, + "name": "EXECUTOR_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1412, + "src": "8997:13:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2085, + "kind": "modifierInvocation", + "modifierName": { + "id": 2083, + "name": "onlyRoleOrOpenRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1622, + "src": "8978:18:9" + }, + "nodeType": "ModifierInvocation", + "src": "8978:33:9" + } + ], + "name": "execute", + "nameLocation": "8836:7:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2082, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2073, + "mutability": "mutable", + "name": "target", + "nameLocation": "8857:6:9", + "nodeType": "VariableDeclaration", + "scope": 2115, + "src": "8849:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2072, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8849:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2075, + "mutability": "mutable", + "name": "value", + "nameLocation": "8877:5:9", + "nodeType": "VariableDeclaration", + "scope": 2115, + "src": "8869:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2074, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8869:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2077, + "mutability": "mutable", + "name": "data", + "nameLocation": "8903:4:9", + "nodeType": "VariableDeclaration", + "scope": 2115, + "src": "8888:19:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2076, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8888:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2079, + "mutability": "mutable", + "name": "predecessor", + "nameLocation": "8921:11:9", + "nodeType": "VariableDeclaration", + "scope": 2115, + "src": "8913:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2078, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8913:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2081, + "mutability": "mutable", + "name": "salt", + "nameLocation": "8946:4:9", + "nodeType": "VariableDeclaration", + "scope": 2115, + "src": "8938:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2080, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8938:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "8843:111:9" + }, + "returnParameters": { + "id": 2086, + "nodeType": "ParameterList", + "parameters": [], + "src": "9012:0:9" + }, + "scope": 2331, + "src": "8827:355:9", + "stateMutability": "payable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 2199, + "nodeType": "Block", + "src": "9639:451:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2136, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2119, + "src": "9660:7:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 2137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9660:14:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 2138, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2122, + "src": "9678:6:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 2139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9678:13:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9660:31:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "42454d756c746953696757616c6c65743a206c656e677468206d69736d61746368", + "id": 2141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9699:35:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a34a486f9100b008712958931fe0a50ea69be145b7a3d1e8680fe7decf64e499", + "typeString": "literal_string \"BEMultiSigWallet: length mismatch\"" + }, + "value": "BEMultiSigWallet: length mismatch" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a34a486f9100b008712958931fe0a50ea69be145b7a3d1e8680fe7decf64e499", + "typeString": "literal_string \"BEMultiSigWallet: length mismatch\"" + } + ], + "id": 2135, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "9645:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9645:95:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2143, + "nodeType": "ExpressionStatement", + "src": "9645:95:9" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2145, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2119, + "src": "9761:7:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 2146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9761:14:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 2147, + "name": "datas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2125, + "src": "9779:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + } + }, + "id": 2148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9779:12:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9761:30:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "42454d756c746953696757616c6c65743a206c656e677468206d69736d61746368", + "id": 2150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9799:35:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a34a486f9100b008712958931fe0a50ea69be145b7a3d1e8680fe7decf64e499", + "typeString": "literal_string \"BEMultiSigWallet: length mismatch\"" + }, + "value": "BEMultiSigWallet: length mismatch" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a34a486f9100b008712958931fe0a50ea69be145b7a3d1e8680fe7decf64e499", + "typeString": "literal_string \"BEMultiSigWallet: length mismatch\"" + } + ], + "id": 2144, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "9746:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9746:94:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2152, + "nodeType": "ExpressionStatement", + "src": "9746:94:9" + }, + { + "assignments": [ + 2154 + ], + "declarations": [ + { + "constant": false, + "id": 2154, + "mutability": "mutable", + "name": "id", + "nameLocation": "9855:2:9", + "nodeType": "VariableDeclaration", + "scope": 2199, + "src": "9847:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2153, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9847:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 2162, + "initialValue": { + "arguments": [ + { + "id": 2156, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2119, + "src": "9879:7:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + { + "id": 2157, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2122, + "src": "9888:6:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "id": 2158, + "name": "datas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2125, + "src": "9896:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + } + }, + { + "id": 2159, + "name": "predecessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2127, + "src": "9903:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2160, + "name": "salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2129, + "src": "9916:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2155, + "name": "hashOperationBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1817, + "src": "9860:18:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_address_$dyn_calldata_ptr_$_t_array$_t_uint256_$dyn_calldata_ptr_$_t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (address[] calldata,uint256[] calldata,bytes calldata[] calldata,bytes32,bytes32) pure returns (bytes32)" + } + }, + "id": 2161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9860:61:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9847:74:9" + }, + { + "expression": { + "arguments": [ + { + "id": 2164, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2154, + "src": "9939:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2165, + "name": "predecessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2127, + "src": "9943:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2163, + "name": "_beforeCall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2237, + "src": "9927:11:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32) view" + } + }, + "id": 2166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9927:28:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2167, + "nodeType": "ExpressionStatement", + "src": "9927:28:9" + }, + { + "body": { + "id": 2193, + "nodeType": "Block", + "src": "10006:60:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2180, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2154, + "src": "10020:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2181, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2169, + "src": "10024:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 2182, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2119, + "src": "10027:7:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 2184, + "indexExpression": { + "id": 2183, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2169, + "src": "10035:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10027:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "baseExpression": { + "id": 2185, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2122, + "src": "10039:6:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 2187, + "indexExpression": { + "id": 2186, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2169, + "src": "10046:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10039:9:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 2188, + "name": "datas", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2125, + "src": "10050:5:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes calldata[] calldata" + } + }, + "id": 2190, + "indexExpression": { + "id": 2189, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2169, + "src": "10056:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10050:8:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 2179, + "name": "_call", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2294, + "src": "10014:5:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$", + "typeString": "function (bytes32,uint256,address,uint256,bytes calldata)" + } + }, + "id": 2191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10014:45:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2192, + "nodeType": "ExpressionStatement", + "src": "10014:45:9" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2172, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2169, + "src": "9981:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 2173, + "name": "targets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2119, + "src": "9985:7:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 2174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9985:14:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9981:18:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2194, + "initializationExpression": { + "assignments": [ + 2169 + ], + "declarations": [ + { + "constant": false, + "id": 2169, + "mutability": "mutable", + "name": "i", + "nameLocation": "9974:1:9", + "nodeType": "VariableDeclaration", + "scope": 2194, + "src": "9966:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2168, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9966:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2171, + "initialValue": { + "hexValue": "30", + "id": 2170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9978:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "9966:13:9" + }, + "loopExpression": { + "expression": { + "id": 2177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "10001:3:9", + "subExpression": { + "id": 2176, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2169, + "src": "10003:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2178, + "nodeType": "ExpressionStatement", + "src": "10001:3:9" + }, + "nodeType": "ForStatement", + "src": "9961:105:9" + }, + { + "expression": { + "arguments": [ + { + "id": 2196, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2154, + "src": "10082:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2195, + "name": "_afterCall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2257, + "src": "10071:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10071:14:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2198, + "nodeType": "ExpressionStatement", + "src": "10071:14:9" + } + ] + }, + "documentation": { + "id": 2116, + "nodeType": "StructuredDocumentation", + "src": "9186:233:9", + "text": " @dev Execute an (ready) operation containing a batch of transactions.\n Emits one {CallExecuted} event per transaction in the batch.\n Requirements:\n - the caller must have the 'executor' role." + }, + "functionSelector": "e38335e5", + "id": 2200, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 2132, + "name": "EXECUTOR_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1412, + "src": "9624:13:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2133, + "kind": "modifierInvocation", + "modifierName": { + "id": 2131, + "name": "onlyRoleOrOpenRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1622, + "src": "9605:18:9" + }, + "nodeType": "ModifierInvocation", + "src": "9605:33:9" + } + ], + "name": "executeBatch", + "nameLocation": "9431:12:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2130, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2119, + "mutability": "mutable", + "name": "targets", + "nameLocation": "9468:7:9", + "nodeType": "VariableDeclaration", + "scope": 2200, + "src": "9449:26:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 2117, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9449:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2118, + "nodeType": "ArrayTypeName", + "src": "9449:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2122, + "mutability": "mutable", + "name": "values", + "nameLocation": "9500:6:9", + "nodeType": "VariableDeclaration", + "scope": 2200, + "src": "9481:25:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2120, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9481:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2121, + "nodeType": "ArrayTypeName", + "src": "9481:9:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2125, + "mutability": "mutable", + "name": "datas", + "nameLocation": "9529:5:9", + "nodeType": "VariableDeclaration", + "scope": 2200, + "src": "9512:22:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr", + "typeString": "bytes[]" + }, + "typeName": { + "baseType": { + "id": 2123, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9512:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "id": 2124, + "nodeType": "ArrayTypeName", + "src": "9512:7:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", + "typeString": "bytes[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2127, + "mutability": "mutable", + "name": "predecessor", + "nameLocation": "9548:11:9", + "nodeType": "VariableDeclaration", + "scope": 2200, + "src": "9540:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2126, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9540:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2129, + "mutability": "mutable", + "name": "salt", + "nameLocation": "9573:4:9", + "nodeType": "VariableDeclaration", + "scope": 2200, + "src": "9565:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2128, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9565:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "9443:138:9" + }, + "returnParameters": { + "id": 2134, + "nodeType": "ParameterList", + "parameters": [], + "src": "9639:0:9" + }, + "scope": 2331, + "src": "9422:668:9", + "stateMutability": "payable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 2236, + "nodeType": "Block", + "src": "10232:326:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2210, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2203, + "src": "10263:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2209, + "name": "isOperationReady", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1730, + "src": "10246:16:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10246:20:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "42454d756c746953696757616c6c65743a206f7065726174696f6e206973206e6f74207265616479", + "id": 2212, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10268:42:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3071306add2bfff75b9ab79068a1537f4356af9ed062959388101e0b120a034f", + "typeString": "literal_string \"BEMultiSigWallet: operation is not ready\"" + }, + "value": "BEMultiSigWallet: operation is not ready" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3071306add2bfff75b9ab79068a1537f4356af9ed062959388101e0b120a034f", + "typeString": "literal_string \"BEMultiSigWallet: operation is not ready\"" + } + ], + "id": 2208, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "10238:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10238:73:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2214, + "nodeType": "ExpressionStatement", + "src": "10238:73:9" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2217, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2203, + "src": "10344:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2216, + "name": "isConfirmed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1706, + "src": "10332:11:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10332:15:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "42454d756c746953696757616c6c65743a206f7065726174696f6e206e6f7420726561636820726571756972656420636f6e6669726d6174696f6e73", + "id": 2219, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10355:62:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_26f3351a4289a44b9dc71972f9cd6f45d47bd0c7add4c9d1015c299b64c9cdbe", + "typeString": "literal_string \"BEMultiSigWallet: operation not reach required confirmations\"" + }, + "value": "BEMultiSigWallet: operation not reach required confirmations" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_26f3351a4289a44b9dc71972f9cd6f45d47bd0c7add4c9d1015c299b64c9cdbe", + "typeString": "literal_string \"BEMultiSigWallet: operation not reach required confirmations\"" + } + ], + "id": 2215, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "10317:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10317:106:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2221, + "nodeType": "ExpressionStatement", + "src": "10317:106:9" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2223, + "name": "predecessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2205, + "src": "10444:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 2226, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10467:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2225, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10459:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 2224, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10459:7:9", + "typeDescriptions": {} + } + }, + "id": 2227, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10459:10:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "10444:25:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 2230, + "name": "predecessor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2205, + "src": "10489:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2229, + "name": "isOperationDone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1745, + "src": "10473:15:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10473:28:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10444:57:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "42454d756c746953696757616c6c65743a206d697373696e6720646570656e64656e6379", + "id": 2233, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10509:38:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dd941925c974bb4b37fc449c3636956979b5143840e3dd79fa264fd005e44275", + "typeString": "literal_string \"BEMultiSigWallet: missing dependency\"" + }, + "value": "BEMultiSigWallet: missing dependency" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_dd941925c974bb4b37fc449c3636956979b5143840e3dd79fa264fd005e44275", + "typeString": "literal_string \"BEMultiSigWallet: missing dependency\"" + } + ], + "id": 2222, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "10429:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10429:124:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2235, + "nodeType": "ExpressionStatement", + "src": "10429:124:9" + } + ] + }, + "documentation": { + "id": 2201, + "nodeType": "StructuredDocumentation", + "src": "10094:68:9", + "text": " @dev Checks before execution of an operation's calls." + }, + "id": 2237, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_beforeCall", + "nameLocation": "10174:11:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2203, + "mutability": "mutable", + "name": "id", + "nameLocation": "10194:2:9", + "nodeType": "VariableDeclaration", + "scope": 2237, + "src": "10186:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2202, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10186:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2205, + "mutability": "mutable", + "name": "predecessor", + "nameLocation": "10206:11:9", + "nodeType": "VariableDeclaration", + "scope": 2237, + "src": "10198:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2204, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10198:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "10185:33:9" + }, + "returnParameters": { + "id": 2207, + "nodeType": "ParameterList", + "parameters": [], + "src": "10232:0:9" + }, + "scope": 2331, + "src": "10165:393:9", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2256, + "nodeType": "Block", + "src": "10672:123:9", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2245, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2240, + "src": "10703:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2244, + "name": "isOperationReady", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1730, + "src": "10686:16:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10686:20:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "42454d756c746953696757616c6c65743a206f7065726174696f6e206973206e6f74207265616479", + "id": 2247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10708:42:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3071306add2bfff75b9ab79068a1537f4356af9ed062959388101e0b120a034f", + "typeString": "literal_string \"BEMultiSigWallet: operation is not ready\"" + }, + "value": "BEMultiSigWallet: operation is not ready" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3071306add2bfff75b9ab79068a1537f4356af9ed062959388101e0b120a034f", + "typeString": "literal_string \"BEMultiSigWallet: operation is not ready\"" + } + ], + "id": 2243, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "10678:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10678:73:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2249, + "nodeType": "ExpressionStatement", + "src": "10678:73:9" + }, + { + "expression": { + "id": 2254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2250, + "name": "_timestamps", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1422, + "src": "10757:11:9", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 2252, + "indexExpression": { + "id": 2251, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2240, + "src": "10769:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10757:15:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2253, + "name": "_DONE_TIMESTAMP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1418, + "src": "10775:15:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10757:33:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2255, + "nodeType": "ExpressionStatement", + "src": "10757:33:9" + } + ] + }, + "documentation": { + "id": 2238, + "nodeType": "StructuredDocumentation", + "src": "10562:67:9", + "text": " @dev Checks after execution of an operation's calls." + }, + "id": 2257, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_afterCall", + "nameLocation": "10641:10:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2241, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2240, + "mutability": "mutable", + "name": "id", + "nameLocation": "10660:2:9", + "nodeType": "VariableDeclaration", + "scope": 2257, + "src": "10652:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2239, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10652:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "10651:12:9" + }, + "returnParameters": { + "id": 2242, + "nodeType": "ParameterList", + "parameters": [], + "src": "10672:0:9" + }, + "scope": 2331, + "src": "10632:163:9", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2293, + "nodeType": "Block", + "src": "11016:192:9", + "statements": [ + { + "assignments": [ + 2272, + null + ], + "declarations": [ + { + "constant": false, + "id": 2272, + "mutability": "mutable", + "name": "success", + "nameLocation": "11028:7:9", + "nodeType": "VariableDeclaration", + "scope": 2293, + "src": "11023:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2271, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11023:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 2279, + "initialValue": { + "arguments": [ + { + "id": 2277, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2268, + "src": "11067:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "id": 2273, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2264, + "src": "11041:6:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "src": "11041:11:9", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 2276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 2275, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "11060:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "11041:25:9", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 2278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11041:31:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11022:50:9" + }, + { + "expression": { + "arguments": [ + { + "id": 2281, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2272, + "src": "11086:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "42454d756c746953696757616c6c65743a20756e6465726c79696e67207472616e73616374696f6e207265766572746564", + "id": 2282, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11095:51:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4887496109bd7042bc943a0ba0978efb71ff89756cc68bec9bd24ffa06316a33", + "typeString": "literal_string \"BEMultiSigWallet: underlying transaction reverted\"" + }, + "value": "BEMultiSigWallet: underlying transaction reverted" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4887496109bd7042bc943a0ba0978efb71ff89756cc68bec9bd24ffa06316a33", + "typeString": "literal_string \"BEMultiSigWallet: underlying transaction reverted\"" + } + ], + "id": 2280, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "11078:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11078:69:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2284, + "nodeType": "ExpressionStatement", + "src": "11078:69:9" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2286, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2260, + "src": "11172:2:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2287, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2262, + "src": "11176:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2288, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2264, + "src": "11183:6:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2289, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "11191:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2290, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2268, + "src": "11198:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 2285, + "name": "CallExecuted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1462, + "src": "11159:12:9", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes32,uint256,address,uint256,bytes memory)" + } + }, + "id": 2291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11159:44:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2292, + "nodeType": "EmitStatement", + "src": "11154:49:9" + } + ] + }, + "documentation": { + "id": 2258, + "nodeType": "StructuredDocumentation", + "src": "10799:88:9", + "text": " @dev Execute an operation's call.\n Emits a {CallExecuted} event." + }, + "id": 2294, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_call", + "nameLocation": "10899:5:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2269, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2260, + "mutability": "mutable", + "name": "id", + "nameLocation": "10918:2:9", + "nodeType": "VariableDeclaration", + "scope": 2294, + "src": "10910:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2259, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10910:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2262, + "mutability": "mutable", + "name": "index", + "nameLocation": "10934:5:9", + "nodeType": "VariableDeclaration", + "scope": 2294, + "src": "10926:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2261, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10926:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2264, + "mutability": "mutable", + "name": "target", + "nameLocation": "10953:6:9", + "nodeType": "VariableDeclaration", + "scope": 2294, + "src": "10945:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2263, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10945:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2266, + "mutability": "mutable", + "name": "value", + "nameLocation": "10973:5:9", + "nodeType": "VariableDeclaration", + "scope": 2294, + "src": "10965:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10965:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2268, + "mutability": "mutable", + "name": "data", + "nameLocation": "10999:4:9", + "nodeType": "VariableDeclaration", + "scope": 2294, + "src": "10984:19:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2267, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10984:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "10904:103:9" + }, + "returnParameters": { + "id": 2270, + "nodeType": "ParameterList", + "parameters": [], + "src": "11016:0:9" + }, + "scope": 2331, + "src": "10890:318:9", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2311, + "nodeType": "Block", + "src": "11641:77:9", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 2303, + "name": "minDelay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1430, + "src": "11667:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2304, + "name": "_minDelay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2297, + "src": "11677:9:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2302, + "name": "MinDelayChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1486, + "src": "11652:14:9", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 2305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11652:35:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2306, + "nodeType": "EmitStatement", + "src": "11647:40:9" + }, + { + "expression": { + "id": 2309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2307, + "name": "minDelay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1430, + "src": "11693:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2308, + "name": "_minDelay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2297, + "src": "11704:9:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11693:20:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2310, + "nodeType": "ExpressionStatement", + "src": "11693:20:9" + } + ] + }, + "documentation": { + "id": 2295, + "nodeType": "StructuredDocumentation", + "src": "11212:358:9", + "text": " @dev Changes the minimum wallet duration for future operations.\n Emits a {MinDelayChange} event.\n Requirements:\n - the caller must be the wallet itself. This can only be achieved by scheduling and later executing\n an operation where the wallet is the target and the data is the ABI-encoded call to this function." + }, + "functionSelector": "5037ec62", + "id": 2312, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2300, + "kind": "modifierInvocation", + "modifierName": { + "id": 2299, + "name": "onlyWallet", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1508, + "src": "11630:10:9" + }, + "nodeType": "ModifierInvocation", + "src": "11630:10:9" + } + ], + "name": "changeDelay", + "nameLocation": "11582:11:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2298, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2297, + "mutability": "mutable", + "name": "_minDelay", + "nameLocation": "11602:9:9", + "nodeType": "VariableDeclaration", + "scope": 2312, + "src": "11594:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2296, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11594:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11593:19:9" + }, + "returnParameters": { + "id": 2301, + "nodeType": "ParameterList", + "parameters": [], + "src": "11641:0:9" + }, + "scope": 2331, + "src": "11573:145:9", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "external" + }, + { + "body": { + "id": 2329, + "nodeType": "Block", + "src": "11967:80:9", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 2321, + "name": "required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1432, + "src": "11996:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2322, + "name": "_required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2315, + "src": "12006:9:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2320, + "name": "RequirementChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "11978:17:9", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 2323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11978:38:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2324, + "nodeType": "EmitStatement", + "src": "11973:43:9" + }, + { + "expression": { + "id": 2327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2325, + "name": "required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1432, + "src": "12022:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2326, + "name": "_required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2315, + "src": "12033:9:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12022:20:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2328, + "nodeType": "ExpressionStatement", + "src": "12022:20:9" + } + ] + }, + "documentation": { + "id": 2313, + "nodeType": "StructuredDocumentation", + "src": "11722:168:9", + "text": " @dev Allows to change the number of required confirmations. Transaction has to be sent by wallet.\n @param _required Number of required confirmations." + }, + "functionSelector": "ba51a6df", + "id": 2330, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2318, + "kind": "modifierInvocation", + "modifierName": { + "id": 2317, + "name": "onlyWallet", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1508, + "src": "11956:10:9" + }, + "nodeType": "ModifierInvocation", + "src": "11956:10:9" + } + ], + "name": "changeRequirement", + "nameLocation": "11902:17:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2316, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2315, + "mutability": "mutable", + "name": "_required", + "nameLocation": "11928:9:9", + "nodeType": "VariableDeclaration", + "scope": 2330, + "src": "11920:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2314, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11920:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11919:19:9" + }, + "returnParameters": { + "id": 2319, + "nodeType": "ParameterList", + "parameters": [], + "src": "11967:0:9" + }, + "scope": 2331, + "src": "11893:154:9", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "external" + } + ], + "scope": 2332, + "src": "168:11881:9", + "usedErrors": [] + } + ], + "src": "32:12018:9" + }, + "compiler": { + "name": "solc", + "version": "0.8.10+commit.fc410830.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.11", + "updatedAt": "2023-01-17T09:56:25.802Z", + "devdoc": { + "events": { + "CallExecuted(bytes32,uint256,address,uint256,bytes)": { + "details": "Emitted when a call is performed as part of operation `id`." + }, + "CallScheduled(bytes32,uint256,address,uint256,bytes,bytes32,uint256)": { + "details": "Emitted when a call is scheduled as part of operation `id`." + }, + "Cancelled(bytes32)": { + "details": "Emitted when operation `id` is cancelled." + }, + "MinDelayChange(uint256,uint256)": { + "details": "Emitted when the minimum delay for future operations is modified." + }, + "RequirementChange(uint256,uint256)": { + "details": "Emitted when the number of required confimations is modified." + } + }, + "kind": "dev", + "methods": { + "cancel(bytes32)": { + "details": "Cancel an operation. Requirements: - the caller must have the 'proposer' role." + }, + "changeDelay(uint256)": { + "details": "Changes the minimum wallet duration for future operations. Emits a {MinDelayChange} event. Requirements: - the caller must be the wallet itself. This can only be achieved by scheduling and later executing an operation where the wallet is the target and the data is the ABI-encoded call to this function." + }, + "changeRequirement(uint256)": { + "details": "Allows to change the number of required confirmations. Transaction has to be sent by wallet.", + "params": { + "_required": "Number of required confirmations." + } + }, + "confirmTransaction(bytes32)": { + "details": "Allows an executor to confirm a transaction. Requirements - the caller must have the 'executor' role." + }, + "constructor": { + "details": "Initializes the contract with a given `minDelay`." + }, + "execute(address,uint256,bytes,bytes32,bytes32)": { + "details": "Execute an (ready) operation containing a single transaction. Emits a {CallExecuted} event. Requirements: - the caller must have the 'executor' role." + }, + "executeBatch(address[],uint256[],bytes[],bytes32,bytes32)": { + "details": "Execute an (ready) operation containing a batch of transactions. Emits one {CallExecuted} event per transaction in the batch. Requirements: - the caller must have the 'executor' role." + }, + "getRoleAdmin(bytes32)": { + "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}." + }, + "getRoleMember(bytes32,uint256)": { + "details": "Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information." + }, + "getRoleMemberCount(bytes32)": { + "details": "Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role." + }, + "getTimestamp(bytes32)": { + "details": "Returns the timestamp at with an operation becomes ready (0 for unset operations, 1 for done operations)." + }, + "grantRole(bytes32,address)": { + "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role." + }, + "hasRole(bytes32,address)": { + "details": "Returns `true` if `account` has been granted `role`." + }, + "hashOperation(address,uint256,bytes,bytes32,bytes32)": { + "details": "Returns the identifier of an operation containing a single transaction." + }, + "hashOperationBatch(address[],uint256[],bytes[],bytes32,bytes32)": { + "details": "Returns the identifier of an operation containing a batch of transactions." + }, + "isOperation(bytes32)": { + "details": "Returns whether an id correspond to a registered operation. This includes both Pending, Ready and Done operations." + }, + "isOperationDone(bytes32)": { + "details": "Returns whether an operation is done or not." + }, + "isOperationPending(bytes32)": { + "details": "Returns whether an operation is pending or not." + }, + "isOperationReady(bytes32)": { + "details": "Returns whether an operation is ready or not." + }, + "renounceRole(bytes32,address)": { + "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`." + }, + "revokeConfirmation(bytes32)": { + "details": "Allows an executor to revoke a confirmation for a transaction. Requirements - the caller must have the 'executor' role." + }, + "revokeRole(bytes32,address)": { + "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role." + }, + "schedule(address,uint256,bytes,bytes32,bytes32,uint256)": { + "details": "Schedule an operation containing a single transaction. Emits a {CallScheduled} event. Requirements: - the caller must have the 'proposer' role." + }, + "scheduleBatch(address[],uint256[],bytes[],bytes32,bytes32,uint256)": { + "details": "Schedule an operation containing a batch of transactions. Emits one {CallScheduled} event per transaction in the batch. Requirements: - the caller must have the 'proposer' role." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "notice": "MultiSigWallet with timelocker", + "version": 1 + } +} \ No newline at end of file diff --git a/src/chain/BlockChain.ts b/src/chain/BlockChain.ts index ce88fe4..7a5463a 100644 --- a/src/chain/BlockChain.ts +++ b/src/chain/BlockChain.ts @@ -23,20 +23,14 @@ export class BlockChain { this.confirmQueue = new ConfirmQueue(this.web3) let key = process.env.CHAIN_MASTER_KEY this.accountMaster = this.web3.eth.accounts.wallet.add(key) - this.web3.eth.accounts.wallet.add(process.env.CHAIN_MINT_KEY) - this.web3.eth.accounts.wallet.add(process.env.CHAIN_ADMIN_KEY) this.instanceCacheMap = new Map() this.erc20Reactor = new ERC20Reactor({ web3: this.web3, address: process.env.CHAIN_FT_ADDRESS, - lockerAddress: process.env.CHAIN_FTLOCKER_ADDRESS, - ctrlAddress: process.env.CHAIN_FTCONTROLLER_ADDRESS, }) this.erc721Reactor = new ERC721Reactor({ web3: this.web3, address: process.env.CHAIN_NFT_ADDRESS, - lockerAddress: process.env.CHAIN_NFTLOCKER_ADDRESS, - ctrlAddress: process.env.CHAIN_NFTCONTROLLER_ADDRESS, }) } diff --git a/src/chain/ERC20Reactor.ts b/src/chain/ERC20Reactor.ts index 1c95d6c..ea48caa 100644 --- a/src/chain/ERC20Reactor.ts +++ b/src/chain/ERC20Reactor.ts @@ -1,40 +1,19 @@ import { BN } from 'ethereumjs-util' import Web3 from 'web3' -import { FT_ABI, FT_CONTROLLER_ABI, FT_LOCKER_ABI } from './Contracts' + import { Contract } from 'web3-eth-contract' import { Account } from 'web3-core' +const abiFt = require('abis/ERC20.json').abi export class ERC20Reactor { private web3: Web3 private contract: Contract - private locker: Contract private account: Account - private lockerAddress: string - private ftCtrl: Contract - private ctrlAddress: string - constructor({ - web3, - address, - lockerAddress, - ctrlAddress, - }: { - web3: Web3 - address: string - lockerAddress?: string - ctrlAddress?: string - }) { + constructor({ web3, address }: { web3: Web3; address: string }) { this.web3 = web3 this.account = this.web3.eth.accounts.wallet[0] - this.contract = new this.web3.eth.Contract(FT_ABI, address, { from: this.account.address }) - if (lockerAddress) { - this.lockerAddress = lockerAddress - this.locker = new this.web3.eth.Contract(FT_LOCKER_ABI, lockerAddress, { from: this.account.address }) - } - if (ctrlAddress) { - this.ctrlAddress = ctrlAddress - this.ftCtrl = new this.web3.eth.Contract(FT_CONTROLLER_ABI, ctrlAddress, { from: this.account.address }) - } + this.contract = new this.web3.eth.Contract(abiFt, address, { from: this.account.address }) } /** @@ -46,7 +25,7 @@ export class ERC20Reactor { */ async getBalanceOf({ address, selectedAddress }: { address?: string; selectedAddress: string }): Promise { const contract = address - ? new this.web3.eth.Contract(FT_ABI, address, { from: this.account.address }) + ? new this.web3.eth.Contract(abiFt, address, { from: this.account.address }) : this.contract return new Promise((resolve, reject) => { contract.methods.balanceOf(selectedAddress).call({ from: selectedAddress }, (error: Error, result: BN) => { @@ -68,7 +47,7 @@ export class ERC20Reactor { */ async getTokenDecimals(address?: string): Promise { const contract = address - ? new this.web3.eth.Contract(FT_ABI, address, { from: this.account.address }) + ? new this.web3.eth.Contract(abiFt, address, { from: this.account.address }) : this.contract return new Promise((resolve, reject) => { contract.methods.decimals().call((error: Error, result: BN | string) => { @@ -90,7 +69,7 @@ export class ERC20Reactor { */ async getTokenSymbol(address?: string): Promise { const contract = address - ? new this.web3.eth.Contract(FT_ABI, address, { from: this.account.address }) + ? new this.web3.eth.Contract(abiFt, address, { from: this.account.address }) : this.contract return new Promise((resolve, reject) => { contract.methods.symbol().call((error: Error, result: BN | string) => { @@ -144,119 +123,29 @@ export class ERC20Reactor { amount: number | string gas?: number }) { - const contract = new this.web3.eth.Contract(FT_ABI, address, { from: account || this.account.address }) + const contract = new this.web3.eth.Contract(abiFt, address, { from: account || this.account.address }) const amountBN = Web3.utils.toBN(Web3.utils.toWei(amount + '')) - return contract.methods.transfer(to, amountBN).send({ + return contract.methods.transferFrom(from, to, amountBN).send({ gas: gas || 1000000, }) } async mint({ address, to, amount, account }: { account?: string; address?: string; to: string; amount: string }) { const contract = address - ? new this.web3.eth.Contract(FT_ABI, address, { from: account || this.account.address }) + ? new this.web3.eth.Contract(abiFt, address, { from: account || this.account.address }) : this.contract - // amount = this.web3.utils.toWei(amount + '') let amountBN = Web3.utils.toBN(Web3.utils.toWei(amount + '')) let gas = await contract.methods.mint(to, amountBN).estimateGas({ gas: 1000000 }) return contract.methods.mint(to, amountBN).send({ gas: (gas * 1.1) | 0 }) } - async lock({ address, amount, account }: { account?: string; address?: string; amount: string }) { - address = address || this.contract.options.address - // amount = this.web3.utils.toWei(amount + '') - const contract = address - ? new this.web3.eth.Contract(FT_ABI, address, { from: account || this.account.address }) - : this.contract - let locker = account - ? new this.web3.eth.Contract(FT_LOCKER_ABI, this.lockerAddress, { from: account }) - : this.locker - const amountBN = Web3.utils.toBN(Web3.utils.toWei(amount + '')) - await contract.methods.increaseAllowance(locker.options.address, amountBN).send({ gas: 1000000 }) - let gas = await locker.methods.lock(address, amountBN).estimateGas({ gas: 1000000 }) - return locker.methods.lock(address, amountBN).send({ gas: (gas * 1.1) | 0 }) - } - - async unLock({ address, to, amount, account }: { account?: string; address?: string; to: string; amount: string }) { - address = address || this.contract.options.address - let locker = account - ? new this.web3.eth.Contract(FT_LOCKER_ABI, this.lockerAddress, { from: account }) - : this.locker - const contract = address - ? new this.web3.eth.Contract(FT_ABI, address, { from: account || this.account.address }) - : this.contract - const amountBN = Web3.utils.toBN(Web3.utils.toWei(amount + '')) - let gas = await locker.methods.unlock(address, to, amountBN).estimateGas({ gas: 1000000 }) - return locker.methods.unlock(address, to, amountBN).send({ gas: (gas * 1.1) | 0 }) - } - - async releaseFt({ - address, - amount, - account, - serverId, - }: { - account?: string - address?: string - amount: string - serverId: string - }) { - address = address || this.contract.options.address - const contract = address - ? new this.web3.eth.Contract(FT_ABI, address, { from: account || this.account.address }) - : this.contract - let locker = account - ? new this.web3.eth.Contract(FT_LOCKER_ABI, this.lockerAddress, { from: account }) - : this.locker - const amountBN = Web3.utils.toBN(Web3.utils.toWei(amount + '')) - await contract.methods.increaseAllowance(locker.options.address, amountBN).send({ gas: 1000000 }) - let gas = await locker.methods.release(address, amountBN, serverId).estimateGas({ gas: 1000000 }) - return locker.methods.release(address, amountBN, serverId).send({ gas: (gas * 1.1) | 0 }) - } - - async mintReleaseFt({ - address, - amount, - serverId, - account, - }: { - address: string - amount: string - serverId: string - account?: string - }) { - const nftCtrl = account - ? new this.web3.eth.Contract(FT_CONTROLLER_ABI, this.ctrlAddress, { from: account || this.account.address }) - : this.ftCtrl - const amountBN = Web3.utils.toBN(Web3.utils.toWei(amount + '')) - return nftCtrl.methods.mintAndRelease(address, amountBN, serverId).send({ gas: 1000000 }) - } - - async getLockedNum({ address, account }: { address?: string; account: string }) { - address = address || this.contract.options.address - return this.locker.methods.lockedNum(address, account).call() - } - async getPastEvents({ address, fromBlock }: { address?: string; fromBlock: number }) { const contract = address - ? new this.web3.eth.Contract(FT_ABI, address, { from: this.account.address }) + ? new this.web3.eth.Contract(abiFt, address, { from: this.account.address }) : this.contract return contract.getPastEvents('Transfer', { fromBlock, toBlock: fromBlock + 50000, }) } - - async getPastLockEvents({ address, fromBlock }: { address?: string; fromBlock: number }) { - return this.locker.getPastEvents('Lock', { - fromBlock, - toBlock: fromBlock + 50000, - }) - } - - async getPastUnLockEvents({ address, fromBlock }: { address?: string; fromBlock: number }) { - return this.locker.getPastEvents('UnLock', { - fromBlock, - toBlock: fromBlock + 50000, - }) - } } diff --git a/src/chain/ERC721Reactor.ts b/src/chain/ERC721Reactor.ts index 8ba9c69..9e146bd 100644 --- a/src/chain/ERC721Reactor.ts +++ b/src/chain/ERC721Reactor.ts @@ -2,7 +2,6 @@ import { timeoutFetch } from 'utils/net.util' import { getFormattedIpfsUrl } from 'utils/wallet.util' import Web3 from 'web3' import { Contract } from 'web3-eth-contract' -import { NFT_ABI, NFT_CONTROLLER_ABI, NFT_LOCKER_ABI, PRESALE_ABI } from './Contracts' import { Account } from 'web3-core' export const ERC721 = 'ERC721' @@ -10,34 +9,17 @@ export const ERC721_INTERFACE_ID = '0x80ac58cd' export const ERC721_METADATA_INTERFACE_ID = '0x5b5e139f' export const ERC721_ENUMERABLE_INTERFACE_ID = '0x780e9d63' +const ablNft = require('abis/BEBadge.json').abi + export class ERC721Reactor { private web3: Web3 private contract: Contract - private locker: Contract private account: Account - private lockerAddress: string - private nftCtrl: Contract - private ctrlAddress: string - constructor({ - web3, - address, - lockerAddress, - ctrlAddress, - }: { - web3: Web3 - address: string - lockerAddress: string - ctrlAddress: string - }) { + constructor({ web3, address }: { web3: Web3; address: string }) { this.web3 = web3 this.account = this.web3.eth.accounts.wallet[0] - this.contract = new this.web3.eth.Contract(NFT_ABI, address, { from: this.account.address }) - - this.lockerAddress = lockerAddress - this.locker = new this.web3.eth.Contract(NFT_LOCKER_ABI, lockerAddress, { from: this.account.address }) - this.ctrlAddress = ctrlAddress - this.nftCtrl = new this.web3.eth.Contract(NFT_CONTROLLER_ABI, this.ctrlAddress) + this.contract = new this.web3.eth.Contract(ablNft, address, { from: this.account.address }) } /** @@ -88,7 +70,7 @@ export class ERC721Reactor { index: number }): Promise => { const contract = address - ? new this.web3.eth.Contract(NFT_ABI, address, { from: this.account.address }) + ? new this.web3.eth.Contract(ablNft, address, { from: this.account.address }) : this.contract return new Promise((resolve, reject) => { contract.methods.tokenOfOwnerByIndex(selectedAddress, index).call((error: Error, result: string) => { @@ -104,7 +86,7 @@ export class ERC721Reactor { getBalance = async ({ address, selectedAddress }: { address?: string; selectedAddress: string }): Promise => { const contract = address - ? new this.web3.eth.Contract(NFT_ABI, address, { from: this.account.address }) + ? new this.web3.eth.Contract(ablNft, address, { from: this.account.address }) : this.contract return new Promise((resolve, reject) => { contract.methods.balanceOf(selectedAddress).call((error: Error, result: number) => { @@ -127,7 +109,7 @@ export class ERC721Reactor { */ getTokenURI = async ({ address, tokenId }: { address?: string; tokenId: string }): Promise => { const contract = address - ? new this.web3.eth.Contract(NFT_ABI, address, { from: this.account.address }) + ? new this.web3.eth.Contract(ablNft, address, { from: this.account.address }) : this.contract const supportsMetadata = await this.contractSupportsMetadataInterface(address) if (!supportsMetadata) { @@ -153,7 +135,7 @@ export class ERC721Reactor { */ getAssetName = async (address?: string): Promise => { const contract = address - ? new this.web3.eth.Contract(NFT_ABI, address, { from: this.account.address }) + ? new this.web3.eth.Contract(ablNft, address, { from: this.account.address }) : this.contract return new Promise((resolve, reject) => { contract.methods.name().call((error: Error, result: string) => { @@ -175,7 +157,7 @@ export class ERC721Reactor { */ getAssetSymbol = async (address?: string): Promise => { const contract = address - ? new this.web3.eth.Contract(NFT_ABI, address, { from: this.account.address }) + ? new this.web3.eth.Contract(ablNft, address, { from: this.account.address }) : this.contract return new Promise((resolve, reject) => { contract.methods.symbol().call((error: Error, result: string) => { @@ -198,7 +180,7 @@ export class ERC721Reactor { */ async getOwnerOf({ address, tokenId }: { address?: string; tokenId: string }): Promise { const contract = address - ? new this.web3.eth.Contract(NFT_ABI, address, { from: this.account.address }) + ? new this.web3.eth.Contract(ablNft, address, { from: this.account.address }) : this.contract return new Promise((resolve, reject) => { contract.methods.ownerOf(tokenId).call((error: Error, result: string) => { @@ -227,7 +209,7 @@ export class ERC721Reactor { interfaceId: string }): Promise => { const contract = address - ? new this.web3.eth.Contract(NFT_ABI, address, { from: this.account.address }) + ? new this.web3.eth.Contract(ablNft, address, { from: this.account.address }) : this.contract return new Promise((resolve, reject) => { contract.methods.supportsInterface(interfaceId).call((error: Error, result: boolean) => { @@ -327,7 +309,7 @@ export class ERC721Reactor { gas?: number }) { const contract = address - ? new this.web3.eth.Contract(NFT_ABI, address, { from: account || this.account.address }) + ? new this.web3.eth.Contract(ablNft, address, { from: account || this.account.address }) : this.contract return contract.methods.safeTransferFrom(from, to, tokenId).send({ from, @@ -337,7 +319,7 @@ export class ERC721Reactor { async mint({ address, to, tokenId, configId }: { address?: string; to: string; tokenId: string; configId: string }) { const contract = address - ? new this.web3.eth.Contract(NFT_ABI, address, { from: this.account.address }) + ? new this.web3.eth.Contract(ablNft, address, { from: this.account.address }) : this.contract let gas = await contract.methods.mint(to, tokenId, configId).estimateGas({ gas: 1000000 }) return contract.methods.mint(to, tokenId, configId).send({ gas: (gas * 1.1) | 0 }) @@ -357,7 +339,7 @@ export class ERC721Reactor { configIds: string[] }) { const contract = address - ? new this.web3.eth.Contract(NFT_ABI, address, { from: account || this.account.address }) + ? new this.web3.eth.Contract(ablNft, address, { from: account || this.account.address }) : this.contract // let gas = await contract.methods.batchMint(to, tokenIds, configIds).estimateGas({ gas: 1000000 }) return contract.methods.batchMint(to, tokenIds, configIds).send({ gas: 1000000 }) @@ -377,120 +359,19 @@ export class ERC721Reactor { nftType: string }) { const contract = address - ? new this.web3.eth.Contract(PRESALE_ABI, address, { from: account || this.account.address }) + ? new this.web3.eth.Contract(ablNft, address, { from: account || this.account.address }) : this.contract let gas = await contract.methods.mintBox(to, tokenId, nftType).estimateGas({ gas: 1000000 }) return contract.methods.mintBox(to, tokenId, nftType).send({ gas: 1000000 }) } - async lock({ address, tokenId, account }: { account?: string; address?: string; tokenId: string }) { - address = address || this.contract.options.address - const contract = address - ? new this.web3.eth.Contract(NFT_ABI, address, { from: this.account.address }) - : this.contract - let locker = account - ? new this.web3.eth.Contract(NFT_LOCKER_ABI, this.lockerAddress, { from: account }) - : this.locker - await contract.methods.setApprovalForAll(locker.options.address, true).send({ gas: 1000000 }) - let gas = await locker.methods.lock(address, tokenId).estimateGas({ gas: 1000000 }) - return locker.methods.lock(address, tokenId).send({ gas: (gas * 1.1) | 0 }) - } - - async batchLock({ address, tokenIds, account }: { account?: string; address?: string; tokenIds: string[] }) { - address = address || this.contract.options.address - const contract = address - ? new this.web3.eth.Contract(NFT_ABI, address, { from: account || this.account.address }) - : this.contract - let locker = account - ? new this.web3.eth.Contract(NFT_LOCKER_ABI, this.lockerAddress, { from: account }) - : this.locker - await contract.methods.setApprovalForAll(locker.options.address, true).send({ gas: 1000000 }) - // let gas = await locker.methods.batchLock(address, tokenIds).estimateGas({ gas: 1000000 }) - return locker.methods.batchLock(address, tokenIds).send({ gas: 1000000 }) - } - - async releaseNft({ - address, - tokenIds, - account, - serverId, - }: { - account?: string - address?: string - tokenIds: string[] - serverId: string - }) { - address = address || this.contract.options.address - const contract = address - ? new this.web3.eth.Contract(NFT_ABI, address, { from: account || this.account.address }) - : this.contract - let locker = account - ? new this.web3.eth.Contract(NFT_LOCKER_ABI, this.lockerAddress, { from: account }) - : this.locker - await contract.methods.setApprovalForAll(locker.options.address, true).send({ gas: 1000000 }) - return locker.methods.release(address, tokenIds, serverId).send({ gas: 1000000 }) - } - - async mintReleaseNft({ - account, - address, - serverId, - tokenIds, - configIds, - }: { - account?: string - address?: string - serverId: string - tokenIds: string[] - configIds: string[] - }) { - const nftCtrl = account - ? new this.web3.eth.Contract(NFT_CONTROLLER_ABI, this.ctrlAddress, { from: account || this.account.address }) - : this.nftCtrl - - return nftCtrl.methods.mintAndRelease(address, tokenIds, configIds, serverId).send({ gas: 1000000 }) - } - - async unLock({ address, to, tokenId, account }: { account?: string; address?: string; to: string; tokenId: string }) { - address = address || this.contract.options.address - let locker = account - ? new this.web3.eth.Contract(NFT_LOCKER_ABI, this.lockerAddress, { from: account }) - : this.locker - let gas = await locker.methods.unlock(address, to, tokenId).estimateGas({ gas: 1000000 }) - return locker.methods.unlock(address, to, tokenId).send({ gas: (gas * 1.1) | 0 }) - } - - async getLockedNum({ address, account }: { address?: string; account: string }) { - address = address || this.contract.options.address - return this.locker.methods.lockedNum(address, account).call() - } - - async getLockedNft({ address, account }: { address?: string; account: string }) { - address = address || this.contract.options.address - return this.locker.methods.lockedNft(address, account).call() - } - async getPastEvents({ address, fromBlock }: { address?: string; fromBlock: number }) { const contract = address - ? new this.web3.eth.Contract(NFT_ABI, address, { from: this.account.address }) + ? new this.web3.eth.Contract(ablNft, address, { from: this.account.address }) : this.contract return contract.getPastEvents('BatchMint', { fromBlock, toBlock: fromBlock + 50000, }) } - - async getPastLockEvents({ address, fromBlock }: { address?: string; fromBlock: number }) { - return this.locker.getPastEvents('Lock', { - fromBlock, - toBlock: fromBlock + 50000, - }) - } - - async getPastUnLockEvents({ address, fromBlock }: { address?: string; fromBlock: number }) { - return this.locker.getPastEvents('UnLock', { - fromBlock, - toBlock: fromBlock + 50000, - }) - } } diff --git a/src/chain/WalletReactor.ts b/src/chain/WalletReactor.ts new file mode 100644 index 0000000..88a81b2 --- /dev/null +++ b/src/chain/WalletReactor.ts @@ -0,0 +1,16 @@ +import { Contract } from 'web3-eth-contract' +import Web3 from 'web3' +import { Account } from 'web3-core' +const abi = require('abis/BEMultiSigWallet.json').abi + +export class WalletReactor { + private web3: Web3 + private contract: Contract + private account: Account + + constructor({ web3, address }: { web3: Web3; address: string }) { + this.web3 = web3 + this.account = this.web3.eth.accounts.wallet[0] + this.contract = new this.web3.eth.Contract(abi, address, { from: this.account.address }) + } +}