diff --git a/contracts/bindings/cosmos/lib/cosmos_types.abigen.go b/contracts/bindings/cosmos/lib/cosmos_types.abigen.go index c4ee848a6..8a80c42ac 100644 --- a/contracts/bindings/cosmos/lib/cosmos_types.abigen.go +++ b/contracts/bindings/cosmos/lib/cosmos_types.abigen.go @@ -53,7 +53,7 @@ type CosmosPageResponse struct { // CosmosTypesMetaData contains all meta data concerning the CosmosTypes contract. var CosmosTypesMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"denom\",\"type\":\"string\"}],\"internalType\":\"structCosmos.Coin\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"coin\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"offset\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"limit\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"countTotal\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"reverse\",\"type\":\"bool\"}],\"internalType\":\"structCosmos.PageRequest\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"pageRequest\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"nextKey\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"total\",\"type\":\"uint64\"}],\"internalType\":\"structCosmos.PageResponse\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"pageResponse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"}]", - Bin: "0x608060405234801561000f575f80fd5b506102118061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c80631acc976f146100435780632ff6e5df1461005f578063426ce1a91461007b575b5f80fd5b61005d600480360381019061005891906100ca565b610097565b005b6100796004803603810190610074919061012f565b61009a565b005b61009560048036038101906100909190610194565b61009d565b005b50565b50565b50565b5f80fd5b5f80fd5b5f80fd5b5f60a082840312156100c1576100c06100a8565b5b81905092915050565b5f602082840312156100df576100de6100a0565b5b5f82013567ffffffffffffffff8111156100fc576100fb6100a4565b5b610108848285016100ac565b91505092915050565b5f60408284031215610126576101256100a8565b5b81905092915050565b5f60208284031215610144576101436100a0565b5b5f82013567ffffffffffffffff811115610161576101606100a4565b5b61016d84828501610111565b91505092915050565b5f6040828403121561018b5761018a6100a8565b5b81905092915050565b5f602082840312156101a9576101a86100a0565b5b5f82013567ffffffffffffffff8111156101c6576101c56100a4565b5b6101d284828501610176565b9150509291505056fea264697066735822122015e30edb9e27c41d56fb4bfa53a31f05390368387a2fc2162a847aff41cbd03f64736f6c63430008140033", + Bin: "0x608060405234801561000f575f80fd5b506102118061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c80631acc976f146100435780632ff6e5df1461005f578063426ce1a91461007b575b5f80fd5b61005d600480360381019061005891906100ca565b610097565b005b6100796004803603810190610074919061012f565b61009a565b005b61009560048036038101906100909190610194565b61009d565b005b50565b50565b50565b5f80fd5b5f80fd5b5f80fd5b5f60a082840312156100c1576100c06100a8565b5b81905092915050565b5f602082840312156100df576100de6100a0565b5b5f82013567ffffffffffffffff8111156100fc576100fb6100a4565b5b610108848285016100ac565b91505092915050565b5f60408284031215610126576101256100a8565b5b81905092915050565b5f60208284031215610144576101436100a0565b5b5f82013567ffffffffffffffff811115610161576101606100a4565b5b61016d84828501610111565b91505092915050565b5f6040828403121561018b5761018a6100a8565b5b81905092915050565b5f602082840312156101a9576101a86100a0565b5b5f82013567ffffffffffffffff8111156101c6576101c56100a4565b5b6101d284828501610176565b9150509291505056fea2646970667358221220cd938f1594be90a76ff4980bf8e5eaf239e05e8867ea7e669197172d39f7515c64736f6c63430008140033", } // CosmosTypesABI is the input ABI used to generate the binding from. diff --git a/contracts/bindings/cosmos/polaris_erc20.abigen.go b/contracts/bindings/cosmos/polaris_erc20.abigen.go index a009b4ebe..cbca8e2e3 100644 --- a/contracts/bindings/cosmos/polaris_erc20.abigen.go +++ b/contracts/bindings/cosmos/polaris_erc20.abigen.go @@ -32,7 +32,7 @@ var ( // PolarisERC20MetaData contains all meta data concerning the PolarisERC20 contract. var PolarisERC20MetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_denom\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"denom\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x60c060405234801562000010575f80fd5b506040516200208d3803806200208d833981810160405281019062000036919062000280565b805f908162000046919062000506565b5046608081815250506200005f6200006d60201b60201c565b60a081815250505062000773565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516200009f919062000692565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001620000e095949392919062000718565b60405160208183030381529060405280519060200120905090565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200015c8262000114565b810181811067ffffffffffffffff821117156200017e576200017d62000124565b5b80604052505050565b5f62000192620000fb565b9050620001a0828262000151565b919050565b5f67ffffffffffffffff821115620001c257620001c162000124565b5b620001cd8262000114565b9050602081019050919050565b5f5b83811015620001f9578082015181840152602081019050620001dc565b5f8484015250505050565b5f6200021a6200021484620001a5565b62000187565b90508281526020810184848401111562000239576200023862000110565b5b62000246848285620001da565b509392505050565b5f82601f8301126200026557620002646200010c565b5b81516200027784826020860162000204565b91505092915050565b5f6020828403121562000298576200029762000104565b5b5f82015167ffffffffffffffff811115620002b857620002b762000108565b5b620002c6848285016200024e565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200031e57607f821691505b602082108103620003345762000333620002d9565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620003987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200035b565b620003a486836200035b565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620003ee620003e8620003e284620003bc565b620003c5565b620003bc565b9050919050565b5f819050919050565b6200040983620003ce565b620004216200041882620003f5565b84845462000367565b825550505050565b5f90565b6200043762000429565b62000444818484620003fe565b505050565b5b818110156200046b576200045f5f826200042d565b6001810190506200044a565b5050565b601f821115620004ba5762000484816200033a565b6200048f846200034c565b810160208510156200049f578190505b620004b7620004ae856200034c565b83018262000449565b50505b505050565b5f82821c905092915050565b5f620004dc5f1984600802620004bf565b1980831691505092915050565b5f620004f68383620004cb565b9150826002028217905092915050565b6200051182620002cf565b67ffffffffffffffff8111156200052d576200052c62000124565b5b62000539825462000306565b620005468282856200046f565b5f60209050601f8311600181146200057c575f841562000567578287015190505b620005738582620004e9565b865550620005e2565b601f1984166200058c866200033a565b5f5b82811015620005b5578489015182556001820191506020850194506020810190506200058e565b86831015620005d55784890151620005d1601f891682620004cb565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f8154620006148162000306565b620006208186620005ea565b9450600182165f81146200063d5760018114620006535762000689565b60ff198316865281151582028601935062000689565b6200065e85620005f4565b5f5b83811015620006815781548189015260018201915060208101905062000660565b838801955050505b50505092915050565b5f6200069f828462000606565b915081905092915050565b5f819050919050565b620006be81620006aa565b82525050565b620006cf81620003bc565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200070082620006d5565b9050919050565b6200071281620006f4565b82525050565b5f60a0820190506200072d5f830188620006b3565b6200073c6020830187620006b3565b6200074b6040830186620006b3565b6200075a6060830185620006c4565b62000769608083018462000707565b9695505050505050565b60805160a0516118f8620007955f395f61076201525f61072e01526118f85ff3fe608060405234801561000f575f80fd5b50600436106100cd575f3560e01c806370a082311161008a578063a9059cbb11610064578063a9059cbb14610227578063c370b04214610257578063d505accf14610275578063dd62ed3e14610291576100cd565b806370a08231146101a95780637ecebe00146101d957806395d89b4114610209576100cd565b806306fdde03146100d1578063095ea7b3146100ef57806318160ddd1461011f57806323b872dd1461013d578063313ce5671461016d5780633644e5151461018b575b5f80fd5b6100d96102c1565b6040516100e69190610eb8565b60405180910390f35b61010960048036038101906101049190610f69565b610350565b6040516101169190610fc1565b60405180910390f35b61012761043d565b6040516101349190610fe9565b60405180910390f35b61015760048036038101906101529190611002565b6104c2565b6040516101649190610fc1565b60405180910390f35b610175610723565b604051610182919061106d565b60405180910390f35b61019361072b565b6040516101a0919061109e565b60405180910390f35b6101c360048036038101906101be91906110b7565b610787565b6040516101d09190610fe9565b60405180910390f35b6101f360048036038101906101ee91906110b7565b610810565b6040516102009190610fe9565b60405180910390f35b610211610825565b60405161021e9190610eb8565b60405180910390f35b610241600480360381019061023c9190610f69565b6108b4565b60405161024e9190610fc1565b60405180910390f35b61025f6109e7565b60405161026c9190610eb8565b60405180910390f35b61028f600480360381019061028a9190611136565b610a72565b005b6102ab60048036038101906102a691906111d3565b610d5f565b6040516102b89190610fe9565b60405180910390f35b60605f80546102cf9061123e565b80601f01602080910402602001604051908101604052809291908181526020018280546102fb9061123e565b80156103465780601f1061031d57610100808354040283529160200191610346565b820191905f5260205f20905b81548152906001019060200180831161032957829003601f168201915b5050505050905090565b5f8160015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161042b9190610fe9565b60405180910390a36001905092915050565b5f610446610d7f565b73ffffffffffffffffffffffffffffffffffffffff1663fe3b2b885f6040518263ffffffff1660e01b815260040161047e9190611301565b602060405180830381865afa158015610499573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104bd9190611335565b905090565b5f8060015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105ef578281610572919061138d565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b6105f7610d9a565b73ffffffffffffffffffffffffffffffffffffffff166393a3e3e98686866040518463ffffffff1660e01b8152600401610633939291906113cf565b6020604051808303815f875af115801561064f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610673919061142e565b6106b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a9906114c9565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161070f9190610fe9565b60405180910390a360019150509392505050565b5f6012905090565b5f7f000000000000000000000000000000000000000000000000000000000000000046146107605761075b610da4565b610782565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b5f610790610d7f565b73ffffffffffffffffffffffffffffffffffffffff166334d1fdaf835f6040518363ffffffff1660e01b81526004016107ca9291906114e7565b602060405180830381865afa1580156107e5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108099190611335565b9050919050565b6002602052805f5260405f205f915090505481565b60605f80546108339061123e565b80601f016020809104026020016040519081016040528092919081815260200182805461085f9061123e565b80156108aa5780601f10610881576101008083540402835291602001916108aa565b820191905f5260205f20905b81548152906001019060200180831161088d57829003601f168201915b5050505050905090565b5f6108bd610d9a565b73ffffffffffffffffffffffffffffffffffffffff166393a3e3e93385856040518463ffffffff1660e01b81526004016108f9939291906113cf565b6020604051808303815f875af1158015610915573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610939919061142e565b610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096f90611585565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109d59190610fe9565b60405180910390a36001905092915050565b5f80546109f39061123e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1f9061123e565b8015610a6a5780601f10610a4157610100808354040283529160200191610a6a565b820191905f5260205f20905b815481529060010190602001808311610a4d57829003601f168201915b505050505081565b42841015610ab5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac906115ed565b60405180910390fd5b5f6001610ac061072b565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a60025f8f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050558b604051602001610b459695949392919061160b565b60405160208183030381529060405280519060200120604051602001610b6c9291906116de565b604051602081830303815290604052805190602001208585856040515f8152602001604052604051610ba19493929190611714565b6020604051602081039080840390855afa158015610bc1573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610c3457508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6a906117a1565b60405180910390fd5b8560015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610d4e9190610fe9565b60405180910390a350505050505050565b6001602052815f5260405f20602052805f5260405f205f91509150505481565b5f734381dc2ab14285160c808659aee005d51255add7905090565b5f62696969905090565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051610dd4919061185b565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001610e13959493929190611871565b60405160208183030381529060405280519060200120905090565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610e65578082015181840152602081019050610e4a565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610e8a82610e2e565b610e948185610e38565b9350610ea4818560208601610e48565b610ead81610e70565b840191505092915050565b5f6020820190508181035f830152610ed08184610e80565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610f0582610edc565b9050919050565b610f1581610efb565b8114610f1f575f80fd5b50565b5f81359050610f3081610f0c565b92915050565b5f819050919050565b610f4881610f36565b8114610f52575f80fd5b50565b5f81359050610f6381610f3f565b92915050565b5f8060408385031215610f7f57610f7e610ed8565b5b5f610f8c85828601610f22565b9250506020610f9d85828601610f55565b9150509250929050565b5f8115159050919050565b610fbb81610fa7565b82525050565b5f602082019050610fd45f830184610fb2565b92915050565b610fe381610f36565b82525050565b5f602082019050610ffc5f830184610fda565b92915050565b5f805f6060848603121561101957611018610ed8565b5b5f61102686828701610f22565b935050602061103786828701610f22565b925050604061104886828701610f55565b9150509250925092565b5f60ff82169050919050565b61106781611052565b82525050565b5f6020820190506110805f83018461105e565b92915050565b5f819050919050565b61109881611086565b82525050565b5f6020820190506110b15f83018461108f565b92915050565b5f602082840312156110cc576110cb610ed8565b5b5f6110d984828501610f22565b91505092915050565b6110eb81611052565b81146110f5575f80fd5b50565b5f81359050611106816110e2565b92915050565b61111581611086565b811461111f575f80fd5b50565b5f813590506111308161110c565b92915050565b5f805f805f805f60e0888a03121561115157611150610ed8565b5b5f61115e8a828b01610f22565b975050602061116f8a828b01610f22565b96505060406111808a828b01610f55565b95505060606111918a828b01610f55565b94505060806111a28a828b016110f8565b93505060a06111b38a828b01611122565b92505060c06111c48a828b01611122565b91505092959891949750929550565b5f80604083850312156111e9576111e8610ed8565b5b5f6111f685828601610f22565b925050602061120785828601610f22565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061125557607f821691505b60208210810361126857611267611211565b5b50919050565b5f819050815f5260205f209050919050565b5f815461128c8161123e565b6112968186610e38565b9450600182165f81146112b057600181146112c6576112f8565b60ff1983168652811515602002860193506112f8565b6112cf8561126e565b5f5b838110156112f0578154818901526001820191506020810190506112d1565b808801955050505b50505092915050565b5f6020820190508181035f8301526113198184611280565b905092915050565b5f8151905061132f81610f3f565b92915050565b5f6020828403121561134a57611349610ed8565b5b5f61135784828501611321565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61139782610f36565b91506113a283610f36565b92508282039050818111156113ba576113b9611360565b5b92915050565b6113c981610efb565b82525050565b5f6060820190506113e25f8301866113c0565b6113ef60208301856113c0565b6113fc6040830184610fda565b949350505050565b61140d81610fa7565b8114611417575f80fd5b50565b5f8151905061142881611404565b92915050565b5f6020828403121561144357611442610ed8565b5b5f6114508482850161141a565b91505092915050565b7f506f6c6172697345524332303a206661696c656420746f2073656e642062616e5f8201527f6b20746f6b656e73000000000000000000000000000000000000000000000000602082015250565b5f6114b3602883610e38565b91506114be82611459565b604082019050919050565b5f6020820190508181035f8301526114e0816114a7565b9050919050565b5f6040820190506114fa5f8301856113c0565b818103602083015261150c8184611280565b90509392505050565b7f506f6c6172697345524332303a206661696c656420746f2073656e6420746f6b5f8201527f656e730000000000000000000000000000000000000000000000000000000000602082015250565b5f61156f602383610e38565b915061157a82611515565b604082019050919050565b5f6020820190508181035f83015261159c81611563565b9050919050565b7f5045524d49545f444541444c494e455f455850495245440000000000000000005f82015250565b5f6115d7601783610e38565b91506115e2826115a3565b602082019050919050565b5f6020820190508181035f830152611604816115cb565b9050919050565b5f60c08201905061161e5f83018961108f565b61162b60208301886113c0565b61163860408301876113c0565b6116456060830186610fda565b6116526080830185610fda565b61165f60a0830184610fda565b979650505050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f6116a860028361166a565b91506116b382611674565b600282019050919050565b5f819050919050565b6116d86116d382611086565b6116be565b82525050565b5f6116e88261169c565b91506116f482856116c7565b60208201915061170482846116c7565b6020820191508190509392505050565b5f6080820190506117275f83018761108f565b611734602083018661105e565b611741604083018561108f565b61174e606083018461108f565b95945050505050565b7f494e56414c49445f5349474e45520000000000000000000000000000000000005f82015250565b5f61178b600e83610e38565b915061179682611757565b602082019050919050565b5f6020820190508181035f8301526117b88161177f565b9050919050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f81546117e78161123e565b6117f181866117bf565b9450600182165f811461180b576001811461182057611852565b60ff1983168652811515820286019350611852565b611829856117c9565b5f5b8381101561184a5781548189015260018201915060208101905061182b565b838801955050505b50505092915050565b5f61186682846117db565b915081905092915050565b5f60a0820190506118845f83018861108f565b611891602083018761108f565b61189e604083018661108f565b6118ab6060830185610fda565b6118b860808301846113c0565b969550505050505056fea2646970667358221220bf65d102daca3a2494e073ec48033e6c693ef950a4b90698081b4d554c0c068664736f6c63430008140033", + Bin: "0x60c060405234801562000010575f80fd5b506040516200208d3803806200208d833981810160405281019062000036919062000280565b805f908162000046919062000506565b5046608081815250506200005f6200006d60201b60201c565b60a081815250505062000773565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516200009f919062000692565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001620000e095949392919062000718565b60405160208183030381529060405280519060200120905090565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200015c8262000114565b810181811067ffffffffffffffff821117156200017e576200017d62000124565b5b80604052505050565b5f62000192620000fb565b9050620001a0828262000151565b919050565b5f67ffffffffffffffff821115620001c257620001c162000124565b5b620001cd8262000114565b9050602081019050919050565b5f5b83811015620001f9578082015181840152602081019050620001dc565b5f8484015250505050565b5f6200021a6200021484620001a5565b62000187565b90508281526020810184848401111562000239576200023862000110565b5b62000246848285620001da565b509392505050565b5f82601f8301126200026557620002646200010c565b5b81516200027784826020860162000204565b91505092915050565b5f6020828403121562000298576200029762000104565b5b5f82015167ffffffffffffffff811115620002b857620002b762000108565b5b620002c6848285016200024e565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200031e57607f821691505b602082108103620003345762000333620002d9565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620003987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200035b565b620003a486836200035b565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620003ee620003e8620003e284620003bc565b620003c5565b620003bc565b9050919050565b5f819050919050565b6200040983620003ce565b620004216200041882620003f5565b84845462000367565b825550505050565b5f90565b6200043762000429565b62000444818484620003fe565b505050565b5b818110156200046b576200045f5f826200042d565b6001810190506200044a565b5050565b601f821115620004ba5762000484816200033a565b6200048f846200034c565b810160208510156200049f578190505b620004b7620004ae856200034c565b83018262000449565b50505b505050565b5f82821c905092915050565b5f620004dc5f1984600802620004bf565b1980831691505092915050565b5f620004f68383620004cb565b9150826002028217905092915050565b6200051182620002cf565b67ffffffffffffffff8111156200052d576200052c62000124565b5b62000539825462000306565b620005468282856200046f565b5f60209050601f8311600181146200057c575f841562000567578287015190505b620005738582620004e9565b865550620005e2565b601f1984166200058c866200033a565b5f5b82811015620005b5578489015182556001820191506020850194506020810190506200058e565b86831015620005d55784890151620005d1601f891682620004cb565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f8154620006148162000306565b620006208186620005ea565b9450600182165f81146200063d5760018114620006535762000689565b60ff198316865281151582028601935062000689565b6200065e85620005f4565b5f5b83811015620006815781548189015260018201915060208101905062000660565b838801955050505b50505092915050565b5f6200069f828462000606565b915081905092915050565b5f819050919050565b620006be81620006aa565b82525050565b620006cf81620003bc565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200070082620006d5565b9050919050565b6200071281620006f4565b82525050565b5f60a0820190506200072d5f830188620006b3565b6200073c6020830187620006b3565b6200074b6040830186620006b3565b6200075a6060830185620006c4565b62000769608083018462000707565b9695505050505050565b60805160a0516118f8620007955f395f61076201525f61072e01526118f85ff3fe608060405234801561000f575f80fd5b50600436106100cd575f3560e01c806370a082311161008a578063a9059cbb11610064578063a9059cbb14610227578063c370b04214610257578063d505accf14610275578063dd62ed3e14610291576100cd565b806370a08231146101a95780637ecebe00146101d957806395d89b4114610209576100cd565b806306fdde03146100d1578063095ea7b3146100ef57806318160ddd1461011f57806323b872dd1461013d578063313ce5671461016d5780633644e5151461018b575b5f80fd5b6100d96102c1565b6040516100e69190610eb8565b60405180910390f35b61010960048036038101906101049190610f69565b610350565b6040516101169190610fc1565b60405180910390f35b61012761043d565b6040516101349190610fe9565b60405180910390f35b61015760048036038101906101529190611002565b6104c2565b6040516101649190610fc1565b60405180910390f35b610175610723565b604051610182919061106d565b60405180910390f35b61019361072b565b6040516101a0919061109e565b60405180910390f35b6101c360048036038101906101be91906110b7565b610787565b6040516101d09190610fe9565b60405180910390f35b6101f360048036038101906101ee91906110b7565b610810565b6040516102009190610fe9565b60405180910390f35b610211610825565b60405161021e9190610eb8565b60405180910390f35b610241600480360381019061023c9190610f69565b6108b4565b60405161024e9190610fc1565b60405180910390f35b61025f6109e7565b60405161026c9190610eb8565b60405180910390f35b61028f600480360381019061028a9190611136565b610a72565b005b6102ab60048036038101906102a691906111d3565b610d5f565b6040516102b89190610fe9565b60405180910390f35b60605f80546102cf9061123e565b80601f01602080910402602001604051908101604052809291908181526020018280546102fb9061123e565b80156103465780601f1061031d57610100808354040283529160200191610346565b820191905f5260205f20905b81548152906001019060200180831161032957829003601f168201915b5050505050905090565b5f8160015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161042b9190610fe9565b60405180910390a36001905092915050565b5f610446610d7f565b73ffffffffffffffffffffffffffffffffffffffff1663fe3b2b885f6040518263ffffffff1660e01b815260040161047e9190611301565b602060405180830381865afa158015610499573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104bd9190611335565b905090565b5f8060015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105ef578281610572919061138d565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b6105f7610d9a565b73ffffffffffffffffffffffffffffffffffffffff166393a3e3e98686866040518463ffffffff1660e01b8152600401610633939291906113cf565b6020604051808303815f875af115801561064f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610673919061142e565b6106b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a9906114c9565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161070f9190610fe9565b60405180910390a360019150509392505050565b5f6012905090565b5f7f000000000000000000000000000000000000000000000000000000000000000046146107605761075b610da4565b610782565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b5f610790610d7f565b73ffffffffffffffffffffffffffffffffffffffff166334d1fdaf835f6040518363ffffffff1660e01b81526004016107ca9291906114e7565b602060405180830381865afa1580156107e5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108099190611335565b9050919050565b6002602052805f5260405f205f915090505481565b60605f80546108339061123e565b80601f016020809104026020016040519081016040528092919081815260200182805461085f9061123e565b80156108aa5780601f10610881576101008083540402835291602001916108aa565b820191905f5260205f20905b81548152906001019060200180831161088d57829003601f168201915b5050505050905090565b5f6108bd610d9a565b73ffffffffffffffffffffffffffffffffffffffff166393a3e3e93385856040518463ffffffff1660e01b81526004016108f9939291906113cf565b6020604051808303815f875af1158015610915573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610939919061142e565b610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096f90611585565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109d59190610fe9565b60405180910390a36001905092915050565b5f80546109f39061123e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1f9061123e565b8015610a6a5780601f10610a4157610100808354040283529160200191610a6a565b820191905f5260205f20905b815481529060010190602001808311610a4d57829003601f168201915b505050505081565b42841015610ab5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac906115ed565b60405180910390fd5b5f6001610ac061072b565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a60025f8f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050558b604051602001610b459695949392919061160b565b60405160208183030381529060405280519060200120604051602001610b6c9291906116de565b604051602081830303815290604052805190602001208585856040515f8152602001604052604051610ba19493929190611714565b6020604051602081039080840390855afa158015610bc1573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610c3457508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6a906117a1565b60405180910390fd5b8560015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610d4e9190610fe9565b60405180910390a350505050505050565b6001602052815f5260405f20602052805f5260405f205f91509150505481565b5f734381dc2ab14285160c808659aee005d51255add7905090565b5f62696969905090565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051610dd4919061185b565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001610e13959493929190611871565b60405160208183030381529060405280519060200120905090565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610e65578082015181840152602081019050610e4a565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610e8a82610e2e565b610e948185610e38565b9350610ea4818560208601610e48565b610ead81610e70565b840191505092915050565b5f6020820190508181035f830152610ed08184610e80565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610f0582610edc565b9050919050565b610f1581610efb565b8114610f1f575f80fd5b50565b5f81359050610f3081610f0c565b92915050565b5f819050919050565b610f4881610f36565b8114610f52575f80fd5b50565b5f81359050610f6381610f3f565b92915050565b5f8060408385031215610f7f57610f7e610ed8565b5b5f610f8c85828601610f22565b9250506020610f9d85828601610f55565b9150509250929050565b5f8115159050919050565b610fbb81610fa7565b82525050565b5f602082019050610fd45f830184610fb2565b92915050565b610fe381610f36565b82525050565b5f602082019050610ffc5f830184610fda565b92915050565b5f805f6060848603121561101957611018610ed8565b5b5f61102686828701610f22565b935050602061103786828701610f22565b925050604061104886828701610f55565b9150509250925092565b5f60ff82169050919050565b61106781611052565b82525050565b5f6020820190506110805f83018461105e565b92915050565b5f819050919050565b61109881611086565b82525050565b5f6020820190506110b15f83018461108f565b92915050565b5f602082840312156110cc576110cb610ed8565b5b5f6110d984828501610f22565b91505092915050565b6110eb81611052565b81146110f5575f80fd5b50565b5f81359050611106816110e2565b92915050565b61111581611086565b811461111f575f80fd5b50565b5f813590506111308161110c565b92915050565b5f805f805f805f60e0888a03121561115157611150610ed8565b5b5f61115e8a828b01610f22565b975050602061116f8a828b01610f22565b96505060406111808a828b01610f55565b95505060606111918a828b01610f55565b94505060806111a28a828b016110f8565b93505060a06111b38a828b01611122565b92505060c06111c48a828b01611122565b91505092959891949750929550565b5f80604083850312156111e9576111e8610ed8565b5b5f6111f685828601610f22565b925050602061120785828601610f22565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061125557607f821691505b60208210810361126857611267611211565b5b50919050565b5f819050815f5260205f209050919050565b5f815461128c8161123e565b6112968186610e38565b9450600182165f81146112b057600181146112c6576112f8565b60ff1983168652811515602002860193506112f8565b6112cf8561126e565b5f5b838110156112f0578154818901526001820191506020810190506112d1565b808801955050505b50505092915050565b5f6020820190508181035f8301526113198184611280565b905092915050565b5f8151905061132f81610f3f565b92915050565b5f6020828403121561134a57611349610ed8565b5b5f61135784828501611321565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61139782610f36565b91506113a283610f36565b92508282039050818111156113ba576113b9611360565b5b92915050565b6113c981610efb565b82525050565b5f6060820190506113e25f8301866113c0565b6113ef60208301856113c0565b6113fc6040830184610fda565b949350505050565b61140d81610fa7565b8114611417575f80fd5b50565b5f8151905061142881611404565b92915050565b5f6020828403121561144357611442610ed8565b5b5f6114508482850161141a565b91505092915050565b7f506f6c6172697345524332303a206661696c656420746f2073656e642062616e5f8201527f6b20746f6b656e73000000000000000000000000000000000000000000000000602082015250565b5f6114b3602883610e38565b91506114be82611459565b604082019050919050565b5f6020820190508181035f8301526114e0816114a7565b9050919050565b5f6040820190506114fa5f8301856113c0565b818103602083015261150c8184611280565b90509392505050565b7f506f6c6172697345524332303a206661696c656420746f2073656e6420746f6b5f8201527f656e730000000000000000000000000000000000000000000000000000000000602082015250565b5f61156f602383610e38565b915061157a82611515565b604082019050919050565b5f6020820190508181035f83015261159c81611563565b9050919050565b7f5045524d49545f444541444c494e455f455850495245440000000000000000005f82015250565b5f6115d7601783610e38565b91506115e2826115a3565b602082019050919050565b5f6020820190508181035f830152611604816115cb565b9050919050565b5f60c08201905061161e5f83018961108f565b61162b60208301886113c0565b61163860408301876113c0565b6116456060830186610fda565b6116526080830185610fda565b61165f60a0830184610fda565b979650505050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f6116a860028361166a565b91506116b382611674565b600282019050919050565b5f819050919050565b6116d86116d382611086565b6116be565b82525050565b5f6116e88261169c565b91506116f482856116c7565b60208201915061170482846116c7565b6020820191508190509392505050565b5f6080820190506117275f83018761108f565b611734602083018661105e565b611741604083018561108f565b61174e606083018461108f565b95945050505050565b7f494e56414c49445f5349474e45520000000000000000000000000000000000005f82015250565b5f61178b600e83610e38565b915061179682611757565b602082019050919050565b5f6020820190508181035f8301526117b88161177f565b9050919050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f81546117e78161123e565b6117f181866117bf565b9450600182165f811461180b576001811461182057611852565b60ff1983168652811515820286019350611852565b611829856117c9565b5f5b8381101561184a5781548189015260018201915060208101905061182b565b838801955050505b50505092915050565b5f61186682846117db565b915081905092915050565b5f60a0820190506118845f83018861108f565b611891602083018761108f565b61189e604083018661108f565b6118ab6060830185610fda565b6118b860808301846113c0565b969550505050505056fea26469706673582212208672d9c3bfcd8040ee7f04ff249a32239faea167fbe0fe83dc7b66a8fd8b38bd64736f6c63430008140033", } // PolarisERC20ABI is the input ABI used to generate the binding from. diff --git a/contracts/bindings/testing/consume_gas.abigen.go b/contracts/bindings/testing/consume_gas.abigen.go index e6a63d51a..a9094d2e4 100644 --- a/contracts/bindings/testing/consume_gas.abigen.go +++ b/contracts/bindings/testing/consume_gas.abigen.go @@ -32,7 +32,7 @@ var ( // ConsumeGasMetaData contains all meta data concerning the ConsumeGas contract. var ConsumeGasMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"name\":\"GasConsumed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"targetGas\",\"type\":\"uint256\"}],\"name\":\"consumeGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x608060405234801561000f575f80fd5b506101cb8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063a329e8de1461002d575b5f80fd5b610047600480360381019061004291906100e2565b610049565b005b5f5a90505b818161005a919061013a565b5a1161004e575f5a8261006d919061013a565b90507f1a2dc18f5a2dabdf3809a83ec652290b81d97d915bf5561908090bad91deffc48160405161009e919061017c565b60405180910390a1505050565b5f80fd5b5f819050919050565b6100c1816100af565b81146100cb575f80fd5b50565b5f813590506100dc816100b8565b92915050565b5f602082840312156100f7576100f66100ab565b5b5f610104848285016100ce565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610144826100af565b915061014f836100af565b92508282039050818111156101675761016661010d565b5b92915050565b610176816100af565b82525050565b5f60208201905061018f5f83018461016d565b9291505056fea2646970667358221220cf53a89b858bcd89a9f376c9fc26e35242e2b2c6d3caa86630baa63414ba767d64736f6c63430008140033", + Bin: "0x608060405234801561000f575f80fd5b506101cb8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063a329e8de1461002d575b5f80fd5b610047600480360381019061004291906100e2565b610049565b005b5f5a90505b818161005a919061013a565b5a1161004e575f5a8261006d919061013a565b90507f1a2dc18f5a2dabdf3809a83ec652290b81d97d915bf5561908090bad91deffc48160405161009e919061017c565b60405180910390a1505050565b5f80fd5b5f819050919050565b6100c1816100af565b81146100cb575f80fd5b50565b5f813590506100dc816100b8565b92915050565b5f602082840312156100f7576100f66100ab565b5b5f610104848285016100ce565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610144826100af565b915061014f836100af565b92508282039050818111156101675761016661010d565b5b92915050565b610176816100af565b82525050565b5f60208201905061018f5f83018461016d565b9291505056fea2646970667358221220e4c37c223937988a35267edfbba61b52336e1dcb9878edd519edc3eb1881ec2a64736f6c63430008140033", } // ConsumeGasABI is the input ABI used to generate the binding from. diff --git a/contracts/bindings/testing/distribution_testing_helper.abigen.go b/contracts/bindings/testing/distribution_testing_helper.abigen.go index d79ed0aec..2398414bd 100644 --- a/contracts/bindings/testing/distribution_testing_helper.abigen.go +++ b/contracts/bindings/testing/distribution_testing_helper.abigen.go @@ -32,7 +32,7 @@ var ( // DistributionWrapperMetaData contains all meta data concerning the DistributionWrapper contract. var DistributionWrapperMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_distributionprecompile\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingprecompile\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_validator\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"distribution\",\"outputs\":[{\"internalType\":\"contractIDistributionModule\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWithdrawEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_withdrawAddress\",\"type\":\"address\"}],\"name\":\"setWithdrawAddress\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"staking\",\"outputs\":[{\"internalType\":\"contractIStakingModule\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_delegatorAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_validatorAddress\",\"type\":\"address\"}],\"name\":\"withdrawRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x608060405234801561000f575f80fd5b50604051610bf8380380610bf8833981810160405281019061003191906101b2565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561009757505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b156100ce576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506101f0565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61018182610158565b9050919050565b61019181610177565b811461019b575f80fd5b50565b5f815190506101ac81610188565b92915050565b5f80604083850312156101c8576101c7610154565b5b5f6101d58582860161019e565b92505060206101e68582860161019e565b9150509250929050565b6109fb806101fd5f395ff3fe608060405260043610610054575f3560e01c806339cc4c86146100585780633ab1a494146100825780634cf088d9146100be5780635c19a95c146100e85780635ee58efc14610104578063e20981ca1461012e575b5f80fd5b348015610063575f80fd5b5061006c610156565b604051610079919061042e565b60405180910390f35b34801561008d575f80fd5b506100a860048036038101906100a391906104b2565b6101e9565b6040516100b5919061042e565b60405180910390f35b3480156100c9575f80fd5b506100d261028a565b6040516100df9190610538565b60405180910390f35b61010260048036038101906100fd91906104b2565b6102af565b005b34801561010f575f80fd5b5061011861034f565b6040516101259190610571565b60405180910390f35b348015610139575f80fd5b50610154600480360381019061014f919061058a565b610372565b005b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166339cc4c866040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101e491906105f2565b905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ab1a494836040518263ffffffff1660e01b8152600401610243919061062c565b6020604051808303815f875af115801561025f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061028391906105f2565b9050919050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663026e402b82346040518363ffffffff1660e01b815260040161030b92919061065d565b6020604051808303815f875af1158015610327573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061034b91906105f2565b5050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663562c67a483836040518363ffffffff1660e01b81526004016103cc929190610684565b5f604051808303815f875af11580156103e7573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061040f919061097e565b505050565b5f8115159050919050565b61042881610414565b82525050565b5f6020820190506104415f83018461041f565b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61048182610458565b9050919050565b61049181610477565b811461049b575f80fd5b50565b5f813590506104ac81610488565b92915050565b5f602082840312156104c7576104c6610450565b5b5f6104d48482850161049e565b91505092915050565b5f819050919050565b5f6105006104fb6104f684610458565b6104dd565b610458565b9050919050565b5f610511826104e6565b9050919050565b5f61052282610507565b9050919050565b61053281610518565b82525050565b5f60208201905061054b5f830184610529565b92915050565b5f61055b82610507565b9050919050565b61056b81610551565b82525050565b5f6020820190506105845f830184610562565b92915050565b5f80604083850312156105a05761059f610450565b5b5f6105ad8582860161049e565b92505060206105be8582860161049e565b9150509250929050565b6105d181610414565b81146105db575f80fd5b50565b5f815190506105ec816105c8565b92915050565b5f6020828403121561060757610606610450565b5b5f610614848285016105de565b91505092915050565b61062681610477565b82525050565b5f60208201905061063f5f83018461061d565b92915050565b5f819050919050565b61065781610645565b82525050565b5f6040820190506106705f83018561061d565b61067d602083018461064e565b9392505050565b5f6040820190506106975f83018561061d565b6106a4602083018461061d565b9392505050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6106f5826106af565b810181811067ffffffffffffffff82111715610714576107136106bf565b5b80604052505050565b5f610726610447565b905061073282826106ec565b919050565b5f67ffffffffffffffff821115610751576107506106bf565b5b602082029050602081019050919050565b5f80fd5b5f80fd5b5f80fd5b61077781610645565b8114610781575f80fd5b50565b5f815190506107928161076e565b92915050565b5f80fd5b5f67ffffffffffffffff8211156107b6576107b56106bf565b5b6107bf826106af565b9050602081019050919050565b5f5b838110156107e95780820151818401526020810190506107ce565b5f8484015250505050565b5f6108066108018461079c565b61071d565b90508281526020810184848401111561082257610821610798565b5b61082d8482856107cc565b509392505050565b5f82601f830112610849576108486106ab565b5b81516108598482602086016107f4565b91505092915050565b5f6040828403121561087757610876610766565b5b610881604061071d565b90505f61089084828501610784565b5f83015250602082015167ffffffffffffffff8111156108b3576108b261076a565b5b6108bf84828501610835565b60208301525092915050565b5f6108dd6108d884610737565b61071d565b90508083825260208201905060208402830185811115610900576108ff610762565b5b835b8181101561094757805167ffffffffffffffff811115610925576109246106ab565b5b8086016109328982610862565b85526020850194505050602081019050610902565b5050509392505050565b5f82601f830112610965576109646106ab565b5b81516109758482602086016108cb565b91505092915050565b5f6020828403121561099357610992610450565b5b5f82015167ffffffffffffffff8111156109b0576109af610454565b5b6109bc84828501610951565b9150509291505056fea264697066735822122038febdc354c98895a4e22ec9a3ff4bf7a6c976b259f568ad0629fba895e46deb64736f6c63430008140033", + Bin: "0x608060405234801561000f575f80fd5b50604051610bf8380380610bf8833981810160405281019061003191906101b2565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561009757505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b156100ce576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506101f0565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61018182610158565b9050919050565b61019181610177565b811461019b575f80fd5b50565b5f815190506101ac81610188565b92915050565b5f80604083850312156101c8576101c7610154565b5b5f6101d58582860161019e565b92505060206101e68582860161019e565b9150509250929050565b6109fb806101fd5f395ff3fe608060405260043610610054575f3560e01c806339cc4c86146100585780633ab1a494146100825780634cf088d9146100be5780635c19a95c146100e85780635ee58efc14610104578063e20981ca1461012e575b5f80fd5b348015610063575f80fd5b5061006c610156565b604051610079919061042e565b60405180910390f35b34801561008d575f80fd5b506100a860048036038101906100a391906104b2565b6101e9565b6040516100b5919061042e565b60405180910390f35b3480156100c9575f80fd5b506100d261028a565b6040516100df9190610538565b60405180910390f35b61010260048036038101906100fd91906104b2565b6102af565b005b34801561010f575f80fd5b5061011861034f565b6040516101259190610571565b60405180910390f35b348015610139575f80fd5b50610154600480360381019061014f919061058a565b610372565b005b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166339cc4c866040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101e491906105f2565b905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ab1a494836040518263ffffffff1660e01b8152600401610243919061062c565b6020604051808303815f875af115801561025f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061028391906105f2565b9050919050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663026e402b82346040518363ffffffff1660e01b815260040161030b92919061065d565b6020604051808303815f875af1158015610327573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061034b91906105f2565b5050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663562c67a483836040518363ffffffff1660e01b81526004016103cc929190610684565b5f604051808303815f875af11580156103e7573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061040f919061097e565b505050565b5f8115159050919050565b61042881610414565b82525050565b5f6020820190506104415f83018461041f565b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61048182610458565b9050919050565b61049181610477565b811461049b575f80fd5b50565b5f813590506104ac81610488565b92915050565b5f602082840312156104c7576104c6610450565b5b5f6104d48482850161049e565b91505092915050565b5f819050919050565b5f6105006104fb6104f684610458565b6104dd565b610458565b9050919050565b5f610511826104e6565b9050919050565b5f61052282610507565b9050919050565b61053281610518565b82525050565b5f60208201905061054b5f830184610529565b92915050565b5f61055b82610507565b9050919050565b61056b81610551565b82525050565b5f6020820190506105845f830184610562565b92915050565b5f80604083850312156105a05761059f610450565b5b5f6105ad8582860161049e565b92505060206105be8582860161049e565b9150509250929050565b6105d181610414565b81146105db575f80fd5b50565b5f815190506105ec816105c8565b92915050565b5f6020828403121561060757610606610450565b5b5f610614848285016105de565b91505092915050565b61062681610477565b82525050565b5f60208201905061063f5f83018461061d565b92915050565b5f819050919050565b61065781610645565b82525050565b5f6040820190506106705f83018561061d565b61067d602083018461064e565b9392505050565b5f6040820190506106975f83018561061d565b6106a4602083018461061d565b9392505050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6106f5826106af565b810181811067ffffffffffffffff82111715610714576107136106bf565b5b80604052505050565b5f610726610447565b905061073282826106ec565b919050565b5f67ffffffffffffffff821115610751576107506106bf565b5b602082029050602081019050919050565b5f80fd5b5f80fd5b5f80fd5b61077781610645565b8114610781575f80fd5b50565b5f815190506107928161076e565b92915050565b5f80fd5b5f67ffffffffffffffff8211156107b6576107b56106bf565b5b6107bf826106af565b9050602081019050919050565b5f5b838110156107e95780820151818401526020810190506107ce565b5f8484015250505050565b5f6108066108018461079c565b61071d565b90508281526020810184848401111561082257610821610798565b5b61082d8482856107cc565b509392505050565b5f82601f830112610849576108486106ab565b5b81516108598482602086016107f4565b91505092915050565b5f6040828403121561087757610876610766565b5b610881604061071d565b90505f61089084828501610784565b5f83015250602082015167ffffffffffffffff8111156108b3576108b261076a565b5b6108bf84828501610835565b60208301525092915050565b5f6108dd6108d884610737565b61071d565b90508083825260208201905060208402830185811115610900576108ff610762565b5b835b8181101561094757805167ffffffffffffffff811115610925576109246106ab565b5b8086016109328982610862565b85526020850194505050602081019050610902565b5050509392505050565b5f82601f830112610965576109646106ab565b5b81516109758482602086016108cb565b91505092915050565b5f6020828403121561099357610992610450565b5b5f82015167ffffffffffffffff8111156109b0576109af610454565b5b6109bc84828501610951565b9150509291505056fea264697066735822122045bbea6e98fc1ba93e0a880ee02bd6536ca19e96c5b107b8f98aebb35abeee2e64736f6c63430008140033", } // DistributionWrapperABI is the input ABI used to generate the binding from. diff --git a/contracts/bindings/testing/governance/governance_wrapper.abigen.go b/contracts/bindings/testing/governance/governance_wrapper.abigen.go index 5bf751bd9..b3c0c1c35 100644 --- a/contracts/bindings/testing/governance/governance_wrapper.abigen.go +++ b/contracts/bindings/testing/governance/governance_wrapper.abigen.go @@ -63,7 +63,7 @@ type IGovernanceModuleTallyResult struct { // GovernanceWrapperMetaData contains all meta data concerning the GovernanceWrapper contract. var GovernanceWrapperMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_governanceModule\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"bank\",\"outputs\":[{\"internalType\":\"contractIBankModule\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"proposalId\",\"type\":\"uint64\"}],\"name\":\"cancelProposal\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"proposalId\",\"type\":\"uint64\"}],\"name\":\"getProposal\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"},{\"internalType\":\"int32\",\"name\":\"status\",\"type\":\"int32\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"yesCount\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"abstainCount\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"noCount\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"noWithVetoCount\",\"type\":\"string\"}],\"internalType\":\"structIGovernanceModule.TallyResult\",\"name\":\"finalTallyResult\",\"type\":\"tuple\"},{\"internalType\":\"uint64\",\"name\":\"submitTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"depositEndTime\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"denom\",\"type\":\"string\"}],\"internalType\":\"structCosmos.Coin[]\",\"name\":\"totalDeposit\",\"type\":\"tuple[]\"},{\"internalType\":\"uint64\",\"name\":\"votingStartTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"votingEndTime\",\"type\":\"uint64\"},{\"internalType\":\"string\",\"name\":\"metadata\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"title\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"summary\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"proposer\",\"type\":\"string\"}],\"internalType\":\"structIGovernanceModule.Proposal\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int32\",\"name\":\"proposalStatus\",\"type\":\"int32\"}],\"name\":\"getProposals\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"},{\"internalType\":\"int32\",\"name\":\"status\",\"type\":\"int32\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"yesCount\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"abstainCount\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"noCount\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"noWithVetoCount\",\"type\":\"string\"}],\"internalType\":\"structIGovernanceModule.TallyResult\",\"name\":\"finalTallyResult\",\"type\":\"tuple\"},{\"internalType\":\"uint64\",\"name\":\"submitTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"depositEndTime\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"denom\",\"type\":\"string\"}],\"internalType\":\"structCosmos.Coin[]\",\"name\":\"totalDeposit\",\"type\":\"tuple[]\"},{\"internalType\":\"uint64\",\"name\":\"votingStartTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"votingEndTime\",\"type\":\"uint64\"},{\"internalType\":\"string\",\"name\":\"metadata\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"title\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"summary\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"proposer\",\"type\":\"string\"}],\"internalType\":\"structIGovernanceModule.Proposal[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"governanceModule\",\"outputs\":[{\"internalType\":\"contractIGovernanceModule\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"proposal\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"denom\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"submit\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"proposalId\",\"type\":\"uint64\"},{\"internalType\":\"int32\",\"name\":\"option\",\"type\":\"int32\"},{\"internalType\":\"string\",\"name\":\"metadata\",\"type\":\"string\"}],\"name\":\"vote\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]", - Bin: "0x60a0604052734381dc2ab14285160c808659aee005d51255add773ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1681525034801562000057575f80fd5b5060405162001ec038038062001ec083398181016040528101906200007d91906200018e565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000e3576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050620001be565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000158826200012d565b9050919050565b6200016a816200014c565b811462000175575f80fd5b50565b5f8151905062000188816200015f565b92915050565b5f60208284031215620001a657620001a562000129565b5b5f620001b58482850162000178565b91505092915050565b608051611ce9620001d75f395f6104e90152611ce95ff3fe608060405260043610610073575f3560e01c8063566fbd001161004d578063566fbd001461012157806376cdb03b14610151578063b5828df21461017b578063f1610a28146101b75761007a565b806319f7a0fb1461007e5780632b0a7032146100ba57806337a9a59e146100e45761007a565b3661007a57005b5f80fd5b348015610089575f80fd5b506100a4600480360381019061009f919061094a565b6101f3565b6040516100b191906109d0565b60405180910390f35b3480156100c5575f80fd5b506100ce61029a565b6040516100db9190610a63565b60405180910390f35b3480156100ef575f80fd5b5061010a60048036038101906101059190610a7c565b6102bd565b604051610118929190610ab6565b60405180910390f35b61013b60048036038101906101369190610bc2565b61035f565b6040516101489190610c53565b60405180910390f35b34801561015c575f80fd5b506101656104e7565b6040516101729190610c8c565b60405180910390f35b348015610186575f80fd5b506101a1600480360381019061019c9190610ca5565b61050b565b6040516101ae919061112e565b60405180910390f35b3480156101c2575f80fd5b506101dd60048036038101906101d89190610a7c565b6105c0565b6040516101ea919061128e565b60405180910390f35b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166319f7a0fb8585856040518463ffffffff1660e01b815260040161025193929190611305565b6020604051808303815f875af115801561026d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610291919061136b565b90509392505050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166337a9a59e846040518263ffffffff1660e01b81526004016103179190610c53565b60408051808303815f875af1158015610332573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061035691906113aa565b91509150915091565b5f80600167ffffffffffffffff81111561037c5761037b610826565b5b6040519080825280602002602001820160405280156103b557816020015b6103a2610669565b81526020019060019003908161039a5790505b50905084848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050815f8151811061040f5761040e6113e8565b5b60200260200101516020018190525082815f81518110610432576104316113e8565b5b60200260200101515f0181815250505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d238313688886040518363ffffffff1660e01b815260040161049b929190611451565b6020604051808303815f875af11580156104b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104db9190611473565b91505095945050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060610515610682565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663917c9d9285846040518363ffffffff1660e01b8152600401610571929190611520565b5f60405180830381865afa15801561058b573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906105b39190611bf6565b5090508092505050919050565b6105c86106c5565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f1610a28836040518263ffffffff1660e01b81526004016106209190610c53565b5f60405180830381865afa15801561063a573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906106629190611c6c565b9050919050565b60405180604001604052805f8152602001606081525090565b6040518060a00160405280606081526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff1681526020015f151581526020015f151581525090565b604051806101a001604052805f67ffffffffffffffff168152602001606081526020015f60030b81526020016106f9610762565b81526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff168152602001606081526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff168152602001606081526020016060815260200160608152602001606081525090565b6040518060800160405280606081526020016060815260200160608152602001606081525090565b5f604051905090565b5f80fd5b5f80fd5b5f67ffffffffffffffff82169050919050565b6107b78161079b565b81146107c1575f80fd5b50565b5f813590506107d2816107ae565b92915050565b5f8160030b9050919050565b6107ed816107d8565b81146107f7575f80fd5b50565b5f81359050610808816107e4565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61085c82610816565b810181811067ffffffffffffffff8211171561087b5761087a610826565b5b80604052505050565b5f61088d61078a565b90506108998282610853565b919050565b5f67ffffffffffffffff8211156108b8576108b7610826565b5b6108c182610816565b9050602081019050919050565b828183375f83830152505050565b5f6108ee6108e98461089e565b610884565b90508281526020810184848401111561090a57610909610812565b5b6109158482856108ce565b509392505050565b5f82601f8301126109315761093061080e565b5b81356109418482602086016108dc565b91505092915050565b5f805f6060848603121561096157610960610793565b5b5f61096e868287016107c4565b935050602061097f868287016107fa565b925050604084013567ffffffffffffffff8111156109a05761099f610797565b5b6109ac8682870161091d565b9150509250925092565b5f8115159050919050565b6109ca816109b6565b82525050565b5f6020820190506109e35f8301846109c1565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f610a2b610a26610a21846109e9565b610a08565b6109e9565b9050919050565b5f610a3c82610a11565b9050919050565b5f610a4d82610a32565b9050919050565b610a5d81610a43565b82525050565b5f602082019050610a765f830184610a54565b92915050565b5f60208284031215610a9157610a90610793565b5b5f610a9e848285016107c4565b91505092915050565b610ab08161079b565b82525050565b5f604082019050610ac95f830185610aa7565b610ad66020830184610aa7565b9392505050565b5f80fd5b5f80fd5b5f8083601f840112610afa57610af961080e565b5b8235905067ffffffffffffffff811115610b1757610b16610add565b5b602083019150836001820283011115610b3357610b32610ae1565b5b9250929050565b5f8083601f840112610b4f57610b4e61080e565b5b8235905067ffffffffffffffff811115610b6c57610b6b610add565b5b602083019150836001820283011115610b8857610b87610ae1565b5b9250929050565b5f819050919050565b610ba181610b8f565b8114610bab575f80fd5b50565b5f81359050610bbc81610b98565b92915050565b5f805f805f60608688031215610bdb57610bda610793565b5b5f86013567ffffffffffffffff811115610bf857610bf7610797565b5b610c0488828901610ae5565b9550955050602086013567ffffffffffffffff811115610c2757610c26610797565b5b610c3388828901610b3a565b93509350506040610c4688828901610bae565b9150509295509295909350565b5f602082019050610c665f830184610aa7565b92915050565b5f610c7682610a32565b9050919050565b610c8681610c6c565b82525050565b5f602082019050610c9f5f830184610c7d565b92915050565b5f60208284031215610cba57610cb9610793565b5b5f610cc7848285016107fa565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610d028161079b565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610d3f578082015181840152602081019050610d24565b5f8484015250505050565b5f610d5482610d08565b610d5e8185610d12565b9350610d6e818560208601610d22565b610d7781610816565b840191505092915050565b610d8b816107d8565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f610db582610d91565b610dbf8185610d9b565b9350610dcf818560208601610d22565b610dd881610816565b840191505092915050565b5f608083015f8301518482035f860152610dfd8282610dab565b91505060208301518482036020860152610e178282610dab565b91505060408301518482036040860152610e318282610dab565b91505060608301518482036060860152610e4b8282610dab565b9150508091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610e8a81610b8f565b82525050565b5f604083015f830151610ea55f860182610e81565b5060208301518482036020860152610ebd8282610dab565b9150508091505092915050565b5f610ed58383610e90565b905092915050565b5f602082019050919050565b5f610ef382610e58565b610efd8185610e62565b935083602082028501610f0f85610e72565b805f5b85811015610f4a5784840389528151610f2b8582610eca565b9450610f3683610edd565b925060208a01995050600181019050610f12565b50829750879550505050505092915050565b5f6101a083015f830151610f725f860182610cf9565b5060208301518482036020860152610f8a8282610d4a565b9150506040830151610f9f6040860182610d82565b5060608301518482036060860152610fb78282610de3565b9150506080830151610fcc6080860182610cf9565b5060a0830151610fdf60a0860182610cf9565b5060c083015184820360c0860152610ff78282610ee9565b91505060e083015161100c60e0860182610cf9565b50610100830151611021610100860182610cf9565b5061012083015184820361012086015261103b8282610dab565b9150506101408301518482036101408601526110578282610dab565b9150506101608301518482036101608601526110738282610dab565b91505061018083015184820361018086015261108f8282610dab565b9150508091505092915050565b5f6110a78383610f5c565b905092915050565b5f602082019050919050565b5f6110c582610cd0565b6110cf8185610cda565b9350836020820285016110e185610cea565b805f5b8581101561111c57848403895281516110fd858261109c565b9450611108836110af565b925060208a019950506001810190506110e4565b50829750879550505050505092915050565b5f6020820190508181035f83015261114681846110bb565b905092915050565b5f6101a083015f8301516111645f860182610cf9565b506020830151848203602086015261117c8282610d4a565b91505060408301516111916040860182610d82565b50606083015184820360608601526111a98282610de3565b91505060808301516111be6080860182610cf9565b5060a08301516111d160a0860182610cf9565b5060c083015184820360c08601526111e98282610ee9565b91505060e08301516111fe60e0860182610cf9565b50610100830151611213610100860182610cf9565b5061012083015184820361012086015261122d8282610dab565b9150506101408301518482036101408601526112498282610dab565b9150506101608301518482036101608601526112658282610dab565b9150506101808301518482036101808601526112818282610dab565b9150508091505092915050565b5f6020820190508181035f8301526112a6818461114e565b905092915050565b6112b7816107d8565b82525050565b5f82825260208201905092915050565b5f6112d782610d91565b6112e181856112bd565b93506112f1818560208601610d22565b6112fa81610816565b840191505092915050565b5f6060820190506113185f830186610aa7565b61132560208301856112ae565b818103604083015261133781846112cd565b9050949350505050565b61134a816109b6565b8114611354575f80fd5b50565b5f8151905061136581611341565b92915050565b5f602082840312156113805761137f610793565b5b5f61138d84828501611357565b91505092915050565b5f815190506113a4816107ae565b92915050565b5f80604083850312156113c0576113bf610793565b5b5f6113cd85828601611396565b92505060206113de85828601611396565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82825260208201905092915050565b5f6114308385611415565b935061143d8385846108ce565b61144683610816565b840190509392505050565b5f6020820190508181035f83015261146a818486611425565b90509392505050565b5f6020828403121561148857611487610793565b5b5f61149584828501611396565b91505092915050565b6114a7816109b6565b82525050565b5f60a083015f8301518482035f8601526114c78282610dab565b91505060208301516114dc6020860182610cf9565b5060408301516114ef6040860182610cf9565b506060830151611502606086018261149e565b506080830151611515608086018261149e565b508091505092915050565b5f6040820190506115335f8301856112ae565b818103602083015261154581846114ad565b90509392505050565b5f67ffffffffffffffff82111561156857611567610826565b5b602082029050602081019050919050565b5f80fd5b5f80fd5b5f67ffffffffffffffff82111561159b5761159a610826565b5b6115a482610816565b9050602081019050919050565b5f6115c36115be84611581565b610884565b9050828152602081018484840111156115df576115de610812565b5b6115ea848285610d22565b509392505050565b5f82601f8301126116065761160561080e565b5b81516116168482602086016115b1565b91505092915050565b5f8151905061162d816107e4565b92915050565b5f6116456116408461089e565b610884565b90508281526020810184848401111561166157611660610812565b5b61166c848285610d22565b509392505050565b5f82601f8301126116885761168761080e565b5b8151611698848260208601611633565b91505092915050565b5f608082840312156116b6576116b5611579565b5b6116c06080610884565b90505f82015167ffffffffffffffff8111156116df576116de61157d565b5b6116eb84828501611674565b5f83015250602082015167ffffffffffffffff81111561170e5761170d61157d565b5b61171a84828501611674565b602083015250604082015167ffffffffffffffff81111561173e5761173d61157d565b5b61174a84828501611674565b604083015250606082015167ffffffffffffffff81111561176e5761176d61157d565b5b61177a84828501611674565b60608301525092915050565b5f67ffffffffffffffff8211156117a05761179f610826565b5b602082029050602081019050919050565b5f815190506117bf81610b98565b92915050565b5f604082840312156117da576117d9611579565b5b6117e46040610884565b90505f6117f3848285016117b1565b5f83015250602082015167ffffffffffffffff8111156118165761181561157d565b5b61182284828501611674565b60208301525092915050565b5f61184061183b84611786565b610884565b9050808382526020820190506020840283018581111561186357611862610ae1565b5b835b818110156118aa57805167ffffffffffffffff8111156118885761188761080e565b5b80860161189589826117c5565b85526020850194505050602081019050611865565b5050509392505050565b5f82601f8301126118c8576118c761080e565b5b81516118d884826020860161182e565b91505092915050565b5f6101a082840312156118f7576118f6611579565b5b6119026101a0610884565b90505f61191184828501611396565b5f83015250602082015167ffffffffffffffff8111156119345761193361157d565b5b611940848285016115f2565b60208301525060406119548482850161161f565b604083015250606082015167ffffffffffffffff8111156119785761197761157d565b5b611984848285016116a1565b606083015250608061199884828501611396565b60808301525060a06119ac84828501611396565b60a08301525060c082015167ffffffffffffffff8111156119d0576119cf61157d565b5b6119dc848285016118b4565b60c08301525060e06119f084828501611396565b60e083015250610100611a0584828501611396565b6101008301525061012082015167ffffffffffffffff811115611a2b57611a2a61157d565b5b611a3784828501611674565b6101208301525061014082015167ffffffffffffffff811115611a5d57611a5c61157d565b5b611a6984828501611674565b6101408301525061016082015167ffffffffffffffff811115611a8f57611a8e61157d565b5b611a9b84828501611674565b6101608301525061018082015167ffffffffffffffff811115611ac157611ac061157d565b5b611acd84828501611674565b6101808301525092915050565b5f611aec611ae78461154e565b610884565b90508083825260208201905060208402830185811115611b0f57611b0e610ae1565b5b835b81811015611b5657805167ffffffffffffffff811115611b3457611b3361080e565b5b808601611b4189826118e1565b85526020850194505050602081019050611b11565b5050509392505050565b5f82601f830112611b7457611b7361080e565b5b8151611b84848260208601611ada565b91505092915050565b5f60408284031215611ba257611ba1611579565b5b611bac6040610884565b90505f82015167ffffffffffffffff811115611bcb57611bca61157d565b5b611bd784828501611674565b5f830152506020611bea84828501611396565b60208301525092915050565b5f8060408385031215611c0c57611c0b610793565b5b5f83015167ffffffffffffffff811115611c2957611c28610797565b5b611c3585828601611b60565b925050602083015167ffffffffffffffff811115611c5657611c55610797565b5b611c6285828601611b8d565b9150509250929050565b5f60208284031215611c8157611c80610793565b5b5f82015167ffffffffffffffff811115611c9e57611c9d610797565b5b611caa848285016118e1565b9150509291505056fea264697066735822122060367e47b7b7bc63876606df11c81e0683933d9646fd4e3a8445a1b50593651b64736f6c63430008140033", + Bin: "0x60a0604052734381dc2ab14285160c808659aee005d51255add773ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1681525034801562000057575f80fd5b5060405162001ec038038062001ec083398181016040528101906200007d91906200018e565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000e3576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050620001be565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000158826200012d565b9050919050565b6200016a816200014c565b811462000175575f80fd5b50565b5f8151905062000188816200015f565b92915050565b5f60208284031215620001a657620001a562000129565b5b5f620001b58482850162000178565b91505092915050565b608051611ce9620001d75f395f6104e90152611ce95ff3fe608060405260043610610073575f3560e01c8063566fbd001161004d578063566fbd001461012157806376cdb03b14610151578063b5828df21461017b578063f1610a28146101b75761007a565b806319f7a0fb1461007e5780632b0a7032146100ba57806337a9a59e146100e45761007a565b3661007a57005b5f80fd5b348015610089575f80fd5b506100a4600480360381019061009f919061094a565b6101f3565b6040516100b191906109d0565b60405180910390f35b3480156100c5575f80fd5b506100ce61029a565b6040516100db9190610a63565b60405180910390f35b3480156100ef575f80fd5b5061010a60048036038101906101059190610a7c565b6102bd565b604051610118929190610ab6565b60405180910390f35b61013b60048036038101906101369190610bc2565b61035f565b6040516101489190610c53565b60405180910390f35b34801561015c575f80fd5b506101656104e7565b6040516101729190610c8c565b60405180910390f35b348015610186575f80fd5b506101a1600480360381019061019c9190610ca5565b61050b565b6040516101ae919061112e565b60405180910390f35b3480156101c2575f80fd5b506101dd60048036038101906101d89190610a7c565b6105c0565b6040516101ea919061128e565b60405180910390f35b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166319f7a0fb8585856040518463ffffffff1660e01b815260040161025193929190611305565b6020604051808303815f875af115801561026d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610291919061136b565b90509392505050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166337a9a59e846040518263ffffffff1660e01b81526004016103179190610c53565b60408051808303815f875af1158015610332573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061035691906113aa565b91509150915091565b5f80600167ffffffffffffffff81111561037c5761037b610826565b5b6040519080825280602002602001820160405280156103b557816020015b6103a2610669565b81526020019060019003908161039a5790505b50905084848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050815f8151811061040f5761040e6113e8565b5b60200260200101516020018190525082815f81518110610432576104316113e8565b5b60200260200101515f0181815250505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d238313688886040518363ffffffff1660e01b815260040161049b929190611451565b6020604051808303815f875af11580156104b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104db9190611473565b91505095945050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060610515610682565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663917c9d9285846040518363ffffffff1660e01b8152600401610571929190611520565b5f60405180830381865afa15801561058b573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906105b39190611bf6565b5090508092505050919050565b6105c86106c5565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f1610a28836040518263ffffffff1660e01b81526004016106209190610c53565b5f60405180830381865afa15801561063a573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906106629190611c6c565b9050919050565b60405180604001604052805f8152602001606081525090565b6040518060a00160405280606081526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff1681526020015f151581526020015f151581525090565b604051806101a001604052805f67ffffffffffffffff168152602001606081526020015f60030b81526020016106f9610762565b81526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff168152602001606081526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff168152602001606081526020016060815260200160608152602001606081525090565b6040518060800160405280606081526020016060815260200160608152602001606081525090565b5f604051905090565b5f80fd5b5f80fd5b5f67ffffffffffffffff82169050919050565b6107b78161079b565b81146107c1575f80fd5b50565b5f813590506107d2816107ae565b92915050565b5f8160030b9050919050565b6107ed816107d8565b81146107f7575f80fd5b50565b5f81359050610808816107e4565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61085c82610816565b810181811067ffffffffffffffff8211171561087b5761087a610826565b5b80604052505050565b5f61088d61078a565b90506108998282610853565b919050565b5f67ffffffffffffffff8211156108b8576108b7610826565b5b6108c182610816565b9050602081019050919050565b828183375f83830152505050565b5f6108ee6108e98461089e565b610884565b90508281526020810184848401111561090a57610909610812565b5b6109158482856108ce565b509392505050565b5f82601f8301126109315761093061080e565b5b81356109418482602086016108dc565b91505092915050565b5f805f6060848603121561096157610960610793565b5b5f61096e868287016107c4565b935050602061097f868287016107fa565b925050604084013567ffffffffffffffff8111156109a05761099f610797565b5b6109ac8682870161091d565b9150509250925092565b5f8115159050919050565b6109ca816109b6565b82525050565b5f6020820190506109e35f8301846109c1565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f610a2b610a26610a21846109e9565b610a08565b6109e9565b9050919050565b5f610a3c82610a11565b9050919050565b5f610a4d82610a32565b9050919050565b610a5d81610a43565b82525050565b5f602082019050610a765f830184610a54565b92915050565b5f60208284031215610a9157610a90610793565b5b5f610a9e848285016107c4565b91505092915050565b610ab08161079b565b82525050565b5f604082019050610ac95f830185610aa7565b610ad66020830184610aa7565b9392505050565b5f80fd5b5f80fd5b5f8083601f840112610afa57610af961080e565b5b8235905067ffffffffffffffff811115610b1757610b16610add565b5b602083019150836001820283011115610b3357610b32610ae1565b5b9250929050565b5f8083601f840112610b4f57610b4e61080e565b5b8235905067ffffffffffffffff811115610b6c57610b6b610add565b5b602083019150836001820283011115610b8857610b87610ae1565b5b9250929050565b5f819050919050565b610ba181610b8f565b8114610bab575f80fd5b50565b5f81359050610bbc81610b98565b92915050565b5f805f805f60608688031215610bdb57610bda610793565b5b5f86013567ffffffffffffffff811115610bf857610bf7610797565b5b610c0488828901610ae5565b9550955050602086013567ffffffffffffffff811115610c2757610c26610797565b5b610c3388828901610b3a565b93509350506040610c4688828901610bae565b9150509295509295909350565b5f602082019050610c665f830184610aa7565b92915050565b5f610c7682610a32565b9050919050565b610c8681610c6c565b82525050565b5f602082019050610c9f5f830184610c7d565b92915050565b5f60208284031215610cba57610cb9610793565b5b5f610cc7848285016107fa565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610d028161079b565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610d3f578082015181840152602081019050610d24565b5f8484015250505050565b5f610d5482610d08565b610d5e8185610d12565b9350610d6e818560208601610d22565b610d7781610816565b840191505092915050565b610d8b816107d8565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f610db582610d91565b610dbf8185610d9b565b9350610dcf818560208601610d22565b610dd881610816565b840191505092915050565b5f608083015f8301518482035f860152610dfd8282610dab565b91505060208301518482036020860152610e178282610dab565b91505060408301518482036040860152610e318282610dab565b91505060608301518482036060860152610e4b8282610dab565b9150508091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610e8a81610b8f565b82525050565b5f604083015f830151610ea55f860182610e81565b5060208301518482036020860152610ebd8282610dab565b9150508091505092915050565b5f610ed58383610e90565b905092915050565b5f602082019050919050565b5f610ef382610e58565b610efd8185610e62565b935083602082028501610f0f85610e72565b805f5b85811015610f4a5784840389528151610f2b8582610eca565b9450610f3683610edd565b925060208a01995050600181019050610f12565b50829750879550505050505092915050565b5f6101a083015f830151610f725f860182610cf9565b5060208301518482036020860152610f8a8282610d4a565b9150506040830151610f9f6040860182610d82565b5060608301518482036060860152610fb78282610de3565b9150506080830151610fcc6080860182610cf9565b5060a0830151610fdf60a0860182610cf9565b5060c083015184820360c0860152610ff78282610ee9565b91505060e083015161100c60e0860182610cf9565b50610100830151611021610100860182610cf9565b5061012083015184820361012086015261103b8282610dab565b9150506101408301518482036101408601526110578282610dab565b9150506101608301518482036101608601526110738282610dab565b91505061018083015184820361018086015261108f8282610dab565b9150508091505092915050565b5f6110a78383610f5c565b905092915050565b5f602082019050919050565b5f6110c582610cd0565b6110cf8185610cda565b9350836020820285016110e185610cea565b805f5b8581101561111c57848403895281516110fd858261109c565b9450611108836110af565b925060208a019950506001810190506110e4565b50829750879550505050505092915050565b5f6020820190508181035f83015261114681846110bb565b905092915050565b5f6101a083015f8301516111645f860182610cf9565b506020830151848203602086015261117c8282610d4a565b91505060408301516111916040860182610d82565b50606083015184820360608601526111a98282610de3565b91505060808301516111be6080860182610cf9565b5060a08301516111d160a0860182610cf9565b5060c083015184820360c08601526111e98282610ee9565b91505060e08301516111fe60e0860182610cf9565b50610100830151611213610100860182610cf9565b5061012083015184820361012086015261122d8282610dab565b9150506101408301518482036101408601526112498282610dab565b9150506101608301518482036101608601526112658282610dab565b9150506101808301518482036101808601526112818282610dab565b9150508091505092915050565b5f6020820190508181035f8301526112a6818461114e565b905092915050565b6112b7816107d8565b82525050565b5f82825260208201905092915050565b5f6112d782610d91565b6112e181856112bd565b93506112f1818560208601610d22565b6112fa81610816565b840191505092915050565b5f6060820190506113185f830186610aa7565b61132560208301856112ae565b818103604083015261133781846112cd565b9050949350505050565b61134a816109b6565b8114611354575f80fd5b50565b5f8151905061136581611341565b92915050565b5f602082840312156113805761137f610793565b5b5f61138d84828501611357565b91505092915050565b5f815190506113a4816107ae565b92915050565b5f80604083850312156113c0576113bf610793565b5b5f6113cd85828601611396565b92505060206113de85828601611396565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82825260208201905092915050565b5f6114308385611415565b935061143d8385846108ce565b61144683610816565b840190509392505050565b5f6020820190508181035f83015261146a818486611425565b90509392505050565b5f6020828403121561148857611487610793565b5b5f61149584828501611396565b91505092915050565b6114a7816109b6565b82525050565b5f60a083015f8301518482035f8601526114c78282610dab565b91505060208301516114dc6020860182610cf9565b5060408301516114ef6040860182610cf9565b506060830151611502606086018261149e565b506080830151611515608086018261149e565b508091505092915050565b5f6040820190506115335f8301856112ae565b818103602083015261154581846114ad565b90509392505050565b5f67ffffffffffffffff82111561156857611567610826565b5b602082029050602081019050919050565b5f80fd5b5f80fd5b5f67ffffffffffffffff82111561159b5761159a610826565b5b6115a482610816565b9050602081019050919050565b5f6115c36115be84611581565b610884565b9050828152602081018484840111156115df576115de610812565b5b6115ea848285610d22565b509392505050565b5f82601f8301126116065761160561080e565b5b81516116168482602086016115b1565b91505092915050565b5f8151905061162d816107e4565b92915050565b5f6116456116408461089e565b610884565b90508281526020810184848401111561166157611660610812565b5b61166c848285610d22565b509392505050565b5f82601f8301126116885761168761080e565b5b8151611698848260208601611633565b91505092915050565b5f608082840312156116b6576116b5611579565b5b6116c06080610884565b90505f82015167ffffffffffffffff8111156116df576116de61157d565b5b6116eb84828501611674565b5f83015250602082015167ffffffffffffffff81111561170e5761170d61157d565b5b61171a84828501611674565b602083015250604082015167ffffffffffffffff81111561173e5761173d61157d565b5b61174a84828501611674565b604083015250606082015167ffffffffffffffff81111561176e5761176d61157d565b5b61177a84828501611674565b60608301525092915050565b5f67ffffffffffffffff8211156117a05761179f610826565b5b602082029050602081019050919050565b5f815190506117bf81610b98565b92915050565b5f604082840312156117da576117d9611579565b5b6117e46040610884565b90505f6117f3848285016117b1565b5f83015250602082015167ffffffffffffffff8111156118165761181561157d565b5b61182284828501611674565b60208301525092915050565b5f61184061183b84611786565b610884565b9050808382526020820190506020840283018581111561186357611862610ae1565b5b835b818110156118aa57805167ffffffffffffffff8111156118885761188761080e565b5b80860161189589826117c5565b85526020850194505050602081019050611865565b5050509392505050565b5f82601f8301126118c8576118c761080e565b5b81516118d884826020860161182e565b91505092915050565b5f6101a082840312156118f7576118f6611579565b5b6119026101a0610884565b90505f61191184828501611396565b5f83015250602082015167ffffffffffffffff8111156119345761193361157d565b5b611940848285016115f2565b60208301525060406119548482850161161f565b604083015250606082015167ffffffffffffffff8111156119785761197761157d565b5b611984848285016116a1565b606083015250608061199884828501611396565b60808301525060a06119ac84828501611396565b60a08301525060c082015167ffffffffffffffff8111156119d0576119cf61157d565b5b6119dc848285016118b4565b60c08301525060e06119f084828501611396565b60e083015250610100611a0584828501611396565b6101008301525061012082015167ffffffffffffffff811115611a2b57611a2a61157d565b5b611a3784828501611674565b6101208301525061014082015167ffffffffffffffff811115611a5d57611a5c61157d565b5b611a6984828501611674565b6101408301525061016082015167ffffffffffffffff811115611a8f57611a8e61157d565b5b611a9b84828501611674565b6101608301525061018082015167ffffffffffffffff811115611ac157611ac061157d565b5b611acd84828501611674565b6101808301525092915050565b5f611aec611ae78461154e565b610884565b90508083825260208201905060208402830185811115611b0f57611b0e610ae1565b5b835b81811015611b5657805167ffffffffffffffff811115611b3457611b3361080e565b5b808601611b4189826118e1565b85526020850194505050602081019050611b11565b5050509392505050565b5f82601f830112611b7457611b7361080e565b5b8151611b84848260208601611ada565b91505092915050565b5f60408284031215611ba257611ba1611579565b5b611bac6040610884565b90505f82015167ffffffffffffffff811115611bcb57611bca61157d565b5b611bd784828501611674565b5f830152506020611bea84828501611396565b60208301525092915050565b5f8060408385031215611c0c57611c0b610793565b5b5f83015167ffffffffffffffff811115611c2957611c28610797565b5b611c3585828601611b60565b925050602083015167ffffffffffffffff811115611c5657611c55610797565b5b611c6285828601611b8d565b9150509250929050565b5f60208284031215611c8157611c80610793565b5b5f82015167ffffffffffffffff811115611c9e57611c9d610797565b5b611caa848285016118e1565b9150509291505056fea2646970667358221220c9c551694e57611a0886500cd1ca4b0eb52753aba17729767306e2d3aa56735764736f6c63430008140033", } // GovernanceWrapperABI is the input ABI used to generate the binding from. diff --git a/contracts/bindings/testing/liquid_staking.abigen.go b/contracts/bindings/testing/liquid_staking.abigen.go index 9960da4d3..bb5172433 100644 --- a/contracts/bindings/testing/liquid_staking.abigen.go +++ b/contracts/bindings/testing/liquid_staking.abigen.go @@ -32,7 +32,7 @@ var ( // LiquidStakingMetaData contains all meta data concerning the LiquidStaking contract. var LiquidStakingMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"InvalidValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAmount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Data\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"name\":\"Success\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActiveValidators\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"staking\",\"outputs\":[{\"internalType\":\"contractIStakingModule\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"validatorAddress\",\"type\":\"address\"}],\"name\":\"totalDelegated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]", - Bin: "0x61010060405273d9a998cac66092748ffec7cfbd155aae1737c2ff73ffffffffffffffffffffffffffffffffffffffff1660e09073ffffffffffffffffffffffffffffffffffffffff1681525034801562000058575f80fd5b5060405162002b4738038062002b4783398181016040528101906200007e9190620002f0565b81816012825f9081620000929190620005aa565b508160019081620000a49190620005aa565b508060ff1660808160ff16815250504660a08181525050620000cb620000dd60201b60201c565b60c08181525050505050505062000817565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516200010f919062000736565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6463060405160200162000150959493929190620007bc565b60405160208183030381529060405280519060200120905090565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620001cc8262000184565b810181811067ffffffffffffffff82111715620001ee57620001ed62000194565b5b80604052505050565b5f620002026200016b565b9050620002108282620001c1565b919050565b5f67ffffffffffffffff82111562000232576200023162000194565b5b6200023d8262000184565b9050602081019050919050565b5f5b83811015620002695780820151818401526020810190506200024c565b5f8484015250505050565b5f6200028a620002848462000215565b620001f7565b905082815260208101848484011115620002a957620002a862000180565b5b620002b68482856200024a565b509392505050565b5f82601f830112620002d557620002d46200017c565b5b8151620002e784826020860162000274565b91505092915050565b5f806040838503121562000309576200030862000174565b5b5f83015167ffffffffffffffff81111562000329576200032862000178565b5b6200033785828601620002be565b925050602083015167ffffffffffffffff8111156200035b576200035a62000178565b5b6200036985828601620002be565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620003c257607f821691505b602082108103620003d857620003d76200037d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200043c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620003ff565b620004488683620003ff565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620004926200048c620004868462000460565b62000469565b62000460565b9050919050565b5f819050919050565b620004ad8362000472565b620004c5620004bc8262000499565b8484546200040b565b825550505050565b5f90565b620004db620004cd565b620004e8818484620004a2565b505050565b5b818110156200050f57620005035f82620004d1565b600181019050620004ee565b5050565b601f8211156200055e576200052881620003de565b6200053384620003f0565b8101602085101562000543578190505b6200055b6200055285620003f0565b830182620004ed565b50505b505050565b5f82821c905092915050565b5f620005805f198460080262000563565b1980831691505092915050565b5f6200059a83836200056f565b9150826002028217905092915050565b620005b58262000373565b67ffffffffffffffff811115620005d157620005d062000194565b5b620005dd8254620003aa565b620005ea82828562000513565b5f60209050601f83116001811462000620575f84156200060b578287015190505b6200061785826200058d565b86555062000686565b601f1984166200063086620003de565b5f5b82811015620006595784890151825560018201915060208501945060208101905062000632565b8683101562000679578489015162000675601f8916826200056f565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f8154620006b881620003aa565b620006c481866200068e565b9450600182165f8114620006e15760018114620006f7576200072d565b60ff19831686528115158202860193506200072d565b620007028562000698565b5f5b83811015620007255781548189015260018201915060208101905062000704565b838801955050505b50505092915050565b5f620007438284620006aa565b915081905092915050565b5f819050919050565b62000762816200074e565b82525050565b620007738162000460565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620007a48262000779565b9050919050565b620007b68162000798565b82525050565b5f60a082019050620007d15f83018862000757565b620007e0602083018762000757565b620007ef604083018662000757565b620007fe606083018562000768565b6200080d6080830184620007ab565b9695505050505050565b60805160a05160c05160e0516122e0620008675f395f8181610907015281816109ec01528181610ad401528181610b91015261109a01525f6108e001525f6108ac01525f61088701526122e05ff3fe608060405260043610610101575f3560e01c806370a08231116100945780639fa6dd35116100635780639fa6dd351461034a578063a9059cbb14610366578063d505accf146103a2578063dd62ed3e146103ca578063f639187e1461040657610108565b806370a082311461027e5780637ecebe00146102ba57806395d89b41146102f65780639de702581461032057610108565b80632e1a7d4d116100d05780632e1a7d4d146101d8578063313ce567146102005780633644e5151461022a5780634cf088d91461025457610108565b806306fdde031461010c578063095ea7b31461013657806318160ddd1461017257806323b872dd1461019c57610108565b3661010857005b5f80fd5b348015610117575f80fd5b50610120610442565b60405161012d9190611426565b60405180910390f35b348015610141575f80fd5b5061015c600480360381019061015791906114e4565b6104cd565b604051610169919061153c565b60405180910390f35b34801561017d575f80fd5b506101866105ba565b6040516101939190611564565b60405180910390f35b3480156101a7575f80fd5b506101c260048036038101906101bd919061157d565b6105c0565b6040516101cf919061153c565b60405180910390f35b3480156101e3575f80fd5b506101fe60048036038101906101f991906115cd565b6107fb565b005b34801561020b575f80fd5b50610214610885565b6040516102219190611613565b60405180910390f35b348015610235575f80fd5b5061023e6108a9565b60405161024b9190611644565b60405180910390f35b34801561025f575f80fd5b50610268610905565b60405161027591906116b8565b60405180910390f35b348015610289575f80fd5b506102a4600480360381019061029f91906116d1565b610929565b6040516102b19190611564565b60405180910390f35b3480156102c5575f80fd5b506102e060048036038101906102db91906116d1565b61093e565b6040516102ed9190611564565b60405180910390f35b348015610301575f80fd5b5061030a610953565b6040516103179190611426565b60405180910390f35b34801561032b575f80fd5b506103346109df565b60405161034191906117b3565b60405180910390f35b610364600480360381019061035f91906115cd565b610a90565b005b348015610371575f80fd5b5061038c600480360381019061038791906114e4565b610c7d565b604051610399919061153c565b60405180910390f35b3480156103ad575f80fd5b506103c860048036038101906103c39190611827565b610d8a565b005b3480156103d5575f80fd5b506103f060048036038101906103eb91906118c4565b611077565b6040516103fd9190611564565b60405180910390f35b348015610411575f80fd5b5061042c600480360381019061042791906116d1565b611097565b6040516104399190611564565b60405180910390f35b5f805461044e9061192f565b80601f016020809104026020016040519081016040528092919081815260200182805461047a9061192f565b80156104c55780601f1061049c576101008083540402835291602001916104c5565b820191905f5260205f20905b8154815290600101906020018083116104a857829003601f168201915b505050505081565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516105a89190611564565b60405180910390a36001905092915050565b60025481565b5f8060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106ed578281610670919061198c565b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b8260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610739919061198c565b925050819055508260035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516107e79190611564565b60405180910390a360019150509392505050565b5f8103610834576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61083e3382611139565b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610881573d5f803e3d5ffd5b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f7f000000000000000000000000000000000000000000000000000000000000000046146108de576108d9611204565b610900565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6003602052805f5260405f205f915090505481565b6005602052805f5260405f205f915090505481565b600180546109609061192f565b80601f016020809104026020016040519081016040528092919081815260200182805461098c9061192f565b80156109d75780601f106109ae576101008083540402835291602001916109d7565b820191905f5260205f20905b8154815290600101906020018083116109ba57829003601f168201915b505050505081565b60606109e9611359565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663cf3f2340836040518263ffffffff1660e01b8152600401610a439190611aab565b5f60405180830381865afa158015610a5d573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190610a859190611d5c565b509050809250505090565b5f8103610ac9576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ad1611359565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663cf3f2340836040518263ffffffff1660e01b8152600401610b2b9190611aab565b5f60405180830381865afa158015610b45573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190610b6d9190611d5c565b5090505f815f81518110610b8457610b83611dd2565b5b602002602001015190505f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663026e402b83876040518363ffffffff1660e01b8152600401610bea929190611e0e565b6020604051808303815f875af1158015610c06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c2a9190611e5f565b905080610c6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6390611ed4565b60405180910390fd5b610c76338661128e565b5050505050565b5f8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610cca919061198c565b925050819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d789190611564565b60405180910390a36001905092915050565b42841015610dcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc490611f3c565b60405180910390fd5b5f6001610dd86108a9565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a60055f8f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050558b604051602001610e5d96959493929190611f5a565b60405160208183030381529060405280519060200120604051602001610e8492919061202d565b604051602081830303815290604052805190602001208585856040515f8152602001604052604051610eb99493929190612063565b6020604051602081039080840390855afa158015610ed9573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610f4c57508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610f8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f82906120f0565b60405180910390fd5b8560045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925876040516110669190611564565b60405180910390a350505050505050565b6004602052815f5260405f20602052805f5260405f205f91509150505481565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166315049a5a30846040518363ffffffff1660e01b81526004016110f392919061210e565b602060405180830381865afa15801561110e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111329190612149565b9050919050565b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611185919061198c565b925050819055508060025f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111f89190611564565b60405180910390a35050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516112349190612210565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001611273959493929190612226565b60405160208183030381529060405280519060200120905090565b8060025f82825461129f9190612277565b925050819055508060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161134d9190611564565b60405180910390a35050565b6040518060a00160405280606081526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff1681526020015f151581526020015f151581525090565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156113d35780820151818401526020810190506113b8565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6113f88261139c565b61140281856113a6565b93506114128185602086016113b6565b61141b816113de565b840191505092915050565b5f6020820190508181035f83015261143e81846113ee565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61148082611457565b9050919050565b61149081611476565b811461149a575f80fd5b50565b5f813590506114ab81611487565b92915050565b5f819050919050565b6114c3816114b1565b81146114cd575f80fd5b50565b5f813590506114de816114ba565b92915050565b5f80604083850312156114fa576114f961144f565b5b5f6115078582860161149d565b9250506020611518858286016114d0565b9150509250929050565b5f8115159050919050565b61153681611522565b82525050565b5f60208201905061154f5f83018461152d565b92915050565b61155e816114b1565b82525050565b5f6020820190506115775f830184611555565b92915050565b5f805f606084860312156115945761159361144f565b5b5f6115a18682870161149d565b93505060206115b28682870161149d565b92505060406115c3868287016114d0565b9150509250925092565b5f602082840312156115e2576115e161144f565b5b5f6115ef848285016114d0565b91505092915050565b5f60ff82169050919050565b61160d816115f8565b82525050565b5f6020820190506116265f830184611604565b92915050565b5f819050919050565b61163e8161162c565b82525050565b5f6020820190506116575f830184611635565b92915050565b5f819050919050565b5f61168061167b61167684611457565b61165d565b611457565b9050919050565b5f61169182611666565b9050919050565b5f6116a282611687565b9050919050565b6116b281611698565b82525050565b5f6020820190506116cb5f8301846116a9565b92915050565b5f602082840312156116e6576116e561144f565b5b5f6116f38482850161149d565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61172e81611476565b82525050565b5f61173f8383611725565b60208301905092915050565b5f602082019050919050565b5f611761826116fc565b61176b8185611706565b935061177683611716565b805f5b838110156117a657815161178d8882611734565b97506117988361174b565b925050600181019050611779565b5085935050505092915050565b5f6020820190508181035f8301526117cb8184611757565b905092915050565b6117dc816115f8565b81146117e6575f80fd5b50565b5f813590506117f7816117d3565b92915050565b6118068161162c565b8114611810575f80fd5b50565b5f81359050611821816117fd565b92915050565b5f805f805f805f60e0888a0312156118425761184161144f565b5b5f61184f8a828b0161149d565b97505060206118608a828b0161149d565b96505060406118718a828b016114d0565b95505060606118828a828b016114d0565b94505060806118938a828b016117e9565b93505060a06118a48a828b01611813565b92505060c06118b58a828b01611813565b91505092959891949750929550565b5f80604083850312156118da576118d961144f565b5b5f6118e78582860161149d565b92505060206118f88582860161149d565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061194657607f821691505b60208210810361195957611958611902565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611996826114b1565b91506119a1836114b1565b92508282039050818111156119b9576119b861195f565b5b92915050565b5f82825260208201905092915050565b5f6119d98261139c565b6119e381856119bf565b93506119f38185602086016113b6565b6119fc816113de565b840191505092915050565b5f67ffffffffffffffff82169050919050565b611a2381611a07565b82525050565b611a3281611522565b82525050565b5f60a083015f8301518482035f860152611a5282826119cf565b9150506020830151611a676020860182611a1a565b506040830151611a7a6040860182611a1a565b506060830151611a8d6060860182611a29565b506080830151611aa06080860182611a29565b508091505092915050565b5f6020820190508181035f830152611ac38184611a38565b905092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611b05826113de565b810181811067ffffffffffffffff82111715611b2457611b23611acf565b5b80604052505050565b5f611b36611446565b9050611b428282611afc565b919050565b5f67ffffffffffffffff821115611b6157611b60611acf565b5b602082029050602081019050919050565b5f80fd5b5f81519050611b8481611487565b92915050565b5f611b9c611b9784611b47565b611b2d565b90508083825260208201905060208402830185811115611bbf57611bbe611b72565b5b835b81811015611be85780611bd48882611b76565b845260208401935050602081019050611bc1565b5050509392505050565b5f82601f830112611c0657611c05611acb565b5b8151611c16848260208601611b8a565b91505092915050565b5f80fd5b5f80fd5b5f80fd5b5f67ffffffffffffffff821115611c4557611c44611acf565b5b611c4e826113de565b9050602081019050919050565b5f611c6d611c6884611c2b565b611b2d565b905082815260208101848484011115611c8957611c88611c27565b5b611c948482856113b6565b509392505050565b5f82601f830112611cb057611caf611acb565b5b8151611cc0848260208601611c5b565b91505092915050565b611cd281611a07565b8114611cdc575f80fd5b50565b5f81519050611ced81611cc9565b92915050565b5f60408284031215611d0857611d07611c1f565b5b611d126040611b2d565b90505f82015167ffffffffffffffff811115611d3157611d30611c23565b5b611d3d84828501611c9c565b5f830152506020611d5084828501611cdf565b60208301525092915050565b5f8060408385031215611d7257611d7161144f565b5b5f83015167ffffffffffffffff811115611d8f57611d8e611453565b5b611d9b85828601611bf2565b925050602083015167ffffffffffffffff811115611dbc57611dbb611453565b5b611dc885828601611cf3565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b611e0881611476565b82525050565b5f604082019050611e215f830185611dff565b611e2e6020830184611555565b9392505050565b611e3e81611522565b8114611e48575f80fd5b50565b5f81519050611e5981611e35565b92915050565b5f60208284031215611e7457611e7361144f565b5b5f611e8184828501611e4b565b91505092915050565b7f4661696c656420746f2064656c656761746500000000000000000000000000005f82015250565b5f611ebe6012836113a6565b9150611ec982611e8a565b602082019050919050565b5f6020820190508181035f830152611eeb81611eb2565b9050919050565b7f5045524d49545f444541444c494e455f455850495245440000000000000000005f82015250565b5f611f266017836113a6565b9150611f3182611ef2565b602082019050919050565b5f6020820190508181035f830152611f5381611f1a565b9050919050565b5f60c082019050611f6d5f830189611635565b611f7a6020830188611dff565b611f876040830187611dff565b611f946060830186611555565b611fa16080830185611555565b611fae60a0830184611555565b979650505050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f611ff7600283611fb9565b915061200282611fc3565b600282019050919050565b5f819050919050565b6120276120228261162c565b61200d565b82525050565b5f61203782611feb565b91506120438285612016565b6020820191506120538284612016565b6020820191508190509392505050565b5f6080820190506120765f830187611635565b6120836020830186611604565b6120906040830185611635565b61209d6060830184611635565b95945050505050565b7f494e56414c49445f5349474e45520000000000000000000000000000000000005f82015250565b5f6120da600e836113a6565b91506120e5826120a6565b602082019050919050565b5f6020820190508181035f830152612107816120ce565b9050919050565b5f6040820190506121215f830185611dff565b61212e6020830184611dff565b9392505050565b5f81519050612143816114ba565b92915050565b5f6020828403121561215e5761215d61144f565b5b5f61216b84828501612135565b91505092915050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f815461219c8161192f565b6121a68186612174565b9450600182165f81146121c057600181146121d557612207565b60ff1983168652811515820286019350612207565b6121de8561217e565b5f5b838110156121ff578154818901526001820191506020810190506121e0565b838801955050505b50505092915050565b5f61221b8284612190565b915081905092915050565b5f60a0820190506122395f830188611635565b6122466020830187611635565b6122536040830186611635565b6122606060830185611555565b61226d6080830184611dff565b9695505050505050565b5f612281826114b1565b915061228c836114b1565b92508282019050808211156122a4576122a361195f565b5b9291505056fea2646970667358221220faeca6c450c3d84f0382b08eddb5b63d2386847b9966affd1940ade2020a1b4c64736f6c63430008140033", + Bin: "0x61010060405273d9a998cac66092748ffec7cfbd155aae1737c2ff73ffffffffffffffffffffffffffffffffffffffff1660e09073ffffffffffffffffffffffffffffffffffffffff1681525034801562000058575f80fd5b5060405162002b4738038062002b4783398181016040528101906200007e9190620002f0565b81816012825f9081620000929190620005aa565b508160019081620000a49190620005aa565b508060ff1660808160ff16815250504660a08181525050620000cb620000dd60201b60201c565b60c08181525050505050505062000817565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516200010f919062000736565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6463060405160200162000150959493929190620007bc565b60405160208183030381529060405280519060200120905090565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620001cc8262000184565b810181811067ffffffffffffffff82111715620001ee57620001ed62000194565b5b80604052505050565b5f620002026200016b565b9050620002108282620001c1565b919050565b5f67ffffffffffffffff82111562000232576200023162000194565b5b6200023d8262000184565b9050602081019050919050565b5f5b83811015620002695780820151818401526020810190506200024c565b5f8484015250505050565b5f6200028a620002848462000215565b620001f7565b905082815260208101848484011115620002a957620002a862000180565b5b620002b68482856200024a565b509392505050565b5f82601f830112620002d557620002d46200017c565b5b8151620002e784826020860162000274565b91505092915050565b5f806040838503121562000309576200030862000174565b5b5f83015167ffffffffffffffff81111562000329576200032862000178565b5b6200033785828601620002be565b925050602083015167ffffffffffffffff8111156200035b576200035a62000178565b5b6200036985828601620002be565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620003c257607f821691505b602082108103620003d857620003d76200037d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200043c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620003ff565b620004488683620003ff565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620004926200048c620004868462000460565b62000469565b62000460565b9050919050565b5f819050919050565b620004ad8362000472565b620004c5620004bc8262000499565b8484546200040b565b825550505050565b5f90565b620004db620004cd565b620004e8818484620004a2565b505050565b5b818110156200050f57620005035f82620004d1565b600181019050620004ee565b5050565b601f8211156200055e576200052881620003de565b6200053384620003f0565b8101602085101562000543578190505b6200055b6200055285620003f0565b830182620004ed565b50505b505050565b5f82821c905092915050565b5f620005805f198460080262000563565b1980831691505092915050565b5f6200059a83836200056f565b9150826002028217905092915050565b620005b58262000373565b67ffffffffffffffff811115620005d157620005d062000194565b5b620005dd8254620003aa565b620005ea82828562000513565b5f60209050601f83116001811462000620575f84156200060b578287015190505b6200061785826200058d565b86555062000686565b601f1984166200063086620003de565b5f5b82811015620006595784890151825560018201915060208501945060208101905062000632565b8683101562000679578489015162000675601f8916826200056f565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f8154620006b881620003aa565b620006c481866200068e565b9450600182165f8114620006e15760018114620006f7576200072d565b60ff19831686528115158202860193506200072d565b620007028562000698565b5f5b83811015620007255781548189015260018201915060208101905062000704565b838801955050505b50505092915050565b5f620007438284620006aa565b915081905092915050565b5f819050919050565b62000762816200074e565b82525050565b620007738162000460565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620007a48262000779565b9050919050565b620007b68162000798565b82525050565b5f60a082019050620007d15f83018862000757565b620007e0602083018762000757565b620007ef604083018662000757565b620007fe606083018562000768565b6200080d6080830184620007ab565b9695505050505050565b60805160a05160c05160e0516122e0620008675f395f8181610907015281816109ec01528181610ad401528181610b91015261109a01525f6108e001525f6108ac01525f61088701526122e05ff3fe608060405260043610610101575f3560e01c806370a08231116100945780639fa6dd35116100635780639fa6dd351461034a578063a9059cbb14610366578063d505accf146103a2578063dd62ed3e146103ca578063f639187e1461040657610108565b806370a082311461027e5780637ecebe00146102ba57806395d89b41146102f65780639de702581461032057610108565b80632e1a7d4d116100d05780632e1a7d4d146101d8578063313ce567146102005780633644e5151461022a5780634cf088d91461025457610108565b806306fdde031461010c578063095ea7b31461013657806318160ddd1461017257806323b872dd1461019c57610108565b3661010857005b5f80fd5b348015610117575f80fd5b50610120610442565b60405161012d9190611426565b60405180910390f35b348015610141575f80fd5b5061015c600480360381019061015791906114e4565b6104cd565b604051610169919061153c565b60405180910390f35b34801561017d575f80fd5b506101866105ba565b6040516101939190611564565b60405180910390f35b3480156101a7575f80fd5b506101c260048036038101906101bd919061157d565b6105c0565b6040516101cf919061153c565b60405180910390f35b3480156101e3575f80fd5b506101fe60048036038101906101f991906115cd565b6107fb565b005b34801561020b575f80fd5b50610214610885565b6040516102219190611613565b60405180910390f35b348015610235575f80fd5b5061023e6108a9565b60405161024b9190611644565b60405180910390f35b34801561025f575f80fd5b50610268610905565b60405161027591906116b8565b60405180910390f35b348015610289575f80fd5b506102a4600480360381019061029f91906116d1565b610929565b6040516102b19190611564565b60405180910390f35b3480156102c5575f80fd5b506102e060048036038101906102db91906116d1565b61093e565b6040516102ed9190611564565b60405180910390f35b348015610301575f80fd5b5061030a610953565b6040516103179190611426565b60405180910390f35b34801561032b575f80fd5b506103346109df565b60405161034191906117b3565b60405180910390f35b610364600480360381019061035f91906115cd565b610a90565b005b348015610371575f80fd5b5061038c600480360381019061038791906114e4565b610c7d565b604051610399919061153c565b60405180910390f35b3480156103ad575f80fd5b506103c860048036038101906103c39190611827565b610d8a565b005b3480156103d5575f80fd5b506103f060048036038101906103eb91906118c4565b611077565b6040516103fd9190611564565b60405180910390f35b348015610411575f80fd5b5061042c600480360381019061042791906116d1565b611097565b6040516104399190611564565b60405180910390f35b5f805461044e9061192f565b80601f016020809104026020016040519081016040528092919081815260200182805461047a9061192f565b80156104c55780601f1061049c576101008083540402835291602001916104c5565b820191905f5260205f20905b8154815290600101906020018083116104a857829003601f168201915b505050505081565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516105a89190611564565b60405180910390a36001905092915050565b60025481565b5f8060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106ed578281610670919061198c565b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b8260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610739919061198c565b925050819055508260035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516107e79190611564565b60405180910390a360019150509392505050565b5f8103610834576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61083e3382611139565b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610881573d5f803e3d5ffd5b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f7f000000000000000000000000000000000000000000000000000000000000000046146108de576108d9611204565b610900565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6003602052805f5260405f205f915090505481565b6005602052805f5260405f205f915090505481565b600180546109609061192f565b80601f016020809104026020016040519081016040528092919081815260200182805461098c9061192f565b80156109d75780601f106109ae576101008083540402835291602001916109d7565b820191905f5260205f20905b8154815290600101906020018083116109ba57829003601f168201915b505050505081565b60606109e9611359565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663cf3f2340836040518263ffffffff1660e01b8152600401610a439190611aab565b5f60405180830381865afa158015610a5d573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190610a859190611d5c565b509050809250505090565b5f8103610ac9576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ad1611359565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663cf3f2340836040518263ffffffff1660e01b8152600401610b2b9190611aab565b5f60405180830381865afa158015610b45573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190610b6d9190611d5c565b5090505f815f81518110610b8457610b83611dd2565b5b602002602001015190505f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663026e402b83876040518363ffffffff1660e01b8152600401610bea929190611e0e565b6020604051808303815f875af1158015610c06573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c2a9190611e5f565b905080610c6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6390611ed4565b60405180910390fd5b610c76338661128e565b5050505050565b5f8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610cca919061198c565b925050819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d789190611564565b60405180910390a36001905092915050565b42841015610dcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc490611f3c565b60405180910390fd5b5f6001610dd86108a9565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a60055f8f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050558b604051602001610e5d96959493929190611f5a565b60405160208183030381529060405280519060200120604051602001610e8492919061202d565b604051602081830303815290604052805190602001208585856040515f8152602001604052604051610eb99493929190612063565b6020604051602081039080840390855afa158015610ed9573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610f4c57508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610f8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f82906120f0565b60405180910390fd5b8560045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925876040516110669190611564565b60405180910390a350505050505050565b6004602052815f5260405f20602052805f5260405f205f91509150505481565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166315049a5a30846040518363ffffffff1660e01b81526004016110f392919061210e565b602060405180830381865afa15801561110e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111329190612149565b9050919050565b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611185919061198c565b925050819055508060025f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111f89190611564565b60405180910390a35050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516112349190612210565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001611273959493929190612226565b60405160208183030381529060405280519060200120905090565b8060025f82825461129f9190612277565b925050819055508060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161134d9190611564565b60405180910390a35050565b6040518060a00160405280606081526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff1681526020015f151581526020015f151581525090565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156113d35780820151818401526020810190506113b8565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6113f88261139c565b61140281856113a6565b93506114128185602086016113b6565b61141b816113de565b840191505092915050565b5f6020820190508181035f83015261143e81846113ee565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61148082611457565b9050919050565b61149081611476565b811461149a575f80fd5b50565b5f813590506114ab81611487565b92915050565b5f819050919050565b6114c3816114b1565b81146114cd575f80fd5b50565b5f813590506114de816114ba565b92915050565b5f80604083850312156114fa576114f961144f565b5b5f6115078582860161149d565b9250506020611518858286016114d0565b9150509250929050565b5f8115159050919050565b61153681611522565b82525050565b5f60208201905061154f5f83018461152d565b92915050565b61155e816114b1565b82525050565b5f6020820190506115775f830184611555565b92915050565b5f805f606084860312156115945761159361144f565b5b5f6115a18682870161149d565b93505060206115b28682870161149d565b92505060406115c3868287016114d0565b9150509250925092565b5f602082840312156115e2576115e161144f565b5b5f6115ef848285016114d0565b91505092915050565b5f60ff82169050919050565b61160d816115f8565b82525050565b5f6020820190506116265f830184611604565b92915050565b5f819050919050565b61163e8161162c565b82525050565b5f6020820190506116575f830184611635565b92915050565b5f819050919050565b5f61168061167b61167684611457565b61165d565b611457565b9050919050565b5f61169182611666565b9050919050565b5f6116a282611687565b9050919050565b6116b281611698565b82525050565b5f6020820190506116cb5f8301846116a9565b92915050565b5f602082840312156116e6576116e561144f565b5b5f6116f38482850161149d565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61172e81611476565b82525050565b5f61173f8383611725565b60208301905092915050565b5f602082019050919050565b5f611761826116fc565b61176b8185611706565b935061177683611716565b805f5b838110156117a657815161178d8882611734565b97506117988361174b565b925050600181019050611779565b5085935050505092915050565b5f6020820190508181035f8301526117cb8184611757565b905092915050565b6117dc816115f8565b81146117e6575f80fd5b50565b5f813590506117f7816117d3565b92915050565b6118068161162c565b8114611810575f80fd5b50565b5f81359050611821816117fd565b92915050565b5f805f805f805f60e0888a0312156118425761184161144f565b5b5f61184f8a828b0161149d565b97505060206118608a828b0161149d565b96505060406118718a828b016114d0565b95505060606118828a828b016114d0565b94505060806118938a828b016117e9565b93505060a06118a48a828b01611813565b92505060c06118b58a828b01611813565b91505092959891949750929550565b5f80604083850312156118da576118d961144f565b5b5f6118e78582860161149d565b92505060206118f88582860161149d565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061194657607f821691505b60208210810361195957611958611902565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611996826114b1565b91506119a1836114b1565b92508282039050818111156119b9576119b861195f565b5b92915050565b5f82825260208201905092915050565b5f6119d98261139c565b6119e381856119bf565b93506119f38185602086016113b6565b6119fc816113de565b840191505092915050565b5f67ffffffffffffffff82169050919050565b611a2381611a07565b82525050565b611a3281611522565b82525050565b5f60a083015f8301518482035f860152611a5282826119cf565b9150506020830151611a676020860182611a1a565b506040830151611a7a6040860182611a1a565b506060830151611a8d6060860182611a29565b506080830151611aa06080860182611a29565b508091505092915050565b5f6020820190508181035f830152611ac38184611a38565b905092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611b05826113de565b810181811067ffffffffffffffff82111715611b2457611b23611acf565b5b80604052505050565b5f611b36611446565b9050611b428282611afc565b919050565b5f67ffffffffffffffff821115611b6157611b60611acf565b5b602082029050602081019050919050565b5f80fd5b5f81519050611b8481611487565b92915050565b5f611b9c611b9784611b47565b611b2d565b90508083825260208201905060208402830185811115611bbf57611bbe611b72565b5b835b81811015611be85780611bd48882611b76565b845260208401935050602081019050611bc1565b5050509392505050565b5f82601f830112611c0657611c05611acb565b5b8151611c16848260208601611b8a565b91505092915050565b5f80fd5b5f80fd5b5f80fd5b5f67ffffffffffffffff821115611c4557611c44611acf565b5b611c4e826113de565b9050602081019050919050565b5f611c6d611c6884611c2b565b611b2d565b905082815260208101848484011115611c8957611c88611c27565b5b611c948482856113b6565b509392505050565b5f82601f830112611cb057611caf611acb565b5b8151611cc0848260208601611c5b565b91505092915050565b611cd281611a07565b8114611cdc575f80fd5b50565b5f81519050611ced81611cc9565b92915050565b5f60408284031215611d0857611d07611c1f565b5b611d126040611b2d565b90505f82015167ffffffffffffffff811115611d3157611d30611c23565b5b611d3d84828501611c9c565b5f830152506020611d5084828501611cdf565b60208301525092915050565b5f8060408385031215611d7257611d7161144f565b5b5f83015167ffffffffffffffff811115611d8f57611d8e611453565b5b611d9b85828601611bf2565b925050602083015167ffffffffffffffff811115611dbc57611dbb611453565b5b611dc885828601611cf3565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b611e0881611476565b82525050565b5f604082019050611e215f830185611dff565b611e2e6020830184611555565b9392505050565b611e3e81611522565b8114611e48575f80fd5b50565b5f81519050611e5981611e35565b92915050565b5f60208284031215611e7457611e7361144f565b5b5f611e8184828501611e4b565b91505092915050565b7f4661696c656420746f2064656c656761746500000000000000000000000000005f82015250565b5f611ebe6012836113a6565b9150611ec982611e8a565b602082019050919050565b5f6020820190508181035f830152611eeb81611eb2565b9050919050565b7f5045524d49545f444541444c494e455f455850495245440000000000000000005f82015250565b5f611f266017836113a6565b9150611f3182611ef2565b602082019050919050565b5f6020820190508181035f830152611f5381611f1a565b9050919050565b5f60c082019050611f6d5f830189611635565b611f7a6020830188611dff565b611f876040830187611dff565b611f946060830186611555565b611fa16080830185611555565b611fae60a0830184611555565b979650505050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f611ff7600283611fb9565b915061200282611fc3565b600282019050919050565b5f819050919050565b6120276120228261162c565b61200d565b82525050565b5f61203782611feb565b91506120438285612016565b6020820191506120538284612016565b6020820191508190509392505050565b5f6080820190506120765f830187611635565b6120836020830186611604565b6120906040830185611635565b61209d6060830184611635565b95945050505050565b7f494e56414c49445f5349474e45520000000000000000000000000000000000005f82015250565b5f6120da600e836113a6565b91506120e5826120a6565b602082019050919050565b5f6020820190508181035f830152612107816120ce565b9050919050565b5f6040820190506121215f830185611dff565b61212e6020830184611dff565b9392505050565b5f81519050612143816114ba565b92915050565b5f6020828403121561215e5761215d61144f565b5b5f61216b84828501612135565b91505092915050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f815461219c8161192f565b6121a68186612174565b9450600182165f81146121c057600181146121d557612207565b60ff1983168652811515820286019350612207565b6121de8561217e565b5f5b838110156121ff578154818901526001820191506020810190506121e0565b838801955050505b50505092915050565b5f61221b8284612190565b915081905092915050565b5f60a0820190506122395f830188611635565b6122466020830187611635565b6122536040830186611635565b6122606060830185611555565b61226d6080830184611dff565b9695505050505050565b5f612281826114b1565b915061228c836114b1565b92508282019050808211156122a4576122a361195f565b5b9291505056fea264697066735822122024099bc8d25d2d4bccf8dd207e58429fd2acce2c5648d72981a99f837546d0b664736f6c63430008140033", } // LiquidStakingABI is the input ABI used to generate the binding from. diff --git a/contracts/bindings/testing/precompile_constructor.abigen.go b/contracts/bindings/testing/precompile_constructor.abigen.go index a24883fb1..736c15b30 100644 --- a/contracts/bindings/testing/precompile_constructor.abigen.go +++ b/contracts/bindings/testing/precompile_constructor.abigen.go @@ -32,7 +32,7 @@ var ( // PrecompileConstructorMetaData contains all meta data concerning the PrecompileConstructor contract. var PrecompileConstructorMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"abera\",\"outputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"denom\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"erc20Module\",\"outputs\":[{\"internalType\":\"contractIERC20Module\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", - Bin: "0x60a06040526269696973ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1681525034801562000046575f80fd5b505f60805173ffffffffffffffffffffffffffffffffffffffff1663096b4069333363075bcd156040518463ffffffff1660e01b81526004016200008d9392919062000416565b6020604051808303815f875af1158015620000aa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000d09190620004b1565b90508062000115576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200010c906200052f565b60405180910390fd5b60805173ffffffffffffffffffffffffffffffffffffffff1663a333e57c6040518163ffffffff1660e01b815260040162000150906200054f565b602060405180830381865afa1580156200016c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001929190620005b1565b5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060805173ffffffffffffffffffffffffffffffffffffffff1663cd22a0185f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016200022c91906200063f565b5f60405180830381865afa15801562000247573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190620002719190620007ce565b6001908162000281919062000a42565b506040518060400160405280600581526020017f6162657261000000000000000000000000000000000000000000000000000000815250805190602001206001604051620002d0919062000bce565b6040518091039020146200031b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003129062000c34565b60405180910390fd5b5062000c54565b5f82825260208201905092915050565b7f61626572610000000000000000000000000000000000000000000000000000005f82015250565b5f6200036860058362000322565b9150620003758262000332565b602082019050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620003ab8262000380565b9050919050565b620003bd816200039f565b82525050565b5f819050919050565b5f819050919050565b5f819050919050565b5f620003fe620003f8620003f284620003c3565b620003d5565b620003cc565b9050919050565b6200041081620003de565b82525050565b5f6080820190508181035f8301526200042f816200035a565b9050620004406020830186620003b2565b6200044f6040830185620003b2565b6200045e606083018462000405565b949350505050565b5f604051905090565b5f80fd5b5f80fd5b5f8115159050919050565b6200048d8162000477565b811462000498575f80fd5b50565b5f81519050620004ab8162000482565b92915050565b5f60208284031215620004c957620004c86200046f565b5b5f620004d8848285016200049b565b91505092915050565b7f6661696c656420746f207472616e7366657220616265726100000000000000005f82015250565b5f6200051760188362000322565b91506200052482620004e1565b602082019050919050565b5f6020820190508181035f830152620005488162000509565b9050919050565b5f6020820190508181035f83015262000568816200035a565b9050919050565b5f6200057b826200039f565b9050919050565b6200058d816200056f565b811462000598575f80fd5b50565b5f81519050620005ab8162000582565b92915050565b5f60208284031215620005c957620005c86200046f565b5b5f620005d8848285016200059b565b91505092915050565b5f62000601620005fb620005f58462000380565b620003d5565b62000380565b9050919050565b5f6200061482620005e1565b9050919050565b5f620006278262000608565b9050919050565b62000639816200061b565b82525050565b5f602082019050620006545f8301846200062e565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620006aa8262000662565b810181811067ffffffffffffffff82111715620006cc57620006cb62000672565b5b80604052505050565b5f620006e062000466565b9050620006ee82826200069f565b919050565b5f67ffffffffffffffff82111562000710576200070f62000672565b5b6200071b8262000662565b9050602081019050919050565b5f5b83811015620007475780820151818401526020810190506200072a565b5f8484015250505050565b5f620007686200076284620006f3565b620006d5565b9050828152602081018484840111156200078757620007866200065e565b5b6200079484828562000728565b509392505050565b5f82601f830112620007b357620007b26200065a565b5b8151620007c584826020860162000752565b91505092915050565b5f60208284031215620007e657620007e56200046f565b5b5f82015167ffffffffffffffff81111562000806576200080562000473565b5b62000814848285016200079c565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200086c57607f821691505b60208210810362000882576200088162000827565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620008e67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620008a9565b620008f28683620008a9565b95508019841693508086168417925050509392505050565b5f6200092a620009246200091e84620003cc565b620003d5565b620003cc565b9050919050565b5f819050919050565b62000945836200090a565b6200095d620009548262000931565b848454620008b5565b825550505050565b5f90565b6200097362000965565b620009808184846200093a565b505050565b5b81811015620009a7576200099b5f8262000969565b60018101905062000986565b5050565b601f821115620009f657620009c08162000888565b620009cb846200089a565b81016020851015620009db578190505b620009f3620009ea856200089a565b83018262000985565b50505b505050565b5f82821c905092915050565b5f62000a185f1984600802620009fb565b1980831691505092915050565b5f62000a32838362000a07565b9150826002028217905092915050565b62000a4d826200081d565b67ffffffffffffffff81111562000a695762000a6862000672565b5b62000a75825462000854565b62000a82828285620009ab565b5f60209050601f83116001811462000ab8575f841562000aa3578287015190505b62000aaf858262000a25565b86555062000b1e565b601f19841662000ac88662000888565b5f5b8281101562000af15784890151825560018201915060208501945060208101905062000aca565b8683101562000b11578489015162000b0d601f89168262000a07565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f815462000b508162000854565b62000b5c818662000b26565b9450600182165f811462000b79576001811462000b8f5762000bc5565b60ff198316865281151582028601935062000bc5565b62000b9a8562000b30565b5f5b8381101562000bbd5781548189015260018201915060208101905062000b9c565b838801955050505b50505092915050565b5f62000bdb828462000b42565b915081905092915050565b7f72657475726e6564207468652077726f6e672064656e6f6d00000000000000005f82015250565b5f62000c1c60188362000322565b915062000c298262000be6565b602082019050919050565b5f6020820190508181035f83015262000c4d8162000c0e565b9050919050565b60805161037962000c6c5f395f60c201526103795ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063558f208414610043578063714ba40c14610061578063c370b0421461007f575b5f80fd5b61004b61009d565b60405161005891906101ea565b60405180910390f35b6100696100c0565b6040516100769190610223565b60405180910390f35b6100876100e4565b60405161009491906102c6565b60405180910390f35b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b600180546100f190610313565b80601f016020809104026020016040519081016040528092919081815260200182805461011d90610313565b80156101685780601f1061013f57610100808354040283529160200191610168565b820191905f5260205f20905b81548152906001019060200180831161014b57829003601f168201915b505050505081565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f6101b26101ad6101a884610170565b61018f565b610170565b9050919050565b5f6101c382610198565b9050919050565b5f6101d4826101b9565b9050919050565b6101e4816101ca565b82525050565b5f6020820190506101fd5f8301846101db565b92915050565b5f61020d826101b9565b9050919050565b61021d81610203565b82525050565b5f6020820190506102365f830184610214565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610273578082015181840152602081019050610258565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6102988261023c565b6102a28185610246565b93506102b2818560208601610256565b6102bb8161027e565b840191505092915050565b5f6020820190508181035f8301526102de818461028e565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061032a57607f821691505b60208210810361033d5761033c6102e6565b5b5091905056fea26469706673582212200b42551397a7cb70300ad408aeab921c5db7820e33ac78885efe0780597bb2ec64736f6c63430008140033", + Bin: "0x60a06040526269696973ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1681525034801562000046575f80fd5b505f60805173ffffffffffffffffffffffffffffffffffffffff1663096b4069333363075bcd156040518463ffffffff1660e01b81526004016200008d9392919062000416565b6020604051808303815f875af1158015620000aa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000d09190620004b1565b90508062000115576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200010c906200052f565b60405180910390fd5b60805173ffffffffffffffffffffffffffffffffffffffff1663a333e57c6040518163ffffffff1660e01b815260040162000150906200054f565b602060405180830381865afa1580156200016c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001929190620005b1565b5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060805173ffffffffffffffffffffffffffffffffffffffff1663cd22a0185f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016200022c91906200063f565b5f60405180830381865afa15801562000247573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190620002719190620007ce565b6001908162000281919062000a42565b506040518060400160405280600581526020017f6162657261000000000000000000000000000000000000000000000000000000815250805190602001206001604051620002d0919062000bce565b6040518091039020146200031b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003129062000c34565b60405180910390fd5b5062000c54565b5f82825260208201905092915050565b7f61626572610000000000000000000000000000000000000000000000000000005f82015250565b5f6200036860058362000322565b9150620003758262000332565b602082019050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620003ab8262000380565b9050919050565b620003bd816200039f565b82525050565b5f819050919050565b5f819050919050565b5f819050919050565b5f620003fe620003f8620003f284620003c3565b620003d5565b620003cc565b9050919050565b6200041081620003de565b82525050565b5f6080820190508181035f8301526200042f816200035a565b9050620004406020830186620003b2565b6200044f6040830185620003b2565b6200045e606083018462000405565b949350505050565b5f604051905090565b5f80fd5b5f80fd5b5f8115159050919050565b6200048d8162000477565b811462000498575f80fd5b50565b5f81519050620004ab8162000482565b92915050565b5f60208284031215620004c957620004c86200046f565b5b5f620004d8848285016200049b565b91505092915050565b7f6661696c656420746f207472616e7366657220616265726100000000000000005f82015250565b5f6200051760188362000322565b91506200052482620004e1565b602082019050919050565b5f6020820190508181035f830152620005488162000509565b9050919050565b5f6020820190508181035f83015262000568816200035a565b9050919050565b5f6200057b826200039f565b9050919050565b6200058d816200056f565b811462000598575f80fd5b50565b5f81519050620005ab8162000582565b92915050565b5f60208284031215620005c957620005c86200046f565b5b5f620005d8848285016200059b565b91505092915050565b5f62000601620005fb620005f58462000380565b620003d5565b62000380565b9050919050565b5f6200061482620005e1565b9050919050565b5f620006278262000608565b9050919050565b62000639816200061b565b82525050565b5f602082019050620006545f8301846200062e565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620006aa8262000662565b810181811067ffffffffffffffff82111715620006cc57620006cb62000672565b5b80604052505050565b5f620006e062000466565b9050620006ee82826200069f565b919050565b5f67ffffffffffffffff82111562000710576200070f62000672565b5b6200071b8262000662565b9050602081019050919050565b5f5b83811015620007475780820151818401526020810190506200072a565b5f8484015250505050565b5f620007686200076284620006f3565b620006d5565b9050828152602081018484840111156200078757620007866200065e565b5b6200079484828562000728565b509392505050565b5f82601f830112620007b357620007b26200065a565b5b8151620007c584826020860162000752565b91505092915050565b5f60208284031215620007e657620007e56200046f565b5b5f82015167ffffffffffffffff81111562000806576200080562000473565b5b62000814848285016200079c565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200086c57607f821691505b60208210810362000882576200088162000827565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620008e67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620008a9565b620008f28683620008a9565b95508019841693508086168417925050509392505050565b5f6200092a620009246200091e84620003cc565b620003d5565b620003cc565b9050919050565b5f819050919050565b62000945836200090a565b6200095d620009548262000931565b848454620008b5565b825550505050565b5f90565b6200097362000965565b620009808184846200093a565b505050565b5b81811015620009a7576200099b5f8262000969565b60018101905062000986565b5050565b601f821115620009f657620009c08162000888565b620009cb846200089a565b81016020851015620009db578190505b620009f3620009ea856200089a565b83018262000985565b50505b505050565b5f82821c905092915050565b5f62000a185f1984600802620009fb565b1980831691505092915050565b5f62000a32838362000a07565b9150826002028217905092915050565b62000a4d826200081d565b67ffffffffffffffff81111562000a695762000a6862000672565b5b62000a75825462000854565b62000a82828285620009ab565b5f60209050601f83116001811462000ab8575f841562000aa3578287015190505b62000aaf858262000a25565b86555062000b1e565b601f19841662000ac88662000888565b5f5b8281101562000af15784890151825560018201915060208501945060208101905062000aca565b8683101562000b11578489015162000b0d601f89168262000a07565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f815462000b508162000854565b62000b5c818662000b26565b9450600182165f811462000b79576001811462000b8f5762000bc5565b60ff198316865281151582028601935062000bc5565b62000b9a8562000b30565b5f5b8381101562000bbd5781548189015260018201915060208101905062000b9c565b838801955050505b50505092915050565b5f62000bdb828462000b42565b915081905092915050565b7f72657475726e6564207468652077726f6e672064656e6f6d00000000000000005f82015250565b5f62000c1c60188362000322565b915062000c298262000be6565b602082019050919050565b5f6020820190508181035f83015262000c4d8162000c0e565b9050919050565b60805161037962000c6c5f395f60c201526103795ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063558f208414610043578063714ba40c14610061578063c370b0421461007f575b5f80fd5b61004b61009d565b60405161005891906101ea565b60405180910390f35b6100696100c0565b6040516100769190610223565b60405180910390f35b6100876100e4565b60405161009491906102c6565b60405180910390f35b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b600180546100f190610313565b80601f016020809104026020016040519081016040528092919081815260200182805461011d90610313565b80156101685780601f1061013f57610100808354040283529160200191610168565b820191905f5260205f20905b81548152906001019060200180831161014b57829003601f168201915b505050505081565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f6101b26101ad6101a884610170565b61018f565b610170565b9050919050565b5f6101c382610198565b9050919050565b5f6101d4826101b9565b9050919050565b6101e4816101ca565b82525050565b5f6020820190506101fd5f8301846101db565b92915050565b5f61020d826101b9565b9050919050565b61021d81610203565b82525050565b5f6020820190506102365f830184610214565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610273578082015181840152602081019050610258565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6102988261023c565b6102a28185610246565b93506102b2818560208601610256565b6102bb8161027e565b840191505092915050565b5f6020820190508181035f8301526102de818461028e565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061032a57607f821691505b60208210810361033d5761033c6102e6565b5b5091905056fea26469706673582212204d4dd9d1b4218a7b47b358becc5135af4183250e72ec15928cb461ffd3ac574064736f6c63430008140033", } // PrecompileConstructorABI is the input ABI used to generate the binding from. diff --git a/contracts/bindings/testing/solmate_erc20.abigen.go b/contracts/bindings/testing/solmate_erc20.abigen.go index 044cae7c7..b05c3b6da 100644 --- a/contracts/bindings/testing/solmate_erc20.abigen.go +++ b/contracts/bindings/testing/solmate_erc20.abigen.go @@ -32,7 +32,7 @@ var ( // SolmateERC20MetaData contains all meta data concerning the SolmateERC20 contract. var SolmateERC20MetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x60e060405234801562000010575f80fd5b506040518060400160405280600581526020017f546f6b656e0000000000000000000000000000000000000000000000000000008152506040518060400160405280600281526020017f544b0000000000000000000000000000000000000000000000000000000000008152506012825f90816200008f9190620003ca565b508160019081620000a19190620003ca565b508060ff1660808160ff16815250504660a08181525050620000c8620000d860201b60201c565b60c0818152505050505062000637565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516200010a919062000556565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646306040516020016200014b959493929190620005dc565b60405160208183030381529060405280519060200120905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620001e257607f821691505b602082108103620001f857620001f76200019d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200025c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200021f565b6200026886836200021f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620002b2620002ac620002a68462000280565b62000289565b62000280565b9050919050565b5f819050919050565b620002cd8362000292565b620002e5620002dc82620002b9565b8484546200022b565b825550505050565b5f90565b620002fb620002ed565b62000308818484620002c2565b505050565b5b818110156200032f57620003235f82620002f1565b6001810190506200030e565b5050565b601f8211156200037e576200034881620001fe565b620003538462000210565b8101602085101562000363578190505b6200037b620003728562000210565b8301826200030d565b50505b505050565b5f82821c905092915050565b5f620003a05f198460080262000383565b1980831691505092915050565b5f620003ba83836200038f565b9150826002028217905092915050565b620003d58262000166565b67ffffffffffffffff811115620003f157620003f062000170565b5b620003fd8254620001ca565b6200040a82828562000333565b5f60209050601f83116001811462000440575f84156200042b578287015190505b620004378582620003ad565b865550620004a6565b601f1984166200045086620001fe565b5f5b82811015620004795784890151825560018201915060208501945060208101905062000452565b8683101562000499578489015162000495601f8916826200038f565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f8154620004d881620001ca565b620004e48186620004ae565b9450600182165f811462000501576001811462000517576200054d565b60ff19831686528115158202860193506200054d565b6200052285620004b8565b5f5b83811015620005455781548189015260018201915060208101905062000524565b838801955050505b50505092915050565b5f620005638284620004ca565b915081905092915050565b5f819050919050565b62000582816200056e565b82525050565b620005938162000280565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620005c48262000599565b9050919050565b620005d681620005b8565b82525050565b5f60a082019050620005f15f83018862000577565b62000600602083018762000577565b6200060f604083018662000577565b6200061e606083018562000588565b6200062d6080830184620005cb565b9695505050505050565b60805160a05160c0516115b0620006625f395f6106d301525f61069f01525f61067a01526115b05ff3fe608060405234801561000f575f80fd5b50600436106100cd575f3560e01c806340c10f191161008a57806395d89b411161006457806395d89b4114610225578063a9059cbb14610243578063d505accf14610273578063dd62ed3e1461028f576100cd565b806340c10f19146101a957806370a08231146101c55780637ecebe00146101f5576100cd565b806306fdde03146100d1578063095ea7b3146100ef57806318160ddd1461011f57806323b872dd1461013d578063313ce5671461016d5780633644e5151461018b575b5f80fd5b6100d96102bf565b6040516100e69190610e03565b60405180910390f35b61010960048036038101906101049190610eb4565b61034a565b6040516101169190610f0c565b60405180910390f35b610127610437565b6040516101349190610f34565b60405180910390f35b61015760048036038101906101529190610f4d565b61043d565b6040516101649190610f0c565b60405180910390f35b610175610678565b6040516101829190610fb8565b60405180910390f35b61019361069c565b6040516101a09190610fe9565b60405180910390f35b6101c360048036038101906101be9190610eb4565b6106f8565b005b6101df60048036038101906101da9190611002565b610754565b6040516101ec9190610f34565b60405180910390f35b61020f600480360381019061020a9190611002565b610769565b60405161021c9190610f34565b60405180910390f35b61022d61077e565b60405161023a9190610e03565b60405180910390f35b61025d60048036038101906102589190610eb4565b61080a565b60405161026a9190610f0c565b60405180910390f35b61028d60048036038101906102889190611081565b610917565b005b6102a960048036038101906102a4919061111e565b610c04565b6040516102b69190610f34565b60405180910390f35b5f80546102cb90611189565b80601f01602080910402602001604051908101604052809291908181526020018280546102f790611189565b80156103425780601f1061031957610100808354040283529160200191610342565b820191905f5260205f20905b81548152906001019060200180831161032557829003601f168201915b505050505081565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104259190610f34565b60405180910390a36001905092915050565b60025481565b5f8060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461056a5782816104ed91906111e6565b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b8260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546105b691906111e6565b925050819055508260035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516106649190610f34565b60405180910390a360019150509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f7f000000000000000000000000000000000000000000000000000000000000000046146106d1576106cc610c24565b6106f3565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b6107028282610cae565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040516107489190610f34565b60405180910390a25050565b6003602052805f5260405f205f915090505481565b6005602052805f5260405f205f915090505481565b6001805461078b90611189565b80601f01602080910402602001604051908101604052809291908181526020018280546107b790611189565b80156108025780601f106107d957610100808354040283529160200191610802565b820191905f5260205f20905b8154815290600101906020018083116107e557829003601f168201915b505050505081565b5f8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461085791906111e6565b925050819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109059190610f34565b60405180910390a36001905092915050565b4284101561095a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095190611263565b60405180910390fd5b5f600161096561069c565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a60055f8f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050558b6040516020016109ea96959493929190611290565b60405160208183030381529060405280519060200120604051602001610a11929190611363565b604051602081830303815290604052805190602001208585856040515f8152602001604052604051610a469493929190611399565b6020604051602081039080840390855afa158015610a66573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610ad957508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0f90611426565b60405180910390fd5b8560045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610bf39190610f34565b60405180910390a350505050505050565b6004602052815f5260405f20602052805f5260405f205f91509150505481565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051610c5491906114e0565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001610c939594939291906114f6565b60405160208183030381529060405280519060200120905090565b8060025f828254610cbf9190611547565b925050819055508060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d6d9190610f34565b60405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610db0578082015181840152602081019050610d95565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610dd582610d79565b610ddf8185610d83565b9350610def818560208601610d93565b610df881610dbb565b840191505092915050565b5f6020820190508181035f830152610e1b8184610dcb565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610e5082610e27565b9050919050565b610e6081610e46565b8114610e6a575f80fd5b50565b5f81359050610e7b81610e57565b92915050565b5f819050919050565b610e9381610e81565b8114610e9d575f80fd5b50565b5f81359050610eae81610e8a565b92915050565b5f8060408385031215610eca57610ec9610e23565b5b5f610ed785828601610e6d565b9250506020610ee885828601610ea0565b9150509250929050565b5f8115159050919050565b610f0681610ef2565b82525050565b5f602082019050610f1f5f830184610efd565b92915050565b610f2e81610e81565b82525050565b5f602082019050610f475f830184610f25565b92915050565b5f805f60608486031215610f6457610f63610e23565b5b5f610f7186828701610e6d565b9350506020610f8286828701610e6d565b9250506040610f9386828701610ea0565b9150509250925092565b5f60ff82169050919050565b610fb281610f9d565b82525050565b5f602082019050610fcb5f830184610fa9565b92915050565b5f819050919050565b610fe381610fd1565b82525050565b5f602082019050610ffc5f830184610fda565b92915050565b5f6020828403121561101757611016610e23565b5b5f61102484828501610e6d565b91505092915050565b61103681610f9d565b8114611040575f80fd5b50565b5f813590506110518161102d565b92915050565b61106081610fd1565b811461106a575f80fd5b50565b5f8135905061107b81611057565b92915050565b5f805f805f805f60e0888a03121561109c5761109b610e23565b5b5f6110a98a828b01610e6d565b97505060206110ba8a828b01610e6d565b96505060406110cb8a828b01610ea0565b95505060606110dc8a828b01610ea0565b94505060806110ed8a828b01611043565b93505060a06110fe8a828b0161106d565b92505060c061110f8a828b0161106d565b91505092959891949750929550565b5f806040838503121561113457611133610e23565b5b5f61114185828601610e6d565b925050602061115285828601610e6d565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806111a057607f821691505b6020821081036111b3576111b261115c565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6111f082610e81565b91506111fb83610e81565b9250828203905081811115611213576112126111b9565b5b92915050565b7f5045524d49545f444541444c494e455f455850495245440000000000000000005f82015250565b5f61124d601783610d83565b915061125882611219565b602082019050919050565b5f6020820190508181035f83015261127a81611241565b9050919050565b61128a81610e46565b82525050565b5f60c0820190506112a35f830189610fda565b6112b06020830188611281565b6112bd6040830187611281565b6112ca6060830186610f25565b6112d76080830185610f25565b6112e460a0830184610f25565b979650505050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f61132d6002836112ef565b9150611338826112f9565b600282019050919050565b5f819050919050565b61135d61135882610fd1565b611343565b82525050565b5f61136d82611321565b9150611379828561134c565b602082019150611389828461134c565b6020820191508190509392505050565b5f6080820190506113ac5f830187610fda565b6113b96020830186610fa9565b6113c66040830185610fda565b6113d36060830184610fda565b95945050505050565b7f494e56414c49445f5349474e45520000000000000000000000000000000000005f82015250565b5f611410600e83610d83565b915061141b826113dc565b602082019050919050565b5f6020820190508181035f83015261143d81611404565b9050919050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f815461146c81611189565b6114768186611444565b9450600182165f811461149057600181146114a5576114d7565b60ff19831686528115158202860193506114d7565b6114ae8561144e565b5f5b838110156114cf578154818901526001820191506020810190506114b0565b838801955050505b50505092915050565b5f6114eb8284611460565b915081905092915050565b5f60a0820190506115095f830188610fda565b6115166020830187610fda565b6115236040830186610fda565b6115306060830185610f25565b61153d6080830184611281565b9695505050505050565b5f61155182610e81565b915061155c83610e81565b9250828201905080821115611574576115736111b9565b5b9291505056fea26469706673582212205e042b28d312604c9eb9f461fa6a115a942807f99d76a60aa48515134e1ded3e64736f6c63430008140033", + Bin: "0x60e060405234801562000010575f80fd5b506040518060400160405280600581526020017f546f6b656e0000000000000000000000000000000000000000000000000000008152506040518060400160405280600281526020017f544b0000000000000000000000000000000000000000000000000000000000008152506012825f90816200008f9190620003ca565b508160019081620000a19190620003ca565b508060ff1660808160ff16815250504660a08181525050620000c8620000d860201b60201c565b60c0818152505050505062000637565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516200010a919062000556565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646306040516020016200014b959493929190620005dc565b60405160208183030381529060405280519060200120905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620001e257607f821691505b602082108103620001f857620001f76200019d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200025c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200021f565b6200026886836200021f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620002b2620002ac620002a68462000280565b62000289565b62000280565b9050919050565b5f819050919050565b620002cd8362000292565b620002e5620002dc82620002b9565b8484546200022b565b825550505050565b5f90565b620002fb620002ed565b62000308818484620002c2565b505050565b5b818110156200032f57620003235f82620002f1565b6001810190506200030e565b5050565b601f8211156200037e576200034881620001fe565b620003538462000210565b8101602085101562000363578190505b6200037b620003728562000210565b8301826200030d565b50505b505050565b5f82821c905092915050565b5f620003a05f198460080262000383565b1980831691505092915050565b5f620003ba83836200038f565b9150826002028217905092915050565b620003d58262000166565b67ffffffffffffffff811115620003f157620003f062000170565b5b620003fd8254620001ca565b6200040a82828562000333565b5f60209050601f83116001811462000440575f84156200042b578287015190505b620004378582620003ad565b865550620004a6565b601f1984166200045086620001fe565b5f5b82811015620004795784890151825560018201915060208501945060208101905062000452565b8683101562000499578489015162000495601f8916826200038f565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f8154620004d881620001ca565b620004e48186620004ae565b9450600182165f811462000501576001811462000517576200054d565b60ff19831686528115158202860193506200054d565b6200052285620004b8565b5f5b83811015620005455781548189015260018201915060208101905062000524565b838801955050505b50505092915050565b5f620005638284620004ca565b915081905092915050565b5f819050919050565b62000582816200056e565b82525050565b620005938162000280565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620005c48262000599565b9050919050565b620005d681620005b8565b82525050565b5f60a082019050620005f15f83018862000577565b62000600602083018762000577565b6200060f604083018662000577565b6200061e606083018562000588565b6200062d6080830184620005cb565b9695505050505050565b60805160a05160c0516115b0620006625f395f6106d301525f61069f01525f61067a01526115b05ff3fe608060405234801561000f575f80fd5b50600436106100cd575f3560e01c806340c10f191161008a57806395d89b411161006457806395d89b4114610225578063a9059cbb14610243578063d505accf14610273578063dd62ed3e1461028f576100cd565b806340c10f19146101a957806370a08231146101c55780637ecebe00146101f5576100cd565b806306fdde03146100d1578063095ea7b3146100ef57806318160ddd1461011f57806323b872dd1461013d578063313ce5671461016d5780633644e5151461018b575b5f80fd5b6100d96102bf565b6040516100e69190610e03565b60405180910390f35b61010960048036038101906101049190610eb4565b61034a565b6040516101169190610f0c565b60405180910390f35b610127610437565b6040516101349190610f34565b60405180910390f35b61015760048036038101906101529190610f4d565b61043d565b6040516101649190610f0c565b60405180910390f35b610175610678565b6040516101829190610fb8565b60405180910390f35b61019361069c565b6040516101a09190610fe9565b60405180910390f35b6101c360048036038101906101be9190610eb4565b6106f8565b005b6101df60048036038101906101da9190611002565b610754565b6040516101ec9190610f34565b60405180910390f35b61020f600480360381019061020a9190611002565b610769565b60405161021c9190610f34565b60405180910390f35b61022d61077e565b60405161023a9190610e03565b60405180910390f35b61025d60048036038101906102589190610eb4565b61080a565b60405161026a9190610f0c565b60405180910390f35b61028d60048036038101906102889190611081565b610917565b005b6102a960048036038101906102a4919061111e565b610c04565b6040516102b69190610f34565b60405180910390f35b5f80546102cb90611189565b80601f01602080910402602001604051908101604052809291908181526020018280546102f790611189565b80156103425780601f1061031957610100808354040283529160200191610342565b820191905f5260205f20905b81548152906001019060200180831161032557829003601f168201915b505050505081565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104259190610f34565b60405180910390a36001905092915050565b60025481565b5f8060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461056a5782816104ed91906111e6565b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b8260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546105b691906111e6565b925050819055508260035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516106649190610f34565b60405180910390a360019150509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f7f000000000000000000000000000000000000000000000000000000000000000046146106d1576106cc610c24565b6106f3565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b6107028282610cae565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040516107489190610f34565b60405180910390a25050565b6003602052805f5260405f205f915090505481565b6005602052805f5260405f205f915090505481565b6001805461078b90611189565b80601f01602080910402602001604051908101604052809291908181526020018280546107b790611189565b80156108025780601f106107d957610100808354040283529160200191610802565b820191905f5260205f20905b8154815290600101906020018083116107e557829003601f168201915b505050505081565b5f8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461085791906111e6565b925050819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109059190610f34565b60405180910390a36001905092915050565b4284101561095a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095190611263565b60405180910390fd5b5f600161096561069c565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a60055f8f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050558b6040516020016109ea96959493929190611290565b60405160208183030381529060405280519060200120604051602001610a11929190611363565b604051602081830303815290604052805190602001208585856040515f8152602001604052604051610a469493929190611399565b6020604051602081039080840390855afa158015610a66573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610ad957508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0f90611426565b60405180910390fd5b8560045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610bf39190610f34565b60405180910390a350505050505050565b6004602052815f5260405f20602052805f5260405f205f91509150505481565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051610c5491906114e0565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001610c939594939291906114f6565b60405160208183030381529060405280519060200120905090565b8060025f828254610cbf9190611547565b925050819055508060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d6d9190610f34565b60405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610db0578082015181840152602081019050610d95565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610dd582610d79565b610ddf8185610d83565b9350610def818560208601610d93565b610df881610dbb565b840191505092915050565b5f6020820190508181035f830152610e1b8184610dcb565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610e5082610e27565b9050919050565b610e6081610e46565b8114610e6a575f80fd5b50565b5f81359050610e7b81610e57565b92915050565b5f819050919050565b610e9381610e81565b8114610e9d575f80fd5b50565b5f81359050610eae81610e8a565b92915050565b5f8060408385031215610eca57610ec9610e23565b5b5f610ed785828601610e6d565b9250506020610ee885828601610ea0565b9150509250929050565b5f8115159050919050565b610f0681610ef2565b82525050565b5f602082019050610f1f5f830184610efd565b92915050565b610f2e81610e81565b82525050565b5f602082019050610f475f830184610f25565b92915050565b5f805f60608486031215610f6457610f63610e23565b5b5f610f7186828701610e6d565b9350506020610f8286828701610e6d565b9250506040610f9386828701610ea0565b9150509250925092565b5f60ff82169050919050565b610fb281610f9d565b82525050565b5f602082019050610fcb5f830184610fa9565b92915050565b5f819050919050565b610fe381610fd1565b82525050565b5f602082019050610ffc5f830184610fda565b92915050565b5f6020828403121561101757611016610e23565b5b5f61102484828501610e6d565b91505092915050565b61103681610f9d565b8114611040575f80fd5b50565b5f813590506110518161102d565b92915050565b61106081610fd1565b811461106a575f80fd5b50565b5f8135905061107b81611057565b92915050565b5f805f805f805f60e0888a03121561109c5761109b610e23565b5b5f6110a98a828b01610e6d565b97505060206110ba8a828b01610e6d565b96505060406110cb8a828b01610ea0565b95505060606110dc8a828b01610ea0565b94505060806110ed8a828b01611043565b93505060a06110fe8a828b0161106d565b92505060c061110f8a828b0161106d565b91505092959891949750929550565b5f806040838503121561113457611133610e23565b5b5f61114185828601610e6d565b925050602061115285828601610e6d565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806111a057607f821691505b6020821081036111b3576111b261115c565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6111f082610e81565b91506111fb83610e81565b9250828203905081811115611213576112126111b9565b5b92915050565b7f5045524d49545f444541444c494e455f455850495245440000000000000000005f82015250565b5f61124d601783610d83565b915061125882611219565b602082019050919050565b5f6020820190508181035f83015261127a81611241565b9050919050565b61128a81610e46565b82525050565b5f60c0820190506112a35f830189610fda565b6112b06020830188611281565b6112bd6040830187611281565b6112ca6060830186610f25565b6112d76080830185610f25565b6112e460a0830184610f25565b979650505050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f61132d6002836112ef565b9150611338826112f9565b600282019050919050565b5f819050919050565b61135d61135882610fd1565b611343565b82525050565b5f61136d82611321565b9150611379828561134c565b602082019150611389828461134c565b6020820191508190509392505050565b5f6080820190506113ac5f830187610fda565b6113b96020830186610fa9565b6113c66040830185610fda565b6113d36060830184610fda565b95945050505050565b7f494e56414c49445f5349474e45520000000000000000000000000000000000005f82015250565b5f611410600e83610d83565b915061141b826113dc565b602082019050919050565b5f6020820190508181035f83015261143d81611404565b9050919050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f815461146c81611189565b6114768186611444565b9450600182165f811461149057600181146114a5576114d7565b60ff19831686528115158202860193506114d7565b6114ae8561144e565b5f5b838110156114cf578154818901526001820191506020810190506114b0565b838801955050505b50505092915050565b5f6114eb8284611460565b915081905092915050565b5f60a0820190506115095f830188610fda565b6115166020830187610fda565b6115236040830186610fda565b6115306060830185610f25565b61153d6080830184611281565b9695505050505050565b5f61155182610e81565b915061155c83610e81565b9250828201905080821115611574576115736111b9565b5b9291505056fea2646970667358221220383dcd14dbb4c0b9470e469c942780d9bdeb224d65a2dfb2a8153bcffc7cd73064736f6c63430008140033", } // SolmateERC20ABI is the input ABI used to generate the binding from. diff --git a/contracts/bindings/testing/swapper.abigen.go b/contracts/bindings/testing/swapper.abigen.go index d97fcc510..5f3bad687 100644 --- a/contracts/bindings/testing/swapper.abigen.go +++ b/contracts/bindings/testing/swapper.abigen.go @@ -32,7 +32,7 @@ var ( // SwapperMetaData contains all meta data concerning the Swapper contract. var SwapperMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"erc20Module\",\"outputs\":[{\"internalType\":\"contractIERC20Module\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"denom\",\"type\":\"string\"}],\"name\":\"getPolarisERC20\",\"outputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"denom\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"swap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"swap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x60a06040526269696973ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250348015610045575f80fd5b50608051610b116100735f395f81816101c2015281816101e7015281816102d101526103b80152610b115ff3fe608060405234801561000f575f80fd5b5060043610610055575f3560e01c806347e7ef2414610059578063714ba40c146100755780639d456b6214610093578063d004f0f7146100af578063d6ece467146100cb575b5f80fd5b610073600480360381019061006e91906104ed565b6100fb565b005b61007d6101c0565b60405161008a9190610586565b60405180910390f35b6100ad60048036038101906100a89190610600565b6101e4565b005b6100c960048036038101906100c49190610698565b6102ce565b005b6100e560048036038101906100e091906106d6565b6103b5565b6040516100f29190610741565b60405180910390f35b5f8273ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b815260040161013993929190610778565b6020604051808303815f875af1158015610155573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061017991906107e2565b9050806101bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b290610867565b60405180910390fd5b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663096b406985853333876040518663ffffffff1660e01b81526004016102469594939291906108cf565b6020604051808303815f875af1158015610262573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061028691906107e2565b9050806102c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102bf9061098b565b60405180910390fd5b50505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b96d8bec843333866040518563ffffffff1660e01b815260040161032e94939291906109a9565b6020604051808303815f875af115801561034a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061036e91906107e2565b9050806103b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a790610a5c565b60405180910390fd5b505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a333e57c84846040518363ffffffff1660e01b8152600401610411929190610a7a565b602060405180830381865afa15801561042c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104509190610ab0565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61048982610460565b9050919050565b6104998161047f565b81146104a3575f80fd5b50565b5f813590506104b481610490565b92915050565b5f819050919050565b6104cc816104ba565b81146104d6575f80fd5b50565b5f813590506104e7816104c3565b92915050565b5f806040838503121561050357610502610458565b5b5f610510858286016104a6565b9250506020610521858286016104d9565b9150509250929050565b5f819050919050565b5f61054e61054961054484610460565b61052b565b610460565b9050919050565b5f61055f82610534565b9050919050565b5f61057082610555565b9050919050565b61058081610566565b82525050565b5f6020820190506105995f830184610577565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126105c0576105bf61059f565b5b8235905067ffffffffffffffff8111156105dd576105dc6105a3565b5b6020830191508360018202830111156105f9576105f86105a7565b5b9250929050565b5f805f6040848603121561061757610616610458565b5b5f84013567ffffffffffffffff8111156106345761063361045c565b5b610640868287016105ab565b93509350506020610653868287016104d9565b9150509250925092565b5f6106678261047f565b9050919050565b6106778161065d565b8114610681575f80fd5b50565b5f813590506106928161066e565b92915050565b5f80604083850312156106ae576106ad610458565b5b5f6106bb85828601610684565b92505060206106cc858286016104d9565b9150509250929050565b5f80602083850312156106ec576106eb610458565b5b5f83013567ffffffffffffffff8111156107095761070861045c565b5b610715858286016105ab565b92509250509250929050565b5f61072b82610555565b9050919050565b61073b81610721565b82525050565b5f6020820190506107545f830184610732565b92915050565b6107638161047f565b82525050565b610772816104ba565b82525050565b5f60608201905061078b5f83018661075a565b610798602083018561075a565b6107a56040830184610769565b949350505050565b5f8115159050919050565b6107c1816107ad565b81146107cb575f80fd5b50565b5f815190506107dc816107b8565b92915050565b5f602082840312156107f7576107f6610458565b5b5f610804848285016107ce565b91505092915050565b5f82825260208201905092915050565b7f537761707065723a207472616e7366657246726f6d206661696c6564000000005f82015250565b5f610851601c8361080d565b915061085c8261081d565b602082019050919050565b5f6020820190508181035f83015261087e81610845565b9050919050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f6108ae838561080d565b93506108bb838584610885565b6108c483610893565b840190509392505050565b5f6080820190508181035f8301526108e88187896108a3565b90506108f7602083018661075a565b610904604083018561075a565b6109116060830184610769565b9695505050505050565b7f537761707065723a207472616e73666572436f696e546f4552433230206661695f8201527f6c65640000000000000000000000000000000000000000000000000000000000602082015250565b5f61097560238361080d565b91506109808261091b565b604082019050919050565b5f6020820190508181035f8301526109a281610969565b9050919050565b5f6080820190506109bc5f830187610732565b6109c9602083018661075a565b6109d6604083018561075a565b6109e36060830184610769565b95945050505050565b7f537761707065723a207472616e736665724552433230546f436f696e206661695f8201527f6c65640000000000000000000000000000000000000000000000000000000000602082015250565b5f610a4660238361080d565b9150610a51826109ec565b604082019050919050565b5f6020820190508181035f830152610a7381610a3a565b9050919050565b5f6020820190508181035f830152610a938184866108a3565b90509392505050565b5f81519050610aaa8161066e565b92915050565b5f60208284031215610ac557610ac4610458565b5b5f610ad284828501610a9c565b9150509291505056fea26469706673582212207ab3aee3982357eeca7f05ecd5f7b028fbb4e4438a4437b2b3294519a7e25bcc64736f6c63430008140033", + Bin: "0x60a06040526269696973ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250348015610045575f80fd5b50608051610b116100735f395f81816101c2015281816101e7015281816102d101526103b80152610b115ff3fe608060405234801561000f575f80fd5b5060043610610055575f3560e01c806347e7ef2414610059578063714ba40c146100755780639d456b6214610093578063d004f0f7146100af578063d6ece467146100cb575b5f80fd5b610073600480360381019061006e91906104ed565b6100fb565b005b61007d6101c0565b60405161008a9190610586565b60405180910390f35b6100ad60048036038101906100a89190610600565b6101e4565b005b6100c960048036038101906100c49190610698565b6102ce565b005b6100e560048036038101906100e091906106d6565b6103b5565b6040516100f29190610741565b60405180910390f35b5f8273ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b815260040161013993929190610778565b6020604051808303815f875af1158015610155573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061017991906107e2565b9050806101bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b290610867565b60405180910390fd5b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663096b406985853333876040518663ffffffff1660e01b81526004016102469594939291906108cf565b6020604051808303815f875af1158015610262573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061028691906107e2565b9050806102c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102bf9061098b565b60405180910390fd5b50505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b96d8bec843333866040518563ffffffff1660e01b815260040161032e94939291906109a9565b6020604051808303815f875af115801561034a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061036e91906107e2565b9050806103b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a790610a5c565b60405180910390fd5b505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a333e57c84846040518363ffffffff1660e01b8152600401610411929190610a7a565b602060405180830381865afa15801561042c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104509190610ab0565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61048982610460565b9050919050565b6104998161047f565b81146104a3575f80fd5b50565b5f813590506104b481610490565b92915050565b5f819050919050565b6104cc816104ba565b81146104d6575f80fd5b50565b5f813590506104e7816104c3565b92915050565b5f806040838503121561050357610502610458565b5b5f610510858286016104a6565b9250506020610521858286016104d9565b9150509250929050565b5f819050919050565b5f61054e61054961054484610460565b61052b565b610460565b9050919050565b5f61055f82610534565b9050919050565b5f61057082610555565b9050919050565b61058081610566565b82525050565b5f6020820190506105995f830184610577565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126105c0576105bf61059f565b5b8235905067ffffffffffffffff8111156105dd576105dc6105a3565b5b6020830191508360018202830111156105f9576105f86105a7565b5b9250929050565b5f805f6040848603121561061757610616610458565b5b5f84013567ffffffffffffffff8111156106345761063361045c565b5b610640868287016105ab565b93509350506020610653868287016104d9565b9150509250925092565b5f6106678261047f565b9050919050565b6106778161065d565b8114610681575f80fd5b50565b5f813590506106928161066e565b92915050565b5f80604083850312156106ae576106ad610458565b5b5f6106bb85828601610684565b92505060206106cc858286016104d9565b9150509250929050565b5f80602083850312156106ec576106eb610458565b5b5f83013567ffffffffffffffff8111156107095761070861045c565b5b610715858286016105ab565b92509250509250929050565b5f61072b82610555565b9050919050565b61073b81610721565b82525050565b5f6020820190506107545f830184610732565b92915050565b6107638161047f565b82525050565b610772816104ba565b82525050565b5f60608201905061078b5f83018661075a565b610798602083018561075a565b6107a56040830184610769565b949350505050565b5f8115159050919050565b6107c1816107ad565b81146107cb575f80fd5b50565b5f815190506107dc816107b8565b92915050565b5f602082840312156107f7576107f6610458565b5b5f610804848285016107ce565b91505092915050565b5f82825260208201905092915050565b7f537761707065723a207472616e7366657246726f6d206661696c6564000000005f82015250565b5f610851601c8361080d565b915061085c8261081d565b602082019050919050565b5f6020820190508181035f83015261087e81610845565b9050919050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f6108ae838561080d565b93506108bb838584610885565b6108c483610893565b840190509392505050565b5f6080820190508181035f8301526108e88187896108a3565b90506108f7602083018661075a565b610904604083018561075a565b6109116060830184610769565b9695505050505050565b7f537761707065723a207472616e73666572436f696e546f4552433230206661695f8201527f6c65640000000000000000000000000000000000000000000000000000000000602082015250565b5f61097560238361080d565b91506109808261091b565b604082019050919050565b5f6020820190508181035f8301526109a281610969565b9050919050565b5f6080820190506109bc5f830187610732565b6109c9602083018661075a565b6109d6604083018561075a565b6109e36060830184610769565b95945050505050565b7f537761707065723a207472616e736665724552433230546f436f696e206661695f8201527f6c65640000000000000000000000000000000000000000000000000000000000602082015250565b5f610a4660238361080d565b9150610a51826109ec565b604082019050919050565b5f6020820190508181035f830152610a7381610a3a565b9050919050565b5f6020820190508181035f830152610a938184866108a3565b90509392505050565b5f81519050610aaa8161066e565b92915050565b5f60208284031215610ac557610ac4610458565b5b5f610ad284828501610a9c565b9150509291505056fea2646970667358221220a83c2e57245cd67e7ad1eb0d0fc201b53abfdfd4b4e9c525d046cd66d7e45eb164736f6c63430008140033", } // SwapperABI is the input ABI used to generate the binding from.