diff --git a/contracts/bindings/cosmos/lib/cosmos_types.abigen.go b/contracts/bindings/cosmos/lib/cosmos_types.abigen.go index e274e07f2..b7ebf3fe7 100644 --- a/contracts/bindings/cosmos/lib/cosmos_types.abigen.go +++ b/contracts/bindings/cosmos/lib/cosmos_types.abigen.go @@ -38,7 +38,7 @@ type CosmosCoin 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\"}]", - Bin: "0x608060405234801561000f575f80fd5b5060e18061001c5f395ff3fe6080604052348015600e575f80fd5b50600436106026575f3560e01c80632ff6e5df14602a575b5f80fd5b60406004803603810190603c9190606c565b6042565b005b50565b5f80fd5b5f80fd5b5f80fd5b5f604082840312156063576062604d565b5b81905092915050565b5f60208284031215607e57607d6045565b5b5f82013567ffffffffffffffff81111560985760976049565b5b60a2848285016051565b9150509291505056fea264697066735822122002e729f4ad12c830b361e2be989371504068e496dc5b6f36b2b28ca392fcffaf64736f6c63430008140033", + Bin: "0x608060405234801561000f575f80fd5b5060e18061001c5f395ff3fe6080604052348015600e575f80fd5b50600436106026575f3560e01c80632ff6e5df14602a575b5f80fd5b60406004803603810190603c9190606c565b6042565b005b50565b5f80fd5b5f80fd5b5f80fd5b5f604082840312156063576062604d565b5b81905092915050565b5f60208284031215607e57607d6045565b5b5f82013567ffffffffffffffff81111560985760976049565b5b60a2848285016051565b9150509291505056fea2646970667358221220b9c03f8abee64d7ef385f44ea72abb346e3dd9e15ec4b857fe4a912525b8f2db64736f6c63430008140033", } // 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 c0178a2b6..3d6733be4 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\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"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\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x60e060405234801562000010575f80fd5b506040516200220d3803806200220d833981810160405281019062000036919062000344565b8081601233805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508260019081620000e69190620005ca565b508160029081620000f89190620005ca565b508060ff1660808160ff16815250504660a081815250506200011f6200013060201b60201c565b60c081815250505050505062000837565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600160405162000163919062000756565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001620001a4959493929190620007dc565b60405160208183030381529060405280519060200120905090565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200022082620001d8565b810181811067ffffffffffffffff82111715620002425762000241620001e8565b5b80604052505050565b5f62000256620001bf565b905062000264828262000215565b919050565b5f67ffffffffffffffff821115620002865762000285620001e8565b5b6200029182620001d8565b9050602081019050919050565b5f5b83811015620002bd578082015181840152602081019050620002a0565b5f8484015250505050565b5f620002de620002d88462000269565b6200024b565b905082815260208101848484011115620002fd57620002fc620001d4565b5b6200030a8482856200029e565b509392505050565b5f82601f830112620003295762000328620001d0565b5b81516200033b848260208601620002c8565b91505092915050565b5f602082840312156200035c576200035b620001c8565b5b5f82015167ffffffffffffffff8111156200037c576200037b620001cc565b5b6200038a8482850162000312565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620003e257607f821691505b602082108103620003f857620003f76200039d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200045c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200041f565b6200046886836200041f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620004b2620004ac620004a68462000480565b62000489565b62000480565b9050919050565b5f819050919050565b620004cd8362000492565b620004e5620004dc82620004b9565b8484546200042b565b825550505050565b5f90565b620004fb620004ed565b62000508818484620004c2565b505050565b5b818110156200052f57620005235f82620004f1565b6001810190506200050e565b5050565b601f8211156200057e576200054881620003fe565b620005538462000410565b8101602085101562000563578190505b6200057b620005728562000410565b8301826200050d565b50505b505050565b5f82821c905092915050565b5f620005a05f198460080262000583565b1980831691505092915050565b5f620005ba83836200058f565b9150826002028217905092915050565b620005d58262000393565b67ffffffffffffffff811115620005f157620005f0620001e8565b5b620005fd8254620003ca565b6200060a82828562000533565b5f60209050601f83116001811462000640575f84156200062b578287015190505b620006378582620005ad565b865550620006a6565b601f1984166200065086620003fe565b5f5b82811015620006795784890151825560018201915060208501945060208101905062000652565b8683101562000699578489015162000695601f8916826200058f565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f8154620006d881620003ca565b620006e48186620006ae565b9450600182165f811462000701576001811462000717576200074d565b60ff19831686528115158202860193506200074d565b6200072285620006b8565b5f5b83811015620007455781548189015260018201915060208101905062000724565b838801955050505b50505092915050565b5f620007638284620006ca565b915081905092915050565b5f819050919050565b62000782816200076e565b82525050565b620007938162000480565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620007c48262000799565b9050919050565b620007d681620007b8565b82525050565b5f60a082019050620007f15f83018862000777565b62000800602083018762000777565b6200080f604083018662000777565b6200081e606083018562000788565b6200082d6080830184620007cb565b9695505050505050565b60805160a05160c0516119ab620008625f395f61075b01525f61072701525f61070201526119ab5ff3fe608060405234801561000f575f80fd5b50600436106100fe575f3560e01c80637ecebe0011610095578063a9059cbb11610064578063a9059cbb146102ae578063d505accf146102de578063dd62ed3e146102fa578063f2fde38b1461032a576100fe565b80637ecebe00146102265780638da5cb5b1461025657806395d89b41146102745780639dc29fac14610292576100fe565b8063313ce567116100d1578063313ce5671461019e5780633644e515146101bc57806340c10f19146101da57806370a08231146101f6576100fe565b806306fdde0314610102578063095ea7b31461012057806318160ddd1461015057806323b872dd1461016e575b5f80fd5b61010a610346565b604051610117919061117d565b60405180910390f35b61013a6004803603810190610135919061122e565b6103d2565b6040516101479190611286565b60405180910390f35b6101586104bf565b60405161016591906112ae565b60405180910390f35b610188600480360381019061018391906112c7565b6104c5565b6040516101959190611286565b60405180910390f35b6101a6610700565b6040516101b39190611332565b60405180910390f35b6101c4610724565b6040516101d19190611363565b60405180910390f35b6101f460048036038101906101ef919061122e565b610780565b005b610210600480360381019061020b919061137c565b61081b565b60405161021d91906112ae565b60405180910390f35b610240600480360381019061023b919061137c565b610830565b60405161024d91906112ae565b60405180910390f35b61025e610845565b60405161026b91906113b6565b60405180910390f35b61027c610868565b604051610289919061117d565b60405180910390f35b6102ac60048036038101906102a7919061122e565b6108f4565b005b6102c860048036038101906102c3919061122e565b61098f565b6040516102d59190611286565b60405180910390f35b6102f860048036038101906102f39190611423565b610a9c565b005b610314600480360381019061030f91906114c0565b610d89565b60405161032191906112ae565b60405180910390f35b610344600480360381019061033f919061137c565b610da9565b005b600180546103539061152b565b80601f016020809104026020016040519081016040528092919081815260200182805461037f9061152b565b80156103ca5780601f106103a1576101008083540402835291602001916103ca565b820191905f5260205f20905b8154815290600101906020018083116103ad57829003601f168201915b505050505081565b5f8160055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104ad91906112ae565b60405180910390a36001905092915050565b60035481565b5f8060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105f25782816105759190611588565b60055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b8260045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461063e9190611588565b925050819055508260045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516106ec91906112ae565b60405180910390a360019150509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f7f0000000000000000000000000000000000000000000000000000000000000000461461075957610754610ed2565b61077b565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461080d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080490611605565b60405180910390fd5b6108178282610f5d565b5050565b6004602052805f5260405f205f915090505481565b6006602052805f5260405f205f915090505481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600280546108759061152b565b80601f01602080910402602001604051908101604052809291908181526020018280546108a19061152b565b80156108ec5780601f106108c3576101008083540402835291602001916108ec565b820191905f5260205f20905b8154815290600101906020018083116108cf57829003601f168201915b505050505081565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610981576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097890611605565b60405180910390fd5b61098b8282611028565b5050565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546109dc9190611588565b925050819055508160045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a8a91906112ae565b60405180910390a36001905092915050565b42841015610adf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad69061166d565b60405180910390fd5b5f6001610aea610724565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a60065f8f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050558b604051602001610b6f9695949392919061168b565b60405160208183030381529060405280519060200120604051602001610b9692919061175e565b604051602081830303815290604052805190602001208585856040515f8152602001604052604051610bcb9493929190611794565b6020604051602081039080840390855afa158015610beb573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610c5e57508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610c9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9490611821565b60405180910390fd5b8560055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610d7891906112ae565b60405180910390a350505050505050565b6005602052815f5260405f20602052805f5260405f205f91509150505481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2d90611605565b60405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6001604051610f0391906118db565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001610f429594939291906118f1565b60405160208183030381529060405280519060200120905090565b8060035f828254610f6e9190611942565b925050819055508060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161101c91906112ae565b60405180910390a35050565b8060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546110749190611588565b925050819055508060035f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110e791906112ae565b60405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561112a57808201518184015260208101905061110f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61114f826110f3565b61115981856110fd565b935061116981856020860161110d565b61117281611135565b840191505092915050565b5f6020820190508181035f8301526111958184611145565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6111ca826111a1565b9050919050565b6111da816111c0565b81146111e4575f80fd5b50565b5f813590506111f5816111d1565b92915050565b5f819050919050565b61120d816111fb565b8114611217575f80fd5b50565b5f8135905061122881611204565b92915050565b5f80604083850312156112445761124361119d565b5b5f611251858286016111e7565b92505060206112628582860161121a565b9150509250929050565b5f8115159050919050565b6112808161126c565b82525050565b5f6020820190506112995f830184611277565b92915050565b6112a8816111fb565b82525050565b5f6020820190506112c15f83018461129f565b92915050565b5f805f606084860312156112de576112dd61119d565b5b5f6112eb868287016111e7565b93505060206112fc868287016111e7565b925050604061130d8682870161121a565b9150509250925092565b5f60ff82169050919050565b61132c81611317565b82525050565b5f6020820190506113455f830184611323565b92915050565b5f819050919050565b61135d8161134b565b82525050565b5f6020820190506113765f830184611354565b92915050565b5f602082840312156113915761139061119d565b5b5f61139e848285016111e7565b91505092915050565b6113b0816111c0565b82525050565b5f6020820190506113c95f8301846113a7565b92915050565b6113d881611317565b81146113e2575f80fd5b50565b5f813590506113f3816113cf565b92915050565b6114028161134b565b811461140c575f80fd5b50565b5f8135905061141d816113f9565b92915050565b5f805f805f805f60e0888a03121561143e5761143d61119d565b5b5f61144b8a828b016111e7565b975050602061145c8a828b016111e7565b965050604061146d8a828b0161121a565b955050606061147e8a828b0161121a565b945050608061148f8a828b016113e5565b93505060a06114a08a828b0161140f565b92505060c06114b18a828b0161140f565b91505092959891949750929550565b5f80604083850312156114d6576114d561119d565b5b5f6114e3858286016111e7565b92505060206114f4858286016111e7565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061154257607f821691505b602082108103611555576115546114fe565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611592826111fb565b915061159d836111fb565b92508282039050818111156115b5576115b461155b565b5b92915050565b7f554e415554484f52495a454400000000000000000000000000000000000000005f82015250565b5f6115ef600c836110fd565b91506115fa826115bb565b602082019050919050565b5f6020820190508181035f83015261161c816115e3565b9050919050565b7f5045524d49545f444541444c494e455f455850495245440000000000000000005f82015250565b5f6116576017836110fd565b915061166282611623565b602082019050919050565b5f6020820190508181035f8301526116848161164b565b9050919050565b5f60c08201905061169e5f830189611354565b6116ab60208301886113a7565b6116b860408301876113a7565b6116c5606083018661129f565b6116d2608083018561129f565b6116df60a083018461129f565b979650505050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f6117286002836116ea565b9150611733826116f4565b600282019050919050565b5f819050919050565b6117586117538261134b565b61173e565b82525050565b5f6117688261171c565b91506117748285611747565b6020820191506117848284611747565b6020820191508190509392505050565b5f6080820190506117a75f830187611354565b6117b46020830186611323565b6117c16040830185611354565b6117ce6060830184611354565b95945050505050565b7f494e56414c49445f5349474e45520000000000000000000000000000000000005f82015250565b5f61180b600e836110fd565b9150611816826117d7565b602082019050919050565b5f6020820190508181035f830152611838816117ff565b9050919050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f81546118678161152b565b611871818661183f565b9450600182165f811461188b57600181146118a0576118d2565b60ff19831686528115158202860193506118d2565b6118a985611849565b5f5b838110156118ca578154818901526001820191506020810190506118ab565b838801955050505b50505092915050565b5f6118e6828461185b565b915081905092915050565b5f60a0820190506119045f830188611354565b6119116020830187611354565b61191e6040830186611354565b61192b606083018561129f565b61193860808301846113a7565b9695505050505050565b5f61194c826111fb565b9150611957836111fb565b925082820190508082111561196f5761196e61155b565b5b9291505056fea26469706673582212202cc62651e7591007e7e8e6a26a3ca244b80483294288bae514b0524231cf20ae64736f6c63430008140033", + Bin: "0x60e060405234801562000010575f80fd5b506040516200220d3803806200220d833981810160405281019062000036919062000344565b8081601233805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508260019081620000e69190620005ca565b508160029081620000f89190620005ca565b508060ff1660808160ff16815250504660a081815250506200011f6200013060201b60201c565b60c081815250505050505062000837565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600160405162000163919062000756565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001620001a4959493929190620007dc565b60405160208183030381529060405280519060200120905090565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200022082620001d8565b810181811067ffffffffffffffff82111715620002425762000241620001e8565b5b80604052505050565b5f62000256620001bf565b905062000264828262000215565b919050565b5f67ffffffffffffffff821115620002865762000285620001e8565b5b6200029182620001d8565b9050602081019050919050565b5f5b83811015620002bd578082015181840152602081019050620002a0565b5f8484015250505050565b5f620002de620002d88462000269565b6200024b565b905082815260208101848484011115620002fd57620002fc620001d4565b5b6200030a8482856200029e565b509392505050565b5f82601f830112620003295762000328620001d0565b5b81516200033b848260208601620002c8565b91505092915050565b5f602082840312156200035c576200035b620001c8565b5b5f82015167ffffffffffffffff8111156200037c576200037b620001cc565b5b6200038a8482850162000312565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620003e257607f821691505b602082108103620003f857620003f76200039d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200045c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200041f565b6200046886836200041f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620004b2620004ac620004a68462000480565b62000489565b62000480565b9050919050565b5f819050919050565b620004cd8362000492565b620004e5620004dc82620004b9565b8484546200042b565b825550505050565b5f90565b620004fb620004ed565b62000508818484620004c2565b505050565b5b818110156200052f57620005235f82620004f1565b6001810190506200050e565b5050565b601f8211156200057e576200054881620003fe565b620005538462000410565b8101602085101562000563578190505b6200057b620005728562000410565b8301826200050d565b50505b505050565b5f82821c905092915050565b5f620005a05f198460080262000583565b1980831691505092915050565b5f620005ba83836200058f565b9150826002028217905092915050565b620005d58262000393565b67ffffffffffffffff811115620005f157620005f0620001e8565b5b620005fd8254620003ca565b6200060a82828562000533565b5f60209050601f83116001811462000640575f84156200062b578287015190505b620006378582620005ad565b865550620006a6565b601f1984166200065086620003fe565b5f5b82811015620006795784890151825560018201915060208501945060208101905062000652565b8683101562000699578489015162000695601f8916826200058f565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f8154620006d881620003ca565b620006e48186620006ae565b9450600182165f811462000701576001811462000717576200074d565b60ff19831686528115158202860193506200074d565b6200072285620006b8565b5f5b83811015620007455781548189015260018201915060208101905062000724565b838801955050505b50505092915050565b5f620007638284620006ca565b915081905092915050565b5f819050919050565b62000782816200076e565b82525050565b620007938162000480565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620007c48262000799565b9050919050565b620007d681620007b8565b82525050565b5f60a082019050620007f15f83018862000777565b62000800602083018762000777565b6200080f604083018662000777565b6200081e606083018562000788565b6200082d6080830184620007cb565b9695505050505050565b60805160a05160c0516119ab620008625f395f61075b01525f61072701525f61070201526119ab5ff3fe608060405234801561000f575f80fd5b50600436106100fe575f3560e01c80637ecebe0011610095578063a9059cbb11610064578063a9059cbb146102ae578063d505accf146102de578063dd62ed3e146102fa578063f2fde38b1461032a576100fe565b80637ecebe00146102265780638da5cb5b1461025657806395d89b41146102745780639dc29fac14610292576100fe565b8063313ce567116100d1578063313ce5671461019e5780633644e515146101bc57806340c10f19146101da57806370a08231146101f6576100fe565b806306fdde0314610102578063095ea7b31461012057806318160ddd1461015057806323b872dd1461016e575b5f80fd5b61010a610346565b604051610117919061117d565b60405180910390f35b61013a6004803603810190610135919061122e565b6103d2565b6040516101479190611286565b60405180910390f35b6101586104bf565b60405161016591906112ae565b60405180910390f35b610188600480360381019061018391906112c7565b6104c5565b6040516101959190611286565b60405180910390f35b6101a6610700565b6040516101b39190611332565b60405180910390f35b6101c4610724565b6040516101d19190611363565b60405180910390f35b6101f460048036038101906101ef919061122e565b610780565b005b610210600480360381019061020b919061137c565b61081b565b60405161021d91906112ae565b60405180910390f35b610240600480360381019061023b919061137c565b610830565b60405161024d91906112ae565b60405180910390f35b61025e610845565b60405161026b91906113b6565b60405180910390f35b61027c610868565b604051610289919061117d565b60405180910390f35b6102ac60048036038101906102a7919061122e565b6108f4565b005b6102c860048036038101906102c3919061122e565b61098f565b6040516102d59190611286565b60405180910390f35b6102f860048036038101906102f39190611423565b610a9c565b005b610314600480360381019061030f91906114c0565b610d89565b60405161032191906112ae565b60405180910390f35b610344600480360381019061033f919061137c565b610da9565b005b600180546103539061152b565b80601f016020809104026020016040519081016040528092919081815260200182805461037f9061152b565b80156103ca5780601f106103a1576101008083540402835291602001916103ca565b820191905f5260205f20905b8154815290600101906020018083116103ad57829003601f168201915b505050505081565b5f8160055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104ad91906112ae565b60405180910390a36001905092915050565b60035481565b5f8060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105f25782816105759190611588565b60055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b8260045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461063e9190611588565b925050819055508260045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516106ec91906112ae565b60405180910390a360019150509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f7f0000000000000000000000000000000000000000000000000000000000000000461461075957610754610ed2565b61077b565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461080d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080490611605565b60405180910390fd5b6108178282610f5d565b5050565b6004602052805f5260405f205f915090505481565b6006602052805f5260405f205f915090505481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600280546108759061152b565b80601f01602080910402602001604051908101604052809291908181526020018280546108a19061152b565b80156108ec5780601f106108c3576101008083540402835291602001916108ec565b820191905f5260205f20905b8154815290600101906020018083116108cf57829003601f168201915b505050505081565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610981576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097890611605565b60405180910390fd5b61098b8282611028565b5050565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546109dc9190611588565b925050819055508160045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a8a91906112ae565b60405180910390a36001905092915050565b42841015610adf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad69061166d565b60405180910390fd5b5f6001610aea610724565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a60065f8f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050558b604051602001610b6f9695949392919061168b565b60405160208183030381529060405280519060200120604051602001610b9692919061175e565b604051602081830303815290604052805190602001208585856040515f8152602001604052604051610bcb9493929190611794565b6020604051602081039080840390855afa158015610beb573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610c5e57508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610c9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9490611821565b60405180910390fd5b8560055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610d7891906112ae565b60405180910390a350505050505050565b6005602052815f5260405f20602052805f5260405f205f91509150505481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2d90611605565b60405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6001604051610f0391906118db565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001610f429594939291906118f1565b60405160208183030381529060405280519060200120905090565b8060035f828254610f6e9190611942565b925050819055508060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161101c91906112ae565b60405180910390a35050565b8060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546110749190611588565b925050819055508060035f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110e791906112ae565b60405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561112a57808201518184015260208101905061110f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61114f826110f3565b61115981856110fd565b935061116981856020860161110d565b61117281611135565b840191505092915050565b5f6020820190508181035f8301526111958184611145565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6111ca826111a1565b9050919050565b6111da816111c0565b81146111e4575f80fd5b50565b5f813590506111f5816111d1565b92915050565b5f819050919050565b61120d816111fb565b8114611217575f80fd5b50565b5f8135905061122881611204565b92915050565b5f80604083850312156112445761124361119d565b5b5f611251858286016111e7565b92505060206112628582860161121a565b9150509250929050565b5f8115159050919050565b6112808161126c565b82525050565b5f6020820190506112995f830184611277565b92915050565b6112a8816111fb565b82525050565b5f6020820190506112c15f83018461129f565b92915050565b5f805f606084860312156112de576112dd61119d565b5b5f6112eb868287016111e7565b93505060206112fc868287016111e7565b925050604061130d8682870161121a565b9150509250925092565b5f60ff82169050919050565b61132c81611317565b82525050565b5f6020820190506113455f830184611323565b92915050565b5f819050919050565b61135d8161134b565b82525050565b5f6020820190506113765f830184611354565b92915050565b5f602082840312156113915761139061119d565b5b5f61139e848285016111e7565b91505092915050565b6113b0816111c0565b82525050565b5f6020820190506113c95f8301846113a7565b92915050565b6113d881611317565b81146113e2575f80fd5b50565b5f813590506113f3816113cf565b92915050565b6114028161134b565b811461140c575f80fd5b50565b5f8135905061141d816113f9565b92915050565b5f805f805f805f60e0888a03121561143e5761143d61119d565b5b5f61144b8a828b016111e7565b975050602061145c8a828b016111e7565b965050604061146d8a828b0161121a565b955050606061147e8a828b0161121a565b945050608061148f8a828b016113e5565b93505060a06114a08a828b0161140f565b92505060c06114b18a828b0161140f565b91505092959891949750929550565b5f80604083850312156114d6576114d561119d565b5b5f6114e3858286016111e7565b92505060206114f4858286016111e7565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061154257607f821691505b602082108103611555576115546114fe565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611592826111fb565b915061159d836111fb565b92508282039050818111156115b5576115b461155b565b5b92915050565b7f554e415554484f52495a454400000000000000000000000000000000000000005f82015250565b5f6115ef600c836110fd565b91506115fa826115bb565b602082019050919050565b5f6020820190508181035f83015261161c816115e3565b9050919050565b7f5045524d49545f444541444c494e455f455850495245440000000000000000005f82015250565b5f6116576017836110fd565b915061166282611623565b602082019050919050565b5f6020820190508181035f8301526116848161164b565b9050919050565b5f60c08201905061169e5f830189611354565b6116ab60208301886113a7565b6116b860408301876113a7565b6116c5606083018661129f565b6116d2608083018561129f565b6116df60a083018461129f565b979650505050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f6117286002836116ea565b9150611733826116f4565b600282019050919050565b5f819050919050565b6117586117538261134b565b61173e565b82525050565b5f6117688261171c565b91506117748285611747565b6020820191506117848284611747565b6020820191508190509392505050565b5f6080820190506117a75f830187611354565b6117b46020830186611323565b6117c16040830185611354565b6117ce6060830184611354565b95945050505050565b7f494e56414c49445f5349474e45520000000000000000000000000000000000005f82015250565b5f61180b600e836110fd565b9150611816826117d7565b602082019050919050565b5f6020820190508181035f830152611838816117ff565b9050919050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f81546118678161152b565b611871818661183f565b9450600182165f811461188b57600181146118a0576118d2565b60ff19831686528115158202860193506118d2565b6118a985611849565b5f5b838110156118ca578154818901526001820191506020810190506118ab565b838801955050505b50505092915050565b5f6118e6828461185b565b915081905092915050565b5f60a0820190506119045f830188611354565b6119116020830187611354565b61191e6040830186611354565b61192b606083018561129f565b61193860808301846113a7565b9695505050505050565b5f61194c826111fb565b9150611957836111fb565b925082820190508082111561196f5761196e61155b565b5b9291505056fea2646970667358221220bd1f1192a60fc1144850089b62f9268fdb1efb41144476305acc076c1ecbcdc864736f6c63430008140033", } // 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 a9094d2e4..e6a63d51a 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: "0x608060405234801561000f575f80fd5b506101cb8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063a329e8de1461002d575b5f80fd5b610047600480360381019061004291906100e2565b610049565b005b5f5a90505b818161005a919061013a565b5a1161004e575f5a8261006d919061013a565b90507f1a2dc18f5a2dabdf3809a83ec652290b81d97d915bf5561908090bad91deffc48160405161009e919061017c565b60405180910390a1505050565b5f80fd5b5f819050919050565b6100c1816100af565b81146100cb575f80fd5b50565b5f813590506100dc816100b8565b92915050565b5f602082840312156100f7576100f66100ab565b5b5f610104848285016100ce565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610144826100af565b915061014f836100af565b92508282039050818111156101675761016661010d565b5b92915050565b610176816100af565b82525050565b5f60208201905061018f5f83018461016d565b9291505056fea2646970667358221220e4c37c223937988a35267edfbba61b52336e1dcb9878edd519edc3eb1881ec2a64736f6c63430008140033", + Bin: "0x608060405234801561000f575f80fd5b506101cb8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063a329e8de1461002d575b5f80fd5b610047600480360381019061004291906100e2565b610049565b005b5f5a90505b818161005a919061013a565b5a1161004e575f5a8261006d919061013a565b90507f1a2dc18f5a2dabdf3809a83ec652290b81d97d915bf5561908090bad91deffc48160405161009e919061017c565b60405180910390a1505050565b5f80fd5b5f819050919050565b6100c1816100af565b81146100cb575f80fd5b50565b5f813590506100dc816100b8565b92915050565b5f602082840312156100f7576100f66100ab565b5b5f610104848285016100ce565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610144826100af565b915061014f836100af565b92508282039050818111156101675761016661010d565b5b92915050565b610176816100af565b82525050565b5f60208201905061018f5f83018461016d565b9291505056fea2646970667358221220cf53a89b858bcd89a9f376c9fc26e35242e2b2c6d3caa86630baa63414ba767d64736f6c63430008140033", } // 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 c54b69539..7d3f86e75 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: "0x608060405234801561000f575f80fd5b50604051610bf8380380610bf8833981810160405281019061003191906101b2565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561009757505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b156100ce576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506101f0565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61018182610158565b9050919050565b61019181610177565b811461019b575f80fd5b50565b5f815190506101ac81610188565b92915050565b5f80604083850312156101c8576101c7610154565b5b5f6101d58582860161019e565b92505060206101e68582860161019e565b9150509250929050565b6109fb806101fd5f395ff3fe608060405260043610610054575f3560e01c806339cc4c86146100585780633ab1a494146100825780634cf088d9146100be5780635c19a95c146100e85780635ee58efc14610104578063e20981ca1461012e575b5f80fd5b348015610063575f80fd5b5061006c610156565b604051610079919061042e565b60405180910390f35b34801561008d575f80fd5b506100a860048036038101906100a391906104b2565b6101e9565b6040516100b5919061042e565b60405180910390f35b3480156100c9575f80fd5b506100d261028a565b6040516100df9190610538565b60405180910390f35b61010260048036038101906100fd91906104b2565b6102af565b005b34801561010f575f80fd5b5061011861034f565b6040516101259190610571565b60405180910390f35b348015610139575f80fd5b50610154600480360381019061014f919061058a565b610372565b005b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166339cc4c866040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101e491906105f2565b905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ab1a494836040518263ffffffff1660e01b8152600401610243919061062c565b6020604051808303815f875af115801561025f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061028391906105f2565b9050919050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663026e402b82346040518363ffffffff1660e01b815260040161030b92919061065d565b6020604051808303815f875af1158015610327573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061034b91906105f2565b5050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663562c67a483836040518363ffffffff1660e01b81526004016103cc929190610684565b5f604051808303815f875af11580156103e7573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061040f919061097e565b505050565b5f8115159050919050565b61042881610414565b82525050565b5f6020820190506104415f83018461041f565b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61048182610458565b9050919050565b61049181610477565b811461049b575f80fd5b50565b5f813590506104ac81610488565b92915050565b5f602082840312156104c7576104c6610450565b5b5f6104d48482850161049e565b91505092915050565b5f819050919050565b5f6105006104fb6104f684610458565b6104dd565b610458565b9050919050565b5f610511826104e6565b9050919050565b5f61052282610507565b9050919050565b61053281610518565b82525050565b5f60208201905061054b5f830184610529565b92915050565b5f61055b82610507565b9050919050565b61056b81610551565b82525050565b5f6020820190506105845f830184610562565b92915050565b5f80604083850312156105a05761059f610450565b5b5f6105ad8582860161049e565b92505060206105be8582860161049e565b9150509250929050565b6105d181610414565b81146105db575f80fd5b50565b5f815190506105ec816105c8565b92915050565b5f6020828403121561060757610606610450565b5b5f610614848285016105de565b91505092915050565b61062681610477565b82525050565b5f60208201905061063f5f83018461061d565b92915050565b5f819050919050565b61065781610645565b82525050565b5f6040820190506106705f83018561061d565b61067d602083018461064e565b9392505050565b5f6040820190506106975f83018561061d565b6106a4602083018461061d565b9392505050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6106f5826106af565b810181811067ffffffffffffffff82111715610714576107136106bf565b5b80604052505050565b5f610726610447565b905061073282826106ec565b919050565b5f67ffffffffffffffff821115610751576107506106bf565b5b602082029050602081019050919050565b5f80fd5b5f80fd5b5f80fd5b61077781610645565b8114610781575f80fd5b50565b5f815190506107928161076e565b92915050565b5f80fd5b5f67ffffffffffffffff8211156107b6576107b56106bf565b5b6107bf826106af565b9050602081019050919050565b5f5b838110156107e95780820151818401526020810190506107ce565b5f8484015250505050565b5f6108066108018461079c565b61071d565b90508281526020810184848401111561082257610821610798565b5b61082d8482856107cc565b509392505050565b5f82601f830112610849576108486106ab565b5b81516108598482602086016107f4565b91505092915050565b5f6040828403121561087757610876610766565b5b610881604061071d565b90505f61089084828501610784565b5f83015250602082015167ffffffffffffffff8111156108b3576108b261076a565b5b6108bf84828501610835565b60208301525092915050565b5f6108dd6108d884610737565b61071d565b90508083825260208201905060208402830185811115610900576108ff610762565b5b835b8181101561094757805167ffffffffffffffff811115610925576109246106ab565b5b8086016109328982610862565b85526020850194505050602081019050610902565b5050509392505050565b5f82601f830112610965576109646106ab565b5b81516109758482602086016108cb565b91505092915050565b5f6020828403121561099357610992610450565b5b5f82015167ffffffffffffffff8111156109b0576109af610454565b5b6109bc84828501610951565b9150509291505056fea2646970667358221220494533a408cf95bd1d4fdeb7f1b527faf9d38d1243020d32135e4999f340f1a264736f6c63430008140033", + Bin: "0x608060405234801561000f575f80fd5b50604051610bf8380380610bf8833981810160405281019061003191906101b2565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561009757505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b156100ce576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506101f0565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61018182610158565b9050919050565b61019181610177565b811461019b575f80fd5b50565b5f815190506101ac81610188565b92915050565b5f80604083850312156101c8576101c7610154565b5b5f6101d58582860161019e565b92505060206101e68582860161019e565b9150509250929050565b6109fb806101fd5f395ff3fe608060405260043610610054575f3560e01c806339cc4c86146100585780633ab1a494146100825780634cf088d9146100be5780635c19a95c146100e85780635ee58efc14610104578063e20981ca1461012e575b5f80fd5b348015610063575f80fd5b5061006c610156565b604051610079919061042e565b60405180910390f35b34801561008d575f80fd5b506100a860048036038101906100a391906104b2565b6101e9565b6040516100b5919061042e565b60405180910390f35b3480156100c9575f80fd5b506100d261028a565b6040516100df9190610538565b60405180910390f35b61010260048036038101906100fd91906104b2565b6102af565b005b34801561010f575f80fd5b5061011861034f565b6040516101259190610571565b60405180910390f35b348015610139575f80fd5b50610154600480360381019061014f919061058a565b610372565b005b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166339cc4c866040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101e491906105f2565b905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ab1a494836040518263ffffffff1660e01b8152600401610243919061062c565b6020604051808303815f875af115801561025f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061028391906105f2565b9050919050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663026e402b82346040518363ffffffff1660e01b815260040161030b92919061065d565b6020604051808303815f875af1158015610327573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061034b91906105f2565b5050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663562c67a483836040518363ffffffff1660e01b81526004016103cc929190610684565b5f604051808303815f875af11580156103e7573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061040f919061097e565b505050565b5f8115159050919050565b61042881610414565b82525050565b5f6020820190506104415f83018461041f565b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61048182610458565b9050919050565b61049181610477565b811461049b575f80fd5b50565b5f813590506104ac81610488565b92915050565b5f602082840312156104c7576104c6610450565b5b5f6104d48482850161049e565b91505092915050565b5f819050919050565b5f6105006104fb6104f684610458565b6104dd565b610458565b9050919050565b5f610511826104e6565b9050919050565b5f61052282610507565b9050919050565b61053281610518565b82525050565b5f60208201905061054b5f830184610529565b92915050565b5f61055b82610507565b9050919050565b61056b81610551565b82525050565b5f6020820190506105845f830184610562565b92915050565b5f80604083850312156105a05761059f610450565b5b5f6105ad8582860161049e565b92505060206105be8582860161049e565b9150509250929050565b6105d181610414565b81146105db575f80fd5b50565b5f815190506105ec816105c8565b92915050565b5f6020828403121561060757610606610450565b5b5f610614848285016105de565b91505092915050565b61062681610477565b82525050565b5f60208201905061063f5f83018461061d565b92915050565b5f819050919050565b61065781610645565b82525050565b5f6040820190506106705f83018561061d565b61067d602083018461064e565b9392505050565b5f6040820190506106975f83018561061d565b6106a4602083018461061d565b9392505050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6106f5826106af565b810181811067ffffffffffffffff82111715610714576107136106bf565b5b80604052505050565b5f610726610447565b905061073282826106ec565b919050565b5f67ffffffffffffffff821115610751576107506106bf565b5b602082029050602081019050919050565b5f80fd5b5f80fd5b5f80fd5b61077781610645565b8114610781575f80fd5b50565b5f815190506107928161076e565b92915050565b5f80fd5b5f67ffffffffffffffff8211156107b6576107b56106bf565b5b6107bf826106af565b9050602081019050919050565b5f5b838110156107e95780820151818401526020810190506107ce565b5f8484015250505050565b5f6108066108018461079c565b61071d565b90508281526020810184848401111561082257610821610798565b5b61082d8482856107cc565b509392505050565b5f82601f830112610849576108486106ab565b5b81516108598482602086016107f4565b91505092915050565b5f6040828403121561087757610876610766565b5b610881604061071d565b90505f61089084828501610784565b5f83015250602082015167ffffffffffffffff8111156108b3576108b261076a565b5b6108bf84828501610835565b60208301525092915050565b5f6108dd6108d884610737565b61071d565b90508083825260208201905060208402830185811115610900576108ff610762565b5b835b8181101561094757805167ffffffffffffffff811115610925576109246106ab565b5b8086016109328982610862565b85526020850194505050602081019050610902565b5050509392505050565b5f82601f830112610965576109646106ab565b5b81516109758482602086016108cb565b91505092915050565b5f6020828403121561099357610992610450565b5b5f82015167ffffffffffffffff8111156109b0576109af610454565b5b6109bc84828501610951565b9150509291505056fea26469706673582212206be3c94b93f3f12a5eb97d9dcb9e0b346a156ee38a4b20c21b202dfaf288c22c64736f6c63430008140033", } // 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 53f4cf47b..aa4f79a2f 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\":\"bytes\",\"name\":\"message\",\"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: "0x60a0604052734381dc2ab14285160c808659aee005d51255add773ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1681525034801562000057575f80fd5b5060405162001d8c38038062001d8c83398181016040528101906200007d91906200018e565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000e3576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050620001be565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000158826200012d565b9050919050565b6200016a816200014c565b811462000175575f80fd5b50565b5f8151905062000188816200015f565b92915050565b5f60208284031215620001a657620001a562000129565b5b5f620001b58482850162000178565b91505092915050565b608051611bb5620001d75f395f6103610152611bb55ff3fe608060405260043610610073575f3560e01c806376cdb03b1161004d57806376cdb03b14610121578063b5828df21461014b578063f1610a2814610187578063fbab7815146101c35761007a565b806319f7a0fb1461007e5780632b0a7032146100ba57806337a9a59e146100e45761007a565b3661007a57005b5f80fd5b348015610089575f80fd5b506100a4600480360381019061009f91906108fb565b6101f3565b6040516100b19190610981565b60405180910390f35b3480156100c5575f80fd5b506100ce61029a565b6040516100db9190610a14565b60405180910390f35b3480156100ef575f80fd5b5061010a60048036038101906101059190610a2d565b6102bd565b604051610118929190610a67565b60405180910390f35b34801561012c575f80fd5b5061013561035f565b6040516101429190610aae565b60405180910390f35b348015610156575f80fd5b50610171600480360381019061016c9190610ac7565b610383565b60405161017e9190610f59565b60405180910390f35b348015610192575f80fd5b506101ad60048036038101906101a89190610a2d565b610426565b6040516101ba91906110b9565b60405180910390f35b6101dd60048036038101906101d891906111b5565b6104cf565b6040516101ea9190611279565b60405180910390f35b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166319f7a0fb8585856040518463ffffffff1660e01b8152600401610251939291906112e9565b6020604051808303815f875af115801561026d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610291919061134f565b90509392505050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166337a9a59e846040518263ffffffff1660e01b81526004016103179190611279565b60408051808303815f875af1158015610332573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610356919061138e565b91509150915091565b7f000000000000000000000000000000000000000000000000000000000000000081565b60605f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5828df2836040518263ffffffff1660e01b81526004016103dd91906113cc565b5f60405180830381865afa1580156103f7573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061041f9190611a24565b9050919050565b61042e61065d565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f1610a28836040518263ffffffff1660e01b81526004016104869190611279565b5f60405180830381865afa1580156104a0573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906104c89190611a6b565b9050919050565b5f80600167ffffffffffffffff8111156104ec576104eb6107d7565b5b60405190808252806020026020018201604052801561052557816020015b6105126106fa565b81526020019060019003908161050a5790505b50905084848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050815f8151811061057f5761057e611ab2565b5b60200260200101516020018190525082815f815181106105a2576105a1611ab2565b5b60200260200101515f0181815250505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663474d7f358a8a8a8a6040518563ffffffff1660e01b815260040161060f9493929190611b1b565b6020604051808303815f875af115801561062b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064f9190611b54565b915050979650505050505050565b604051806101a001604052805f67ffffffffffffffff168152602001606081526020015f60030b8152602001610691610713565b81526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff168152602001606081526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff168152602001606081526020016060815260200160608152602001606081525090565b60405180604001604052805f8152602001606081525090565b6040518060800160405280606081526020016060815260200160608152602001606081525090565b5f604051905090565b5f80fd5b5f80fd5b5f67ffffffffffffffff82169050919050565b6107688161074c565b8114610772575f80fd5b50565b5f813590506107838161075f565b92915050565b5f8160030b9050919050565b61079e81610789565b81146107a8575f80fd5b50565b5f813590506107b981610795565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61080d826107c7565b810181811067ffffffffffffffff8211171561082c5761082b6107d7565b5b80604052505050565b5f61083e61073b565b905061084a8282610804565b919050565b5f67ffffffffffffffff821115610869576108686107d7565b5b610872826107c7565b9050602081019050919050565b828183375f83830152505050565b5f61089f61089a8461084f565b610835565b9050828152602081018484840111156108bb576108ba6107c3565b5b6108c684828561087f565b509392505050565b5f82601f8301126108e2576108e16107bf565b5b81356108f284826020860161088d565b91505092915050565b5f805f6060848603121561091257610911610744565b5b5f61091f86828701610775565b9350506020610930868287016107ab565b925050604084013567ffffffffffffffff81111561095157610950610748565b5b61095d868287016108ce565b9150509250925092565b5f8115159050919050565b61097b81610967565b82525050565b5f6020820190506109945f830184610972565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f6109dc6109d76109d28461099a565b6109b9565b61099a565b9050919050565b5f6109ed826109c2565b9050919050565b5f6109fe826109e3565b9050919050565b610a0e816109f4565b82525050565b5f602082019050610a275f830184610a05565b92915050565b5f60208284031215610a4257610a41610744565b5b5f610a4f84828501610775565b91505092915050565b610a618161074c565b82525050565b5f604082019050610a7a5f830185610a58565b610a876020830184610a58565b9392505050565b5f610a98826109e3565b9050919050565b610aa881610a8e565b82525050565b5f602082019050610ac15f830184610a9f565b92915050565b5f60208284031215610adc57610adb610744565b5b5f610ae9848285016107ab565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610b248161074c565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610b61578082015181840152602081019050610b46565b5f8484015250505050565b5f610b7682610b2a565b610b808185610b34565b9350610b90818560208601610b44565b610b99816107c7565b840191505092915050565b610bad81610789565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f610bd782610bb3565b610be18185610bbd565b9350610bf1818560208601610b44565b610bfa816107c7565b840191505092915050565b5f608083015f8301518482035f860152610c1f8282610bcd565b91505060208301518482036020860152610c398282610bcd565b91505060408301518482036040860152610c538282610bcd565b91505060608301518482036060860152610c6d8282610bcd565b9150508091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f819050919050565b610cb581610ca3565b82525050565b5f604083015f830151610cd05f860182610cac565b5060208301518482036020860152610ce88282610bcd565b9150508091505092915050565b5f610d008383610cbb565b905092915050565b5f602082019050919050565b5f610d1e82610c7a565b610d288185610c84565b935083602082028501610d3a85610c94565b805f5b85811015610d755784840389528151610d568582610cf5565b9450610d6183610d08565b925060208a01995050600181019050610d3d565b50829750879550505050505092915050565b5f6101a083015f830151610d9d5f860182610b1b565b5060208301518482036020860152610db58282610b6c565b9150506040830151610dca6040860182610ba4565b5060608301518482036060860152610de28282610c05565b9150506080830151610df76080860182610b1b565b5060a0830151610e0a60a0860182610b1b565b5060c083015184820360c0860152610e228282610d14565b91505060e0830151610e3760e0860182610b1b565b50610100830151610e4c610100860182610b1b565b50610120830151848203610120860152610e668282610bcd565b915050610140830151848203610140860152610e828282610bcd565b915050610160830151848203610160860152610e9e8282610bcd565b915050610180830151848203610180860152610eba8282610bcd565b9150508091505092915050565b5f610ed28383610d87565b905092915050565b5f602082019050919050565b5f610ef082610af2565b610efa8185610afc565b935083602082028501610f0c85610b0c565b805f5b85811015610f475784840389528151610f288582610ec7565b9450610f3383610eda565b925060208a01995050600181019050610f0f565b50829750879550505050505092915050565b5f6020820190508181035f830152610f718184610ee6565b905092915050565b5f6101a083015f830151610f8f5f860182610b1b565b5060208301518482036020860152610fa78282610b6c565b9150506040830151610fbc6040860182610ba4565b5060608301518482036060860152610fd48282610c05565b9150506080830151610fe96080860182610b1b565b5060a0830151610ffc60a0860182610b1b565b5060c083015184820360c08601526110148282610d14565b91505060e083015161102960e0860182610b1b565b5061010083015161103e610100860182610b1b565b506101208301518482036101208601526110588282610bcd565b9150506101408301518482036101408601526110748282610bcd565b9150506101608301518482036101608601526110908282610bcd565b9150506101808301518482036101808601526110ac8282610bcd565b9150508091505092915050565b5f6020820190508181035f8301526110d18184610f79565b905092915050565b5f80fd5b5f80fd5b5f8083601f8401126110f6576110f56107bf565b5b8235905067ffffffffffffffff811115611113576111126110d9565b5b60208301915083600182028301111561112f5761112e6110dd565b5b9250929050565b5f8083601f84011261114b5761114a6107bf565b5b8235905067ffffffffffffffff811115611168576111676110d9565b5b602083019150836001820283011115611184576111836110dd565b5b9250929050565b61119481610ca3565b811461119e575f80fd5b50565b5f813590506111af8161118b565b92915050565b5f805f805f805f6080888a0312156111d0576111cf610744565b5b5f88013567ffffffffffffffff8111156111ed576111ec610748565b5b6111f98a828b016110e1565b9750975050602088013567ffffffffffffffff81111561121c5761121b610748565b5b6112288a828b016110e1565b9550955050604088013567ffffffffffffffff81111561124b5761124a610748565b5b6112578a828b01611136565b9350935050606061126a8a828b016111a1565b91505092959891949750929550565b5f60208201905061128c5f830184610a58565b92915050565b61129b81610789565b82525050565b5f82825260208201905092915050565b5f6112bb82610bb3565b6112c581856112a1565b93506112d5818560208601610b44565b6112de816107c7565b840191505092915050565b5f6060820190506112fc5f830186610a58565b6113096020830185611292565b818103604083015261131b81846112b1565b9050949350505050565b61132e81610967565b8114611338575f80fd5b50565b5f8151905061134981611325565b92915050565b5f6020828403121561136457611363610744565b5b5f6113718482850161133b565b91505092915050565b5f815190506113888161075f565b92915050565b5f80604083850312156113a4576113a3610744565b5b5f6113b18582860161137a565b92505060206113c28582860161137a565b9150509250929050565b5f6020820190506113df5f830184611292565b92915050565b5f67ffffffffffffffff8211156113ff576113fe6107d7565b5b602082029050602081019050919050565b5f80fd5b5f80fd5b5f67ffffffffffffffff821115611432576114316107d7565b5b61143b826107c7565b9050602081019050919050565b5f61145a61145584611418565b610835565b905082815260208101848484011115611476576114756107c3565b5b611481848285610b44565b509392505050565b5f82601f83011261149d5761149c6107bf565b5b81516114ad848260208601611448565b91505092915050565b5f815190506114c481610795565b92915050565b5f6114dc6114d78461084f565b610835565b9050828152602081018484840111156114f8576114f76107c3565b5b611503848285610b44565b509392505050565b5f82601f83011261151f5761151e6107bf565b5b815161152f8482602086016114ca565b91505092915050565b5f6080828403121561154d5761154c611410565b5b6115576080610835565b90505f82015167ffffffffffffffff81111561157657611575611414565b5b6115828482850161150b565b5f83015250602082015167ffffffffffffffff8111156115a5576115a4611414565b5b6115b18482850161150b565b602083015250604082015167ffffffffffffffff8111156115d5576115d4611414565b5b6115e18482850161150b565b604083015250606082015167ffffffffffffffff81111561160557611604611414565b5b6116118482850161150b565b60608301525092915050565b5f67ffffffffffffffff821115611637576116366107d7565b5b602082029050602081019050919050565b5f815190506116568161118b565b92915050565b5f6040828403121561167157611670611410565b5b61167b6040610835565b90505f61168a84828501611648565b5f83015250602082015167ffffffffffffffff8111156116ad576116ac611414565b5b6116b98482850161150b565b60208301525092915050565b5f6116d76116d28461161d565b610835565b905080838252602082019050602084028301858111156116fa576116f96110dd565b5b835b8181101561174157805167ffffffffffffffff81111561171f5761171e6107bf565b5b80860161172c898261165c565b855260208501945050506020810190506116fc565b5050509392505050565b5f82601f83011261175f5761175e6107bf565b5b815161176f8482602086016116c5565b91505092915050565b5f6101a0828403121561178e5761178d611410565b5b6117996101a0610835565b90505f6117a88482850161137a565b5f83015250602082015167ffffffffffffffff8111156117cb576117ca611414565b5b6117d784828501611489565b60208301525060406117eb848285016114b6565b604083015250606082015167ffffffffffffffff81111561180f5761180e611414565b5b61181b84828501611538565b606083015250608061182f8482850161137a565b60808301525060a06118438482850161137a565b60a08301525060c082015167ffffffffffffffff81111561186757611866611414565b5b6118738482850161174b565b60c08301525060e06118878482850161137a565b60e08301525061010061189c8482850161137a565b6101008301525061012082015167ffffffffffffffff8111156118c2576118c1611414565b5b6118ce8482850161150b565b6101208301525061014082015167ffffffffffffffff8111156118f4576118f3611414565b5b6119008482850161150b565b6101408301525061016082015167ffffffffffffffff81111561192657611925611414565b5b6119328482850161150b565b6101608301525061018082015167ffffffffffffffff81111561195857611957611414565b5b6119648482850161150b565b6101808301525092915050565b5f61198361197e846113e5565b610835565b905080838252602082019050602084028301858111156119a6576119a56110dd565b5b835b818110156119ed57805167ffffffffffffffff8111156119cb576119ca6107bf565b5b8086016119d88982611778565b855260208501945050506020810190506119a8565b5050509392505050565b5f82601f830112611a0b57611a0a6107bf565b5b8151611a1b848260208601611971565b91505092915050565b5f60208284031215611a3957611a38610744565b5b5f82015167ffffffffffffffff811115611a5657611a55610748565b5b611a62848285016119f7565b91505092915050565b5f60208284031215611a8057611a7f610744565b5b5f82015167ffffffffffffffff811115611a9d57611a9c610748565b5b611aa984828501611778565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82825260208201905092915050565b5f611afa8385611adf565b9350611b0783858461087f565b611b10836107c7565b840190509392505050565b5f6040820190508181035f830152611b34818688611aef565b90508181036020830152611b49818486611aef565b905095945050505050565b5f60208284031215611b6957611b68610744565b5b5f611b768482850161137a565b9150509291505056fea264697066735822122020a004ade263b51f526b13ada856ec29422c2850e992f0d5aa0772e347fc213664736f6c63430008140033", + Bin: "0x60a0604052734381dc2ab14285160c808659aee005d51255add773ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1681525034801562000057575f80fd5b5060405162001d8c38038062001d8c83398181016040528101906200007d91906200018e565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000e3576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050620001be565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000158826200012d565b9050919050565b6200016a816200014c565b811462000175575f80fd5b50565b5f8151905062000188816200015f565b92915050565b5f60208284031215620001a657620001a562000129565b5b5f620001b58482850162000178565b91505092915050565b608051611bb5620001d75f395f6103610152611bb55ff3fe608060405260043610610073575f3560e01c806376cdb03b1161004d57806376cdb03b14610121578063b5828df21461014b578063f1610a2814610187578063fbab7815146101c35761007a565b806319f7a0fb1461007e5780632b0a7032146100ba57806337a9a59e146100e45761007a565b3661007a57005b5f80fd5b348015610089575f80fd5b506100a4600480360381019061009f91906108fb565b6101f3565b6040516100b19190610981565b60405180910390f35b3480156100c5575f80fd5b506100ce61029a565b6040516100db9190610a14565b60405180910390f35b3480156100ef575f80fd5b5061010a60048036038101906101059190610a2d565b6102bd565b604051610118929190610a67565b60405180910390f35b34801561012c575f80fd5b5061013561035f565b6040516101429190610aae565b60405180910390f35b348015610156575f80fd5b50610171600480360381019061016c9190610ac7565b610383565b60405161017e9190610f59565b60405180910390f35b348015610192575f80fd5b506101ad60048036038101906101a89190610a2d565b610426565b6040516101ba91906110b9565b60405180910390f35b6101dd60048036038101906101d891906111b5565b6104cf565b6040516101ea9190611279565b60405180910390f35b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166319f7a0fb8585856040518463ffffffff1660e01b8152600401610251939291906112e9565b6020604051808303815f875af115801561026d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610291919061134f565b90509392505050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166337a9a59e846040518263ffffffff1660e01b81526004016103179190611279565b60408051808303815f875af1158015610332573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610356919061138e565b91509150915091565b7f000000000000000000000000000000000000000000000000000000000000000081565b60605f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b5828df2836040518263ffffffff1660e01b81526004016103dd91906113cc565b5f60405180830381865afa1580156103f7573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061041f9190611a24565b9050919050565b61042e61065d565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f1610a28836040518263ffffffff1660e01b81526004016104869190611279565b5f60405180830381865afa1580156104a0573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906104c89190611a6b565b9050919050565b5f80600167ffffffffffffffff8111156104ec576104eb6107d7565b5b60405190808252806020026020018201604052801561052557816020015b6105126106fa565b81526020019060019003908161050a5790505b50905084848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050815f8151811061057f5761057e611ab2565b5b60200260200101516020018190525082815f815181106105a2576105a1611ab2565b5b60200260200101515f0181815250505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663474d7f358a8a8a8a6040518563ffffffff1660e01b815260040161060f9493929190611b1b565b6020604051808303815f875af115801561062b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064f9190611b54565b915050979650505050505050565b604051806101a001604052805f67ffffffffffffffff168152602001606081526020015f60030b8152602001610691610713565b81526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff168152602001606081526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff168152602001606081526020016060815260200160608152602001606081525090565b60405180604001604052805f8152602001606081525090565b6040518060800160405280606081526020016060815260200160608152602001606081525090565b5f604051905090565b5f80fd5b5f80fd5b5f67ffffffffffffffff82169050919050565b6107688161074c565b8114610772575f80fd5b50565b5f813590506107838161075f565b92915050565b5f8160030b9050919050565b61079e81610789565b81146107a8575f80fd5b50565b5f813590506107b981610795565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61080d826107c7565b810181811067ffffffffffffffff8211171561082c5761082b6107d7565b5b80604052505050565b5f61083e61073b565b905061084a8282610804565b919050565b5f67ffffffffffffffff821115610869576108686107d7565b5b610872826107c7565b9050602081019050919050565b828183375f83830152505050565b5f61089f61089a8461084f565b610835565b9050828152602081018484840111156108bb576108ba6107c3565b5b6108c684828561087f565b509392505050565b5f82601f8301126108e2576108e16107bf565b5b81356108f284826020860161088d565b91505092915050565b5f805f6060848603121561091257610911610744565b5b5f61091f86828701610775565b9350506020610930868287016107ab565b925050604084013567ffffffffffffffff81111561095157610950610748565b5b61095d868287016108ce565b9150509250925092565b5f8115159050919050565b61097b81610967565b82525050565b5f6020820190506109945f830184610972565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f6109dc6109d76109d28461099a565b6109b9565b61099a565b9050919050565b5f6109ed826109c2565b9050919050565b5f6109fe826109e3565b9050919050565b610a0e816109f4565b82525050565b5f602082019050610a275f830184610a05565b92915050565b5f60208284031215610a4257610a41610744565b5b5f610a4f84828501610775565b91505092915050565b610a618161074c565b82525050565b5f604082019050610a7a5f830185610a58565b610a876020830184610a58565b9392505050565b5f610a98826109e3565b9050919050565b610aa881610a8e565b82525050565b5f602082019050610ac15f830184610a9f565b92915050565b5f60208284031215610adc57610adb610744565b5b5f610ae9848285016107ab565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610b248161074c565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610b61578082015181840152602081019050610b46565b5f8484015250505050565b5f610b7682610b2a565b610b808185610b34565b9350610b90818560208601610b44565b610b99816107c7565b840191505092915050565b610bad81610789565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f610bd782610bb3565b610be18185610bbd565b9350610bf1818560208601610b44565b610bfa816107c7565b840191505092915050565b5f608083015f8301518482035f860152610c1f8282610bcd565b91505060208301518482036020860152610c398282610bcd565b91505060408301518482036040860152610c538282610bcd565b91505060608301518482036060860152610c6d8282610bcd565b9150508091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f819050919050565b610cb581610ca3565b82525050565b5f604083015f830151610cd05f860182610cac565b5060208301518482036020860152610ce88282610bcd565b9150508091505092915050565b5f610d008383610cbb565b905092915050565b5f602082019050919050565b5f610d1e82610c7a565b610d288185610c84565b935083602082028501610d3a85610c94565b805f5b85811015610d755784840389528151610d568582610cf5565b9450610d6183610d08565b925060208a01995050600181019050610d3d565b50829750879550505050505092915050565b5f6101a083015f830151610d9d5f860182610b1b565b5060208301518482036020860152610db58282610b6c565b9150506040830151610dca6040860182610ba4565b5060608301518482036060860152610de28282610c05565b9150506080830151610df76080860182610b1b565b5060a0830151610e0a60a0860182610b1b565b5060c083015184820360c0860152610e228282610d14565b91505060e0830151610e3760e0860182610b1b565b50610100830151610e4c610100860182610b1b565b50610120830151848203610120860152610e668282610bcd565b915050610140830151848203610140860152610e828282610bcd565b915050610160830151848203610160860152610e9e8282610bcd565b915050610180830151848203610180860152610eba8282610bcd565b9150508091505092915050565b5f610ed28383610d87565b905092915050565b5f602082019050919050565b5f610ef082610af2565b610efa8185610afc565b935083602082028501610f0c85610b0c565b805f5b85811015610f475784840389528151610f288582610ec7565b9450610f3383610eda565b925060208a01995050600181019050610f0f565b50829750879550505050505092915050565b5f6020820190508181035f830152610f718184610ee6565b905092915050565b5f6101a083015f830151610f8f5f860182610b1b565b5060208301518482036020860152610fa78282610b6c565b9150506040830151610fbc6040860182610ba4565b5060608301518482036060860152610fd48282610c05565b9150506080830151610fe96080860182610b1b565b5060a0830151610ffc60a0860182610b1b565b5060c083015184820360c08601526110148282610d14565b91505060e083015161102960e0860182610b1b565b5061010083015161103e610100860182610b1b565b506101208301518482036101208601526110588282610bcd565b9150506101408301518482036101408601526110748282610bcd565b9150506101608301518482036101608601526110908282610bcd565b9150506101808301518482036101808601526110ac8282610bcd565b9150508091505092915050565b5f6020820190508181035f8301526110d18184610f79565b905092915050565b5f80fd5b5f80fd5b5f8083601f8401126110f6576110f56107bf565b5b8235905067ffffffffffffffff811115611113576111126110d9565b5b60208301915083600182028301111561112f5761112e6110dd565b5b9250929050565b5f8083601f84011261114b5761114a6107bf565b5b8235905067ffffffffffffffff811115611168576111676110d9565b5b602083019150836001820283011115611184576111836110dd565b5b9250929050565b61119481610ca3565b811461119e575f80fd5b50565b5f813590506111af8161118b565b92915050565b5f805f805f805f6080888a0312156111d0576111cf610744565b5b5f88013567ffffffffffffffff8111156111ed576111ec610748565b5b6111f98a828b016110e1565b9750975050602088013567ffffffffffffffff81111561121c5761121b610748565b5b6112288a828b016110e1565b9550955050604088013567ffffffffffffffff81111561124b5761124a610748565b5b6112578a828b01611136565b9350935050606061126a8a828b016111a1565b91505092959891949750929550565b5f60208201905061128c5f830184610a58565b92915050565b61129b81610789565b82525050565b5f82825260208201905092915050565b5f6112bb82610bb3565b6112c581856112a1565b93506112d5818560208601610b44565b6112de816107c7565b840191505092915050565b5f6060820190506112fc5f830186610a58565b6113096020830185611292565b818103604083015261131b81846112b1565b9050949350505050565b61132e81610967565b8114611338575f80fd5b50565b5f8151905061134981611325565b92915050565b5f6020828403121561136457611363610744565b5b5f6113718482850161133b565b91505092915050565b5f815190506113888161075f565b92915050565b5f80604083850312156113a4576113a3610744565b5b5f6113b18582860161137a565b92505060206113c28582860161137a565b9150509250929050565b5f6020820190506113df5f830184611292565b92915050565b5f67ffffffffffffffff8211156113ff576113fe6107d7565b5b602082029050602081019050919050565b5f80fd5b5f80fd5b5f67ffffffffffffffff821115611432576114316107d7565b5b61143b826107c7565b9050602081019050919050565b5f61145a61145584611418565b610835565b905082815260208101848484011115611476576114756107c3565b5b611481848285610b44565b509392505050565b5f82601f83011261149d5761149c6107bf565b5b81516114ad848260208601611448565b91505092915050565b5f815190506114c481610795565b92915050565b5f6114dc6114d78461084f565b610835565b9050828152602081018484840111156114f8576114f76107c3565b5b611503848285610b44565b509392505050565b5f82601f83011261151f5761151e6107bf565b5b815161152f8482602086016114ca565b91505092915050565b5f6080828403121561154d5761154c611410565b5b6115576080610835565b90505f82015167ffffffffffffffff81111561157657611575611414565b5b6115828482850161150b565b5f83015250602082015167ffffffffffffffff8111156115a5576115a4611414565b5b6115b18482850161150b565b602083015250604082015167ffffffffffffffff8111156115d5576115d4611414565b5b6115e18482850161150b565b604083015250606082015167ffffffffffffffff81111561160557611604611414565b5b6116118482850161150b565b60608301525092915050565b5f67ffffffffffffffff821115611637576116366107d7565b5b602082029050602081019050919050565b5f815190506116568161118b565b92915050565b5f6040828403121561167157611670611410565b5b61167b6040610835565b90505f61168a84828501611648565b5f83015250602082015167ffffffffffffffff8111156116ad576116ac611414565b5b6116b98482850161150b565b60208301525092915050565b5f6116d76116d28461161d565b610835565b905080838252602082019050602084028301858111156116fa576116f96110dd565b5b835b8181101561174157805167ffffffffffffffff81111561171f5761171e6107bf565b5b80860161172c898261165c565b855260208501945050506020810190506116fc565b5050509392505050565b5f82601f83011261175f5761175e6107bf565b5b815161176f8482602086016116c5565b91505092915050565b5f6101a0828403121561178e5761178d611410565b5b6117996101a0610835565b90505f6117a88482850161137a565b5f83015250602082015167ffffffffffffffff8111156117cb576117ca611414565b5b6117d784828501611489565b60208301525060406117eb848285016114b6565b604083015250606082015167ffffffffffffffff81111561180f5761180e611414565b5b61181b84828501611538565b606083015250608061182f8482850161137a565b60808301525060a06118438482850161137a565b60a08301525060c082015167ffffffffffffffff81111561186757611866611414565b5b6118738482850161174b565b60c08301525060e06118878482850161137a565b60e08301525061010061189c8482850161137a565b6101008301525061012082015167ffffffffffffffff8111156118c2576118c1611414565b5b6118ce8482850161150b565b6101208301525061014082015167ffffffffffffffff8111156118f4576118f3611414565b5b6119008482850161150b565b6101408301525061016082015167ffffffffffffffff81111561192657611925611414565b5b6119328482850161150b565b6101608301525061018082015167ffffffffffffffff81111561195857611957611414565b5b6119648482850161150b565b6101808301525092915050565b5f61198361197e846113e5565b610835565b905080838252602082019050602084028301858111156119a6576119a56110dd565b5b835b818110156119ed57805167ffffffffffffffff8111156119cb576119ca6107bf565b5b8086016119d88982611778565b855260208501945050506020810190506119a8565b5050509392505050565b5f82601f830112611a0b57611a0a6107bf565b5b8151611a1b848260208601611971565b91505092915050565b5f60208284031215611a3957611a38610744565b5b5f82015167ffffffffffffffff811115611a5657611a55610748565b5b611a62848285016119f7565b91505092915050565b5f60208284031215611a8057611a7f610744565b5b5f82015167ffffffffffffffff811115611a9d57611a9c610748565b5b611aa984828501611778565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82825260208201905092915050565b5f611afa8385611adf565b9350611b0783858461087f565b611b10836107c7565b840190509392505050565b5f6040820190508181035f830152611b34818688611aef565b90508181036020830152611b49818486611aef565b905095945050505050565b5f60208284031215611b6957611b68610744565b5b5f611b768482850161137a565b9150509291505056fea2646970667358221220c3cd6d1e326c52a7463d3c594d63e45139a1ec859d2a0e454a74706fb37ff54b64736f6c63430008140033", } // 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 d642e5a45..f4c36c65e 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: "0x61010060405273d9a998cac66092748ffec7cfbd155aae1737c2ff73ffffffffffffffffffffffffffffffffffffffff1660e09073ffffffffffffffffffffffffffffffffffffffff1681525034801562000058575f80fd5b50604051620028583803806200285883398181016040528101906200007e9190620002f0565b81816012825f9081620000929190620005aa565b508160019081620000a49190620005aa565b508060ff1660808160ff16815250504660a08181525050620000cb620000dd60201b60201c565b60c08181525050505050505062000817565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516200010f919062000736565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6463060405160200162000150959493929190620007bc565b60405160208183030381529060405280519060200120905090565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620001cc8262000184565b810181811067ffffffffffffffff82111715620001ee57620001ed62000194565b5b80604052505050565b5f620002026200016b565b9050620002108282620001c1565b919050565b5f67ffffffffffffffff82111562000232576200023162000194565b5b6200023d8262000184565b9050602081019050919050565b5f5b83811015620002695780820151818401526020810190506200024c565b5f8484015250505050565b5f6200028a620002848462000215565b620001f7565b905082815260208101848484011115620002a957620002a862000180565b5b620002b68482856200024a565b509392505050565b5f82601f830112620002d557620002d46200017c565b5b8151620002e784826020860162000274565b91505092915050565b5f806040838503121562000309576200030862000174565b5b5f83015167ffffffffffffffff81111562000329576200032862000178565b5b6200033785828601620002be565b925050602083015167ffffffffffffffff8111156200035b576200035a62000178565b5b6200036985828601620002be565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620003c257607f821691505b602082108103620003d857620003d76200037d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200043c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620003ff565b620004488683620003ff565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620004926200048c620004868462000460565b62000469565b62000460565b9050919050565b5f819050919050565b620004ad8362000472565b620004c5620004bc8262000499565b8484546200040b565b825550505050565b5f90565b620004db620004cd565b620004e8818484620004a2565b505050565b5b818110156200050f57620005035f82620004d1565b600181019050620004ee565b5050565b601f8211156200055e576200052881620003de565b6200053384620003f0565b8101602085101562000543578190505b6200055b6200055285620003f0565b830182620004ed565b50505b505050565b5f82821c905092915050565b5f620005805f198460080262000563565b1980831691505092915050565b5f6200059a83836200056f565b9150826002028217905092915050565b620005b58262000373565b67ffffffffffffffff811115620005d157620005d062000194565b5b620005dd8254620003aa565b620005ea82828562000513565b5f60209050601f83116001811462000620575f84156200060b578287015190505b6200061785826200058d565b86555062000686565b601f1984166200063086620003de565b5f5b82811015620006595784890151825560018201915060208501945060208101905062000632565b8683101562000679578489015162000675601f8916826200056f565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f8154620006b881620003aa565b620006c481866200068e565b9450600182165f8114620006e15760018114620006f7576200072d565b60ff19831686528115158202860193506200072d565b620007028562000698565b5f5b83811015620007255781548189015260018201915060208101905062000704565b838801955050505b50505092915050565b5f620007438284620006aa565b915081905092915050565b5f819050919050565b62000762816200074e565b82525050565b620007738162000460565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620007a48262000779565b9050919050565b620007b68162000798565b82525050565b5f60a082019050620007d15f83018862000757565b620007e0602083018762000757565b620007ef604083018662000757565b620007fe606083018562000768565b6200080d6080830184620007ab565b9695505050505050565b60805160a05160c05160e051611ff1620008675f395f8181610907015281816109e301528181610ab201528181610b5f015261106601525f6108e001525f6108ac01525f6108870152611ff15ff3fe608060405260043610610101575f3560e01c806370a08231116100945780639fa6dd35116100635780639fa6dd351461034a578063a9059cbb14610366578063d505accf146103a2578063dd62ed3e146103ca578063f639187e1461040657610108565b806370a082311461027e5780637ecebe00146102ba57806395d89b41146102f65780639de702581461032057610108565b80632e1a7d4d116100d05780632e1a7d4d146101d8578063313ce567146102005780633644e5151461022a5780634cf088d91461025457610108565b806306fdde031461010c578063095ea7b31461013657806318160ddd1461017257806323b872dd1461019c57610108565b3661010857005b5f80fd5b348015610117575f80fd5b50610120610442565b60405161012d91906113af565b60405180910390f35b348015610141575f80fd5b5061015c6004803603810190610157919061146d565b6104cd565b60405161016991906114c5565b60405180910390f35b34801561017d575f80fd5b506101866105ba565b60405161019391906114ed565b60405180910390f35b3480156101a7575f80fd5b506101c260048036038101906101bd9190611506565b6105c0565b6040516101cf91906114c5565b60405180910390f35b3480156101e3575f80fd5b506101fe60048036038101906101f99190611556565b6107fb565b005b34801561020b575f80fd5b50610214610885565b604051610221919061159c565b60405180910390f35b348015610235575f80fd5b5061023e6108a9565b60405161024b91906115cd565b60405180910390f35b34801561025f575f80fd5b50610268610905565b6040516102759190611641565b60405180910390f35b348015610289575f80fd5b506102a4600480360381019061029f919061165a565b610929565b6040516102b191906114ed565b60405180910390f35b3480156102c5575f80fd5b506102e060048036038101906102db919061165a565b61093e565b6040516102ed91906114ed565b60405180910390f35b348015610301575f80fd5b5061030a610953565b60405161031791906113af565b60405180910390f35b34801561032b575f80fd5b506103346109df565b604051610341919061173c565b60405180910390f35b610364600480360381019061035f9190611556565b610a76565b005b348015610371575f80fd5b5061038c6004803603810190610387919061146d565b610c49565b60405161039991906114c5565b60405180910390f35b3480156103ad575f80fd5b506103c860048036038101906103c391906117b0565b610d56565b005b3480156103d5575f80fd5b506103f060048036038101906103eb919061184d565b611043565b6040516103fd91906114ed565b60405180910390f35b348015610411575f80fd5b5061042c6004803603810190610427919061165a565b611063565b60405161043991906114ed565b60405180910390f35b5f805461044e906118b8565b80601f016020809104026020016040519081016040528092919081815260200182805461047a906118b8565b80156104c55780601f1061049c576101008083540402835291602001916104c5565b820191905f5260205f20905b8154815290600101906020018083116104a857829003601f168201915b505050505081565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516105a891906114ed565b60405180910390a36001905092915050565b60025481565b5f8060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106ed5782816106709190611915565b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b8260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546107399190611915565b925050819055508260035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516107e791906114ed565b60405180910390a360019150509392505050565b5f8103610834576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61083e3382611105565b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610881573d5f803e3d5ffd5b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f7f000000000000000000000000000000000000000000000000000000000000000046146108de576108d96111d0565b610900565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6003602052805f5260405f205f915090505481565b6005602052805f5260405f205f915090505481565b60018054610960906118b8565b80601f016020809104026020016040519081016040528092919081815260200182805461098c906118b8565b80156109d75780601f106109ae576101008083540402835291602001916109d7565b820191905f5260205f20905b8154815290600101906020018083116109ba57829003601f168201915b505050505081565b60607f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639de702586040518163ffffffff1660e01b81526004015f60405180830381865afa158015610a49573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190610a719190611a9c565b905090565b5f8103610aaf576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639de702586040518163ffffffff1660e01b81526004015f60405180830381865afa158015610b18573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190610b409190611a9c565b5f81518110610b5257610b51611ae3565b5b602002602001015190505f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663026e402b83856040518363ffffffff1660e01b8152600401610bb8929190611b1f565b6020604051808303815f875af1158015610bd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf89190611b70565b905080610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3190611be5565b60405180910390fd5b610c44338461125a565b505050565b5f8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610c969190611915565b925050819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d4491906114ed565b60405180910390a36001905092915050565b42841015610d99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9090611c4d565b60405180910390fd5b5f6001610da46108a9565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a60055f8f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050558b604051602001610e2996959493929190611c6b565b60405160208183030381529060405280519060200120604051602001610e50929190611d3e565b604051602081830303815290604052805190602001208585856040515f8152602001604052604051610e859493929190611d74565b6020604051602081039080840390855afa158015610ea5573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610f1857508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610f57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4e90611e01565b60405180910390fd5b8560045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258760405161103291906114ed565b60405180910390a350505050505050565b6004602052815f5260405f20602052805f5260405f205f91509150505481565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166315049a5a30846040518363ffffffff1660e01b81526004016110bf929190611e1f565b602060405180830381865afa1580156110da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110fe9190611e5a565b9050919050565b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546111519190611915565b925050819055508060025f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111c491906114ed565b60405180910390a35050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516112009190611f21565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6463060405160200161123f959493929190611f37565b60405160208183030381529060405280519060200120905090565b8060025f82825461126b9190611f88565b925050819055508060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161131991906114ed565b60405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561135c578082015181840152602081019050611341565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61138182611325565b61138b818561132f565b935061139b81856020860161133f565b6113a481611367565b840191505092915050565b5f6020820190508181035f8301526113c78184611377565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611409826113e0565b9050919050565b611419816113ff565b8114611423575f80fd5b50565b5f8135905061143481611410565b92915050565b5f819050919050565b61144c8161143a565b8114611456575f80fd5b50565b5f8135905061146781611443565b92915050565b5f8060408385031215611483576114826113d8565b5b5f61149085828601611426565b92505060206114a185828601611459565b9150509250929050565b5f8115159050919050565b6114bf816114ab565b82525050565b5f6020820190506114d85f8301846114b6565b92915050565b6114e78161143a565b82525050565b5f6020820190506115005f8301846114de565b92915050565b5f805f6060848603121561151d5761151c6113d8565b5b5f61152a86828701611426565b935050602061153b86828701611426565b925050604061154c86828701611459565b9150509250925092565b5f6020828403121561156b5761156a6113d8565b5b5f61157884828501611459565b91505092915050565b5f60ff82169050919050565b61159681611581565b82525050565b5f6020820190506115af5f83018461158d565b92915050565b5f819050919050565b6115c7816115b5565b82525050565b5f6020820190506115e05f8301846115be565b92915050565b5f819050919050565b5f6116096116046115ff846113e0565b6115e6565b6113e0565b9050919050565b5f61161a826115ef565b9050919050565b5f61162b82611610565b9050919050565b61163b81611621565b82525050565b5f6020820190506116545f830184611632565b92915050565b5f6020828403121561166f5761166e6113d8565b5b5f61167c84828501611426565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6116b7816113ff565b82525050565b5f6116c883836116ae565b60208301905092915050565b5f602082019050919050565b5f6116ea82611685565b6116f4818561168f565b93506116ff8361169f565b805f5b8381101561172f57815161171688826116bd565b9750611721836116d4565b925050600181019050611702565b5085935050505092915050565b5f6020820190508181035f83015261175481846116e0565b905092915050565b61176581611581565b811461176f575f80fd5b50565b5f813590506117808161175c565b92915050565b61178f816115b5565b8114611799575f80fd5b50565b5f813590506117aa81611786565b92915050565b5f805f805f805f60e0888a0312156117cb576117ca6113d8565b5b5f6117d88a828b01611426565b97505060206117e98a828b01611426565b96505060406117fa8a828b01611459565b955050606061180b8a828b01611459565b945050608061181c8a828b01611772565b93505060a061182d8a828b0161179c565b92505060c061183e8a828b0161179c565b91505092959891949750929550565b5f8060408385031215611863576118626113d8565b5b5f61187085828601611426565b925050602061188185828601611426565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806118cf57607f821691505b6020821081036118e2576118e161188b565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61191f8261143a565b915061192a8361143a565b9250828203905081811115611942576119416118e8565b5b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61198282611367565b810181811067ffffffffffffffff821117156119a1576119a061194c565b5b80604052505050565b5f6119b36113cf565b90506119bf8282611979565b919050565b5f67ffffffffffffffff8211156119de576119dd61194c565b5b602082029050602081019050919050565b5f80fd5b5f81519050611a0181611410565b92915050565b5f611a19611a14846119c4565b6119aa565b90508083825260208201905060208402830185811115611a3c57611a3b6119ef565b5b835b81811015611a655780611a5188826119f3565b845260208401935050602081019050611a3e565b5050509392505050565b5f82601f830112611a8357611a82611948565b5b8151611a93848260208601611a07565b91505092915050565b5f60208284031215611ab157611ab06113d8565b5b5f82015167ffffffffffffffff811115611ace57611acd6113dc565b5b611ada84828501611a6f565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b611b19816113ff565b82525050565b5f604082019050611b325f830185611b10565b611b3f60208301846114de565b9392505050565b611b4f816114ab565b8114611b59575f80fd5b50565b5f81519050611b6a81611b46565b92915050565b5f60208284031215611b8557611b846113d8565b5b5f611b9284828501611b5c565b91505092915050565b7f4661696c656420746f2064656c656761746500000000000000000000000000005f82015250565b5f611bcf60128361132f565b9150611bda82611b9b565b602082019050919050565b5f6020820190508181035f830152611bfc81611bc3565b9050919050565b7f5045524d49545f444541444c494e455f455850495245440000000000000000005f82015250565b5f611c3760178361132f565b9150611c4282611c03565b602082019050919050565b5f6020820190508181035f830152611c6481611c2b565b9050919050565b5f60c082019050611c7e5f8301896115be565b611c8b6020830188611b10565b611c986040830187611b10565b611ca560608301866114de565b611cb260808301856114de565b611cbf60a08301846114de565b979650505050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f611d08600283611cca565b9150611d1382611cd4565b600282019050919050565b5f819050919050565b611d38611d33826115b5565b611d1e565b82525050565b5f611d4882611cfc565b9150611d548285611d27565b602082019150611d648284611d27565b6020820191508190509392505050565b5f608082019050611d875f8301876115be565b611d94602083018661158d565b611da160408301856115be565b611dae60608301846115be565b95945050505050565b7f494e56414c49445f5349474e45520000000000000000000000000000000000005f82015250565b5f611deb600e8361132f565b9150611df682611db7565b602082019050919050565b5f6020820190508181035f830152611e1881611ddf565b9050919050565b5f604082019050611e325f830185611b10565b611e3f6020830184611b10565b9392505050565b5f81519050611e5481611443565b92915050565b5f60208284031215611e6f57611e6e6113d8565b5b5f611e7c84828501611e46565b91505092915050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f8154611ead816118b8565b611eb78186611e85565b9450600182165f8114611ed15760018114611ee657611f18565b60ff1983168652811515820286019350611f18565b611eef85611e8f565b5f5b83811015611f1057815481890152600182019150602081019050611ef1565b838801955050505b50505092915050565b5f611f2c8284611ea1565b915081905092915050565b5f60a082019050611f4a5f8301886115be565b611f5760208301876115be565b611f6460408301866115be565b611f7160608301856114de565b611f7e6080830184611b10565b9695505050505050565b5f611f928261143a565b9150611f9d8361143a565b9250828201905080821115611fb557611fb46118e8565b5b9291505056fea264697066735822122035f8f535866ed7f87bc8ad8cde607f7cce3df4a80230a9a3a2821f0e7a77afe664736f6c63430008140033", + Bin: "0x61010060405273d9a998cac66092748ffec7cfbd155aae1737c2ff73ffffffffffffffffffffffffffffffffffffffff1660e09073ffffffffffffffffffffffffffffffffffffffff1681525034801562000058575f80fd5b50604051620028583803806200285883398181016040528101906200007e9190620002f0565b81816012825f9081620000929190620005aa565b508160019081620000a49190620005aa565b508060ff1660808160ff16815250504660a08181525050620000cb620000dd60201b60201c565b60c08181525050505050505062000817565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516200010f919062000736565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6463060405160200162000150959493929190620007bc565b60405160208183030381529060405280519060200120905090565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620001cc8262000184565b810181811067ffffffffffffffff82111715620001ee57620001ed62000194565b5b80604052505050565b5f620002026200016b565b9050620002108282620001c1565b919050565b5f67ffffffffffffffff82111562000232576200023162000194565b5b6200023d8262000184565b9050602081019050919050565b5f5b83811015620002695780820151818401526020810190506200024c565b5f8484015250505050565b5f6200028a620002848462000215565b620001f7565b905082815260208101848484011115620002a957620002a862000180565b5b620002b68482856200024a565b509392505050565b5f82601f830112620002d557620002d46200017c565b5b8151620002e784826020860162000274565b91505092915050565b5f806040838503121562000309576200030862000174565b5b5f83015167ffffffffffffffff81111562000329576200032862000178565b5b6200033785828601620002be565b925050602083015167ffffffffffffffff8111156200035b576200035a62000178565b5b6200036985828601620002be565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620003c257607f821691505b602082108103620003d857620003d76200037d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200043c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620003ff565b620004488683620003ff565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620004926200048c620004868462000460565b62000469565b62000460565b9050919050565b5f819050919050565b620004ad8362000472565b620004c5620004bc8262000499565b8484546200040b565b825550505050565b5f90565b620004db620004cd565b620004e8818484620004a2565b505050565b5b818110156200050f57620005035f82620004d1565b600181019050620004ee565b5050565b601f8211156200055e576200052881620003de565b6200053384620003f0565b8101602085101562000543578190505b6200055b6200055285620003f0565b830182620004ed565b50505b505050565b5f82821c905092915050565b5f620005805f198460080262000563565b1980831691505092915050565b5f6200059a83836200056f565b9150826002028217905092915050565b620005b58262000373565b67ffffffffffffffff811115620005d157620005d062000194565b5b620005dd8254620003aa565b620005ea82828562000513565b5f60209050601f83116001811462000620575f84156200060b578287015190505b6200061785826200058d565b86555062000686565b601f1984166200063086620003de565b5f5b82811015620006595784890151825560018201915060208501945060208101905062000632565b8683101562000679578489015162000675601f8916826200056f565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f8154620006b881620003aa565b620006c481866200068e565b9450600182165f8114620006e15760018114620006f7576200072d565b60ff19831686528115158202860193506200072d565b620007028562000698565b5f5b83811015620007255781548189015260018201915060208101905062000704565b838801955050505b50505092915050565b5f620007438284620006aa565b915081905092915050565b5f819050919050565b62000762816200074e565b82525050565b620007738162000460565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620007a48262000779565b9050919050565b620007b68162000798565b82525050565b5f60a082019050620007d15f83018862000757565b620007e0602083018762000757565b620007ef604083018662000757565b620007fe606083018562000768565b6200080d6080830184620007ab565b9695505050505050565b60805160a05160c05160e051611ff1620008675f395f8181610907015281816109e301528181610ab201528181610b5f015261106601525f6108e001525f6108ac01525f6108870152611ff15ff3fe608060405260043610610101575f3560e01c806370a08231116100945780639fa6dd35116100635780639fa6dd351461034a578063a9059cbb14610366578063d505accf146103a2578063dd62ed3e146103ca578063f639187e1461040657610108565b806370a082311461027e5780637ecebe00146102ba57806395d89b41146102f65780639de702581461032057610108565b80632e1a7d4d116100d05780632e1a7d4d146101d8578063313ce567146102005780633644e5151461022a5780634cf088d91461025457610108565b806306fdde031461010c578063095ea7b31461013657806318160ddd1461017257806323b872dd1461019c57610108565b3661010857005b5f80fd5b348015610117575f80fd5b50610120610442565b60405161012d91906113af565b60405180910390f35b348015610141575f80fd5b5061015c6004803603810190610157919061146d565b6104cd565b60405161016991906114c5565b60405180910390f35b34801561017d575f80fd5b506101866105ba565b60405161019391906114ed565b60405180910390f35b3480156101a7575f80fd5b506101c260048036038101906101bd9190611506565b6105c0565b6040516101cf91906114c5565b60405180910390f35b3480156101e3575f80fd5b506101fe60048036038101906101f99190611556565b6107fb565b005b34801561020b575f80fd5b50610214610885565b604051610221919061159c565b60405180910390f35b348015610235575f80fd5b5061023e6108a9565b60405161024b91906115cd565b60405180910390f35b34801561025f575f80fd5b50610268610905565b6040516102759190611641565b60405180910390f35b348015610289575f80fd5b506102a4600480360381019061029f919061165a565b610929565b6040516102b191906114ed565b60405180910390f35b3480156102c5575f80fd5b506102e060048036038101906102db919061165a565b61093e565b6040516102ed91906114ed565b60405180910390f35b348015610301575f80fd5b5061030a610953565b60405161031791906113af565b60405180910390f35b34801561032b575f80fd5b506103346109df565b604051610341919061173c565b60405180910390f35b610364600480360381019061035f9190611556565b610a76565b005b348015610371575f80fd5b5061038c6004803603810190610387919061146d565b610c49565b60405161039991906114c5565b60405180910390f35b3480156103ad575f80fd5b506103c860048036038101906103c391906117b0565b610d56565b005b3480156103d5575f80fd5b506103f060048036038101906103eb919061184d565b611043565b6040516103fd91906114ed565b60405180910390f35b348015610411575f80fd5b5061042c6004803603810190610427919061165a565b611063565b60405161043991906114ed565b60405180910390f35b5f805461044e906118b8565b80601f016020809104026020016040519081016040528092919081815260200182805461047a906118b8565b80156104c55780601f1061049c576101008083540402835291602001916104c5565b820191905f5260205f20905b8154815290600101906020018083116104a857829003601f168201915b505050505081565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516105a891906114ed565b60405180910390a36001905092915050565b60025481565b5f8060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106ed5782816106709190611915565b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b8260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546107399190611915565b925050819055508260035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516107e791906114ed565b60405180910390a360019150509392505050565b5f8103610834576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61083e3382611105565b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610881573d5f803e3d5ffd5b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f7f000000000000000000000000000000000000000000000000000000000000000046146108de576108d96111d0565b610900565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6003602052805f5260405f205f915090505481565b6005602052805f5260405f205f915090505481565b60018054610960906118b8565b80601f016020809104026020016040519081016040528092919081815260200182805461098c906118b8565b80156109d75780601f106109ae576101008083540402835291602001916109d7565b820191905f5260205f20905b8154815290600101906020018083116109ba57829003601f168201915b505050505081565b60607f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639de702586040518163ffffffff1660e01b81526004015f60405180830381865afa158015610a49573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190610a719190611a9c565b905090565b5f8103610aaf576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639de702586040518163ffffffff1660e01b81526004015f60405180830381865afa158015610b18573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190610b409190611a9c565b5f81518110610b5257610b51611ae3565b5b602002602001015190505f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663026e402b83856040518363ffffffff1660e01b8152600401610bb8929190611b1f565b6020604051808303815f875af1158015610bd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf89190611b70565b905080610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3190611be5565b60405180910390fd5b610c44338461125a565b505050565b5f8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610c969190611915565b925050819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d4491906114ed565b60405180910390a36001905092915050565b42841015610d99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9090611c4d565b60405180910390fd5b5f6001610da46108a9565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a60055f8f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050558b604051602001610e2996959493929190611c6b565b60405160208183030381529060405280519060200120604051602001610e50929190611d3e565b604051602081830303815290604052805190602001208585856040515f8152602001604052604051610e859493929190611d74565b6020604051602081039080840390855afa158015610ea5573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610f1857508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610f57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4e90611e01565b60405180910390fd5b8560045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258760405161103291906114ed565b60405180910390a350505050505050565b6004602052815f5260405f20602052805f5260405f205f91509150505481565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166315049a5a30846040518363ffffffff1660e01b81526004016110bf929190611e1f565b602060405180830381865afa1580156110da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110fe9190611e5a565b9050919050565b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546111519190611915565b925050819055508060025f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111c491906114ed565b60405180910390a35050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516112009190611f21565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6463060405160200161123f959493929190611f37565b60405160208183030381529060405280519060200120905090565b8060025f82825461126b9190611f88565b925050819055508060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161131991906114ed565b60405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561135c578082015181840152602081019050611341565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61138182611325565b61138b818561132f565b935061139b81856020860161133f565b6113a481611367565b840191505092915050565b5f6020820190508181035f8301526113c78184611377565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611409826113e0565b9050919050565b611419816113ff565b8114611423575f80fd5b50565b5f8135905061143481611410565b92915050565b5f819050919050565b61144c8161143a565b8114611456575f80fd5b50565b5f8135905061146781611443565b92915050565b5f8060408385031215611483576114826113d8565b5b5f61149085828601611426565b92505060206114a185828601611459565b9150509250929050565b5f8115159050919050565b6114bf816114ab565b82525050565b5f6020820190506114d85f8301846114b6565b92915050565b6114e78161143a565b82525050565b5f6020820190506115005f8301846114de565b92915050565b5f805f6060848603121561151d5761151c6113d8565b5b5f61152a86828701611426565b935050602061153b86828701611426565b925050604061154c86828701611459565b9150509250925092565b5f6020828403121561156b5761156a6113d8565b5b5f61157884828501611459565b91505092915050565b5f60ff82169050919050565b61159681611581565b82525050565b5f6020820190506115af5f83018461158d565b92915050565b5f819050919050565b6115c7816115b5565b82525050565b5f6020820190506115e05f8301846115be565b92915050565b5f819050919050565b5f6116096116046115ff846113e0565b6115e6565b6113e0565b9050919050565b5f61161a826115ef565b9050919050565b5f61162b82611610565b9050919050565b61163b81611621565b82525050565b5f6020820190506116545f830184611632565b92915050565b5f6020828403121561166f5761166e6113d8565b5b5f61167c84828501611426565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6116b7816113ff565b82525050565b5f6116c883836116ae565b60208301905092915050565b5f602082019050919050565b5f6116ea82611685565b6116f4818561168f565b93506116ff8361169f565b805f5b8381101561172f57815161171688826116bd565b9750611721836116d4565b925050600181019050611702565b5085935050505092915050565b5f6020820190508181035f83015261175481846116e0565b905092915050565b61176581611581565b811461176f575f80fd5b50565b5f813590506117808161175c565b92915050565b61178f816115b5565b8114611799575f80fd5b50565b5f813590506117aa81611786565b92915050565b5f805f805f805f60e0888a0312156117cb576117ca6113d8565b5b5f6117d88a828b01611426565b97505060206117e98a828b01611426565b96505060406117fa8a828b01611459565b955050606061180b8a828b01611459565b945050608061181c8a828b01611772565b93505060a061182d8a828b0161179c565b92505060c061183e8a828b0161179c565b91505092959891949750929550565b5f8060408385031215611863576118626113d8565b5b5f61187085828601611426565b925050602061188185828601611426565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806118cf57607f821691505b6020821081036118e2576118e161188b565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61191f8261143a565b915061192a8361143a565b9250828203905081811115611942576119416118e8565b5b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61198282611367565b810181811067ffffffffffffffff821117156119a1576119a061194c565b5b80604052505050565b5f6119b36113cf565b90506119bf8282611979565b919050565b5f67ffffffffffffffff8211156119de576119dd61194c565b5b602082029050602081019050919050565b5f80fd5b5f81519050611a0181611410565b92915050565b5f611a19611a14846119c4565b6119aa565b90508083825260208201905060208402830185811115611a3c57611a3b6119ef565b5b835b81811015611a655780611a5188826119f3565b845260208401935050602081019050611a3e565b5050509392505050565b5f82601f830112611a8357611a82611948565b5b8151611a93848260208601611a07565b91505092915050565b5f60208284031215611ab157611ab06113d8565b5b5f82015167ffffffffffffffff811115611ace57611acd6113dc565b5b611ada84828501611a6f565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b611b19816113ff565b82525050565b5f604082019050611b325f830185611b10565b611b3f60208301846114de565b9392505050565b611b4f816114ab565b8114611b59575f80fd5b50565b5f81519050611b6a81611b46565b92915050565b5f60208284031215611b8557611b846113d8565b5b5f611b9284828501611b5c565b91505092915050565b7f4661696c656420746f2064656c656761746500000000000000000000000000005f82015250565b5f611bcf60128361132f565b9150611bda82611b9b565b602082019050919050565b5f6020820190508181035f830152611bfc81611bc3565b9050919050565b7f5045524d49545f444541444c494e455f455850495245440000000000000000005f82015250565b5f611c3760178361132f565b9150611c4282611c03565b602082019050919050565b5f6020820190508181035f830152611c6481611c2b565b9050919050565b5f60c082019050611c7e5f8301896115be565b611c8b6020830188611b10565b611c986040830187611b10565b611ca560608301866114de565b611cb260808301856114de565b611cbf60a08301846114de565b979650505050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f611d08600283611cca565b9150611d1382611cd4565b600282019050919050565b5f819050919050565b611d38611d33826115b5565b611d1e565b82525050565b5f611d4882611cfc565b9150611d548285611d27565b602082019150611d648284611d27565b6020820191508190509392505050565b5f608082019050611d875f8301876115be565b611d94602083018661158d565b611da160408301856115be565b611dae60608301846115be565b95945050505050565b7f494e56414c49445f5349474e45520000000000000000000000000000000000005f82015250565b5f611deb600e8361132f565b9150611df682611db7565b602082019050919050565b5f6020820190508181035f830152611e1881611ddf565b9050919050565b5f604082019050611e325f830185611b10565b611e3f6020830184611b10565b9392505050565b5f81519050611e5481611443565b92915050565b5f60208284031215611e6f57611e6e6113d8565b5b5f611e7c84828501611e46565b91505092915050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f8154611ead816118b8565b611eb78186611e85565b9450600182165f8114611ed15760018114611ee657611f18565b60ff1983168652811515820286019350611f18565b611eef85611e8f565b5f5b83811015611f1057815481890152600182019150602081019050611ef1565b838801955050505b50505092915050565b5f611f2c8284611ea1565b915081905092915050565b5f60a082019050611f4a5f8301886115be565b611f5760208301876115be565b611f6460408301866115be565b611f7160608301856114de565b611f7e6080830184611b10565b9695505050505050565b5f611f928261143a565b9150611f9d8361143a565b9250828201905080821115611fb557611fb46118e8565b5b9291505056fea26469706673582212200341b5d6432adec3568ee9ec376de0764525d1e1d3cc0229d832f25cd2ff30a064736f6c63430008140033", } // 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 7c988b8a4..ed9de8546 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: "0x60a06040526269696973ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1681525034801562000046575f80fd5b505f60805173ffffffffffffffffffffffffffffffffffffffff1663096b4069333363075bcd156040518463ffffffff1660e01b81526004016200008d9392919062000416565b6020604051808303815f875af1158015620000aa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000d09190620004b1565b90508062000115576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200010c906200052f565b60405180910390fd5b60805173ffffffffffffffffffffffffffffffffffffffff1663a333e57c6040518163ffffffff1660e01b815260040162000150906200054f565b602060405180830381865afa1580156200016c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001929190620005b1565b5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060805173ffffffffffffffffffffffffffffffffffffffff1663cd22a0185f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016200022c91906200063f565b5f60405180830381865afa15801562000247573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190620002719190620007ce565b6001908162000281919062000a42565b506040518060400160405280600581526020017f6162657261000000000000000000000000000000000000000000000000000000815250805190602001206001604051620002d0919062000bce565b6040518091039020146200031b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003129062000c34565b60405180910390fd5b5062000c54565b5f82825260208201905092915050565b7f61626572610000000000000000000000000000000000000000000000000000005f82015250565b5f6200036860058362000322565b9150620003758262000332565b602082019050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620003ab8262000380565b9050919050565b620003bd816200039f565b82525050565b5f819050919050565b5f819050919050565b5f819050919050565b5f620003fe620003f8620003f284620003c3565b620003d5565b620003cc565b9050919050565b6200041081620003de565b82525050565b5f6080820190508181035f8301526200042f816200035a565b9050620004406020830186620003b2565b6200044f6040830185620003b2565b6200045e606083018462000405565b949350505050565b5f604051905090565b5f80fd5b5f80fd5b5f8115159050919050565b6200048d8162000477565b811462000498575f80fd5b50565b5f81519050620004ab8162000482565b92915050565b5f60208284031215620004c957620004c86200046f565b5b5f620004d8848285016200049b565b91505092915050565b7f6661696c656420746f207472616e7366657220616265726100000000000000005f82015250565b5f6200051760188362000322565b91506200052482620004e1565b602082019050919050565b5f6020820190508181035f830152620005488162000509565b9050919050565b5f6020820190508181035f83015262000568816200035a565b9050919050565b5f6200057b826200039f565b9050919050565b6200058d816200056f565b811462000598575f80fd5b50565b5f81519050620005ab8162000582565b92915050565b5f60208284031215620005c957620005c86200046f565b5b5f620005d8848285016200059b565b91505092915050565b5f62000601620005fb620005f58462000380565b620003d5565b62000380565b9050919050565b5f6200061482620005e1565b9050919050565b5f620006278262000608565b9050919050565b62000639816200061b565b82525050565b5f602082019050620006545f8301846200062e565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620006aa8262000662565b810181811067ffffffffffffffff82111715620006cc57620006cb62000672565b5b80604052505050565b5f620006e062000466565b9050620006ee82826200069f565b919050565b5f67ffffffffffffffff82111562000710576200070f62000672565b5b6200071b8262000662565b9050602081019050919050565b5f5b83811015620007475780820151818401526020810190506200072a565b5f8484015250505050565b5f620007686200076284620006f3565b620006d5565b9050828152602081018484840111156200078757620007866200065e565b5b6200079484828562000728565b509392505050565b5f82601f830112620007b357620007b26200065a565b5b8151620007c584826020860162000752565b91505092915050565b5f60208284031215620007e657620007e56200046f565b5b5f82015167ffffffffffffffff81111562000806576200080562000473565b5b62000814848285016200079c565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200086c57607f821691505b60208210810362000882576200088162000827565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620008e67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620008a9565b620008f28683620008a9565b95508019841693508086168417925050509392505050565b5f6200092a620009246200091e84620003cc565b620003d5565b620003cc565b9050919050565b5f819050919050565b62000945836200090a565b6200095d620009548262000931565b848454620008b5565b825550505050565b5f90565b6200097362000965565b620009808184846200093a565b505050565b5b81811015620009a7576200099b5f8262000969565b60018101905062000986565b5050565b601f821115620009f657620009c08162000888565b620009cb846200089a565b81016020851015620009db578190505b620009f3620009ea856200089a565b83018262000985565b50505b505050565b5f82821c905092915050565b5f62000a185f1984600802620009fb565b1980831691505092915050565b5f62000a32838362000a07565b9150826002028217905092915050565b62000a4d826200081d565b67ffffffffffffffff81111562000a695762000a6862000672565b5b62000a75825462000854565b62000a82828285620009ab565b5f60209050601f83116001811462000ab8575f841562000aa3578287015190505b62000aaf858262000a25565b86555062000b1e565b601f19841662000ac88662000888565b5f5b8281101562000af15784890151825560018201915060208501945060208101905062000aca565b8683101562000b11578489015162000b0d601f89168262000a07565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f815462000b508162000854565b62000b5c818662000b26565b9450600182165f811462000b79576001811462000b8f5762000bc5565b60ff198316865281151582028601935062000bc5565b62000b9a8562000b30565b5f5b8381101562000bbd5781548189015260018201915060208101905062000b9c565b838801955050505b50505092915050565b5f62000bdb828462000b42565b915081905092915050565b7f72657475726e6564207468652077726f6e672064656e6f6d00000000000000005f82015250565b5f62000c1c60188362000322565b915062000c298262000be6565b602082019050919050565b5f6020820190508181035f83015262000c4d8162000c0e565b9050919050565b60805161037962000c6c5f395f60c201526103795ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063558f208414610043578063714ba40c14610061578063c370b0421461007f575b5f80fd5b61004b61009d565b60405161005891906101ea565b60405180910390f35b6100696100c0565b6040516100769190610223565b60405180910390f35b6100876100e4565b60405161009491906102c6565b60405180910390f35b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b600180546100f190610313565b80601f016020809104026020016040519081016040528092919081815260200182805461011d90610313565b80156101685780601f1061013f57610100808354040283529160200191610168565b820191905f5260205f20905b81548152906001019060200180831161014b57829003601f168201915b505050505081565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f6101b26101ad6101a884610170565b61018f565b610170565b9050919050565b5f6101c382610198565b9050919050565b5f6101d4826101b9565b9050919050565b6101e4816101ca565b82525050565b5f6020820190506101fd5f8301846101db565b92915050565b5f61020d826101b9565b9050919050565b61021d81610203565b82525050565b5f6020820190506102365f830184610214565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610273578082015181840152602081019050610258565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6102988261023c565b6102a28185610246565b93506102b2818560208601610256565b6102bb8161027e565b840191505092915050565b5f6020820190508181035f8301526102de818461028e565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061032a57607f821691505b60208210810361033d5761033c6102e6565b5b5091905056fea2646970667358221220dc7a8f7df9cf8a283f4c9ddabe17d1012d581f02db888a802d76557ebb13871364736f6c63430008140033", + Bin: "0x60a06040526269696973ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1681525034801562000046575f80fd5b505f60805173ffffffffffffffffffffffffffffffffffffffff1663096b4069333363075bcd156040518463ffffffff1660e01b81526004016200008d9392919062000416565b6020604051808303815f875af1158015620000aa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000d09190620004b1565b90508062000115576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200010c906200052f565b60405180910390fd5b60805173ffffffffffffffffffffffffffffffffffffffff1663a333e57c6040518163ffffffff1660e01b815260040162000150906200054f565b602060405180830381865afa1580156200016c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001929190620005b1565b5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060805173ffffffffffffffffffffffffffffffffffffffff1663cd22a0185f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016200022c91906200063f565b5f60405180830381865afa15801562000247573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190620002719190620007ce565b6001908162000281919062000a42565b506040518060400160405280600581526020017f6162657261000000000000000000000000000000000000000000000000000000815250805190602001206001604051620002d0919062000bce565b6040518091039020146200031b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003129062000c34565b60405180910390fd5b5062000c54565b5f82825260208201905092915050565b7f61626572610000000000000000000000000000000000000000000000000000005f82015250565b5f6200036860058362000322565b9150620003758262000332565b602082019050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620003ab8262000380565b9050919050565b620003bd816200039f565b82525050565b5f819050919050565b5f819050919050565b5f819050919050565b5f620003fe620003f8620003f284620003c3565b620003d5565b620003cc565b9050919050565b6200041081620003de565b82525050565b5f6080820190508181035f8301526200042f816200035a565b9050620004406020830186620003b2565b6200044f6040830185620003b2565b6200045e606083018462000405565b949350505050565b5f604051905090565b5f80fd5b5f80fd5b5f8115159050919050565b6200048d8162000477565b811462000498575f80fd5b50565b5f81519050620004ab8162000482565b92915050565b5f60208284031215620004c957620004c86200046f565b5b5f620004d8848285016200049b565b91505092915050565b7f6661696c656420746f207472616e7366657220616265726100000000000000005f82015250565b5f6200051760188362000322565b91506200052482620004e1565b602082019050919050565b5f6020820190508181035f830152620005488162000509565b9050919050565b5f6020820190508181035f83015262000568816200035a565b9050919050565b5f6200057b826200039f565b9050919050565b6200058d816200056f565b811462000598575f80fd5b50565b5f81519050620005ab8162000582565b92915050565b5f60208284031215620005c957620005c86200046f565b5b5f620005d8848285016200059b565b91505092915050565b5f62000601620005fb620005f58462000380565b620003d5565b62000380565b9050919050565b5f6200061482620005e1565b9050919050565b5f620006278262000608565b9050919050565b62000639816200061b565b82525050565b5f602082019050620006545f8301846200062e565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620006aa8262000662565b810181811067ffffffffffffffff82111715620006cc57620006cb62000672565b5b80604052505050565b5f620006e062000466565b9050620006ee82826200069f565b919050565b5f67ffffffffffffffff82111562000710576200070f62000672565b5b6200071b8262000662565b9050602081019050919050565b5f5b83811015620007475780820151818401526020810190506200072a565b5f8484015250505050565b5f620007686200076284620006f3565b620006d5565b9050828152602081018484840111156200078757620007866200065e565b5b6200079484828562000728565b509392505050565b5f82601f830112620007b357620007b26200065a565b5b8151620007c584826020860162000752565b91505092915050565b5f60208284031215620007e657620007e56200046f565b5b5f82015167ffffffffffffffff81111562000806576200080562000473565b5b62000814848285016200079c565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200086c57607f821691505b60208210810362000882576200088162000827565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620008e67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620008a9565b620008f28683620008a9565b95508019841693508086168417925050509392505050565b5f6200092a620009246200091e84620003cc565b620003d5565b620003cc565b9050919050565b5f819050919050565b62000945836200090a565b6200095d620009548262000931565b848454620008b5565b825550505050565b5f90565b6200097362000965565b620009808184846200093a565b505050565b5b81811015620009a7576200099b5f8262000969565b60018101905062000986565b5050565b601f821115620009f657620009c08162000888565b620009cb846200089a565b81016020851015620009db578190505b620009f3620009ea856200089a565b83018262000985565b50505b505050565b5f82821c905092915050565b5f62000a185f1984600802620009fb565b1980831691505092915050565b5f62000a32838362000a07565b9150826002028217905092915050565b62000a4d826200081d565b67ffffffffffffffff81111562000a695762000a6862000672565b5b62000a75825462000854565b62000a82828285620009ab565b5f60209050601f83116001811462000ab8575f841562000aa3578287015190505b62000aaf858262000a25565b86555062000b1e565b601f19841662000ac88662000888565b5f5b8281101562000af15784890151825560018201915060208501945060208101905062000aca565b8683101562000b11578489015162000b0d601f89168262000a07565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f815462000b508162000854565b62000b5c818662000b26565b9450600182165f811462000b79576001811462000b8f5762000bc5565b60ff198316865281151582028601935062000bc5565b62000b9a8562000b30565b5f5b8381101562000bbd5781548189015260018201915060208101905062000b9c565b838801955050505b50505092915050565b5f62000bdb828462000b42565b915081905092915050565b7f72657475726e6564207468652077726f6e672064656e6f6d00000000000000005f82015250565b5f62000c1c60188362000322565b915062000c298262000be6565b602082019050919050565b5f6020820190508181035f83015262000c4d8162000c0e565b9050919050565b60805161037962000c6c5f395f60c201526103795ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063558f208414610043578063714ba40c14610061578063c370b0421461007f575b5f80fd5b61004b61009d565b60405161005891906101ea565b60405180910390f35b6100696100c0565b6040516100769190610223565b60405180910390f35b6100876100e4565b60405161009491906102c6565b60405180910390f35b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b600180546100f190610313565b80601f016020809104026020016040519081016040528092919081815260200182805461011d90610313565b80156101685780601f1061013f57610100808354040283529160200191610168565b820191905f5260205f20905b81548152906001019060200180831161014b57829003601f168201915b505050505081565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f6101b26101ad6101a884610170565b61018f565b610170565b9050919050565b5f6101c382610198565b9050919050565b5f6101d4826101b9565b9050919050565b6101e4816101ca565b82525050565b5f6020820190506101fd5f8301846101db565b92915050565b5f61020d826101b9565b9050919050565b61021d81610203565b82525050565b5f6020820190506102365f830184610214565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610273578082015181840152602081019050610258565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6102988261023c565b6102a28185610246565b93506102b2818560208601610256565b6102bb8161027e565b840191505092915050565b5f6020820190508181035f8301526102de818461028e565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061032a57607f821691505b60208210810361033d5761033c6102e6565b5b5091905056fea264697066735822122057a7a2eec9737ee25400e60aac7cadf42e38b4ea7f93571448406d691387247b64736f6c63430008140033", } // 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 b05c3b6da..044cae7c7 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: "0x60e060405234801562000010575f80fd5b506040518060400160405280600581526020017f546f6b656e0000000000000000000000000000000000000000000000000000008152506040518060400160405280600281526020017f544b0000000000000000000000000000000000000000000000000000000000008152506012825f90816200008f9190620003ca565b508160019081620000a19190620003ca565b508060ff1660808160ff16815250504660a08181525050620000c8620000d860201b60201c565b60c0818152505050505062000637565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516200010a919062000556565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646306040516020016200014b959493929190620005dc565b60405160208183030381529060405280519060200120905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620001e257607f821691505b602082108103620001f857620001f76200019d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200025c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200021f565b6200026886836200021f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620002b2620002ac620002a68462000280565b62000289565b62000280565b9050919050565b5f819050919050565b620002cd8362000292565b620002e5620002dc82620002b9565b8484546200022b565b825550505050565b5f90565b620002fb620002ed565b62000308818484620002c2565b505050565b5b818110156200032f57620003235f82620002f1565b6001810190506200030e565b5050565b601f8211156200037e576200034881620001fe565b620003538462000210565b8101602085101562000363578190505b6200037b620003728562000210565b8301826200030d565b50505b505050565b5f82821c905092915050565b5f620003a05f198460080262000383565b1980831691505092915050565b5f620003ba83836200038f565b9150826002028217905092915050565b620003d58262000166565b67ffffffffffffffff811115620003f157620003f062000170565b5b620003fd8254620001ca565b6200040a82828562000333565b5f60209050601f83116001811462000440575f84156200042b578287015190505b620004378582620003ad565b865550620004a6565b601f1984166200045086620001fe565b5f5b82811015620004795784890151825560018201915060208501945060208101905062000452565b8683101562000499578489015162000495601f8916826200038f565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f8154620004d881620001ca565b620004e48186620004ae565b9450600182165f811462000501576001811462000517576200054d565b60ff19831686528115158202860193506200054d565b6200052285620004b8565b5f5b83811015620005455781548189015260018201915060208101905062000524565b838801955050505b50505092915050565b5f620005638284620004ca565b915081905092915050565b5f819050919050565b62000582816200056e565b82525050565b620005938162000280565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620005c48262000599565b9050919050565b620005d681620005b8565b82525050565b5f60a082019050620005f15f83018862000577565b62000600602083018762000577565b6200060f604083018662000577565b6200061e606083018562000588565b6200062d6080830184620005cb565b9695505050505050565b60805160a05160c0516115b0620006625f395f6106d301525f61069f01525f61067a01526115b05ff3fe608060405234801561000f575f80fd5b50600436106100cd575f3560e01c806340c10f191161008a57806395d89b411161006457806395d89b4114610225578063a9059cbb14610243578063d505accf14610273578063dd62ed3e1461028f576100cd565b806340c10f19146101a957806370a08231146101c55780637ecebe00146101f5576100cd565b806306fdde03146100d1578063095ea7b3146100ef57806318160ddd1461011f57806323b872dd1461013d578063313ce5671461016d5780633644e5151461018b575b5f80fd5b6100d96102bf565b6040516100e69190610e03565b60405180910390f35b61010960048036038101906101049190610eb4565b61034a565b6040516101169190610f0c565b60405180910390f35b610127610437565b6040516101349190610f34565b60405180910390f35b61015760048036038101906101529190610f4d565b61043d565b6040516101649190610f0c565b60405180910390f35b610175610678565b6040516101829190610fb8565b60405180910390f35b61019361069c565b6040516101a09190610fe9565b60405180910390f35b6101c360048036038101906101be9190610eb4565b6106f8565b005b6101df60048036038101906101da9190611002565b610754565b6040516101ec9190610f34565b60405180910390f35b61020f600480360381019061020a9190611002565b610769565b60405161021c9190610f34565b60405180910390f35b61022d61077e565b60405161023a9190610e03565b60405180910390f35b61025d60048036038101906102589190610eb4565b61080a565b60405161026a9190610f0c565b60405180910390f35b61028d60048036038101906102889190611081565b610917565b005b6102a960048036038101906102a4919061111e565b610c04565b6040516102b69190610f34565b60405180910390f35b5f80546102cb90611189565b80601f01602080910402602001604051908101604052809291908181526020018280546102f790611189565b80156103425780601f1061031957610100808354040283529160200191610342565b820191905f5260205f20905b81548152906001019060200180831161032557829003601f168201915b505050505081565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104259190610f34565b60405180910390a36001905092915050565b60025481565b5f8060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461056a5782816104ed91906111e6565b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b8260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546105b691906111e6565b925050819055508260035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516106649190610f34565b60405180910390a360019150509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f7f000000000000000000000000000000000000000000000000000000000000000046146106d1576106cc610c24565b6106f3565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b6107028282610cae565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040516107489190610f34565b60405180910390a25050565b6003602052805f5260405f205f915090505481565b6005602052805f5260405f205f915090505481565b6001805461078b90611189565b80601f01602080910402602001604051908101604052809291908181526020018280546107b790611189565b80156108025780601f106107d957610100808354040283529160200191610802565b820191905f5260205f20905b8154815290600101906020018083116107e557829003601f168201915b505050505081565b5f8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461085791906111e6565b925050819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109059190610f34565b60405180910390a36001905092915050565b4284101561095a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095190611263565b60405180910390fd5b5f600161096561069c565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a60055f8f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050558b6040516020016109ea96959493929190611290565b60405160208183030381529060405280519060200120604051602001610a11929190611363565b604051602081830303815290604052805190602001208585856040515f8152602001604052604051610a469493929190611399565b6020604051602081039080840390855afa158015610a66573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610ad957508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0f90611426565b60405180910390fd5b8560045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610bf39190610f34565b60405180910390a350505050505050565b6004602052815f5260405f20602052805f5260405f205f91509150505481565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051610c5491906114e0565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001610c939594939291906114f6565b60405160208183030381529060405280519060200120905090565b8060025f828254610cbf9190611547565b925050819055508060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d6d9190610f34565b60405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610db0578082015181840152602081019050610d95565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610dd582610d79565b610ddf8185610d83565b9350610def818560208601610d93565b610df881610dbb565b840191505092915050565b5f6020820190508181035f830152610e1b8184610dcb565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610e5082610e27565b9050919050565b610e6081610e46565b8114610e6a575f80fd5b50565b5f81359050610e7b81610e57565b92915050565b5f819050919050565b610e9381610e81565b8114610e9d575f80fd5b50565b5f81359050610eae81610e8a565b92915050565b5f8060408385031215610eca57610ec9610e23565b5b5f610ed785828601610e6d565b9250506020610ee885828601610ea0565b9150509250929050565b5f8115159050919050565b610f0681610ef2565b82525050565b5f602082019050610f1f5f830184610efd565b92915050565b610f2e81610e81565b82525050565b5f602082019050610f475f830184610f25565b92915050565b5f805f60608486031215610f6457610f63610e23565b5b5f610f7186828701610e6d565b9350506020610f8286828701610e6d565b9250506040610f9386828701610ea0565b9150509250925092565b5f60ff82169050919050565b610fb281610f9d565b82525050565b5f602082019050610fcb5f830184610fa9565b92915050565b5f819050919050565b610fe381610fd1565b82525050565b5f602082019050610ffc5f830184610fda565b92915050565b5f6020828403121561101757611016610e23565b5b5f61102484828501610e6d565b91505092915050565b61103681610f9d565b8114611040575f80fd5b50565b5f813590506110518161102d565b92915050565b61106081610fd1565b811461106a575f80fd5b50565b5f8135905061107b81611057565b92915050565b5f805f805f805f60e0888a03121561109c5761109b610e23565b5b5f6110a98a828b01610e6d565b97505060206110ba8a828b01610e6d565b96505060406110cb8a828b01610ea0565b95505060606110dc8a828b01610ea0565b94505060806110ed8a828b01611043565b93505060a06110fe8a828b0161106d565b92505060c061110f8a828b0161106d565b91505092959891949750929550565b5f806040838503121561113457611133610e23565b5b5f61114185828601610e6d565b925050602061115285828601610e6d565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806111a057607f821691505b6020821081036111b3576111b261115c565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6111f082610e81565b91506111fb83610e81565b9250828203905081811115611213576112126111b9565b5b92915050565b7f5045524d49545f444541444c494e455f455850495245440000000000000000005f82015250565b5f61124d601783610d83565b915061125882611219565b602082019050919050565b5f6020820190508181035f83015261127a81611241565b9050919050565b61128a81610e46565b82525050565b5f60c0820190506112a35f830189610fda565b6112b06020830188611281565b6112bd6040830187611281565b6112ca6060830186610f25565b6112d76080830185610f25565b6112e460a0830184610f25565b979650505050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f61132d6002836112ef565b9150611338826112f9565b600282019050919050565b5f819050919050565b61135d61135882610fd1565b611343565b82525050565b5f61136d82611321565b9150611379828561134c565b602082019150611389828461134c565b6020820191508190509392505050565b5f6080820190506113ac5f830187610fda565b6113b96020830186610fa9565b6113c66040830185610fda565b6113d36060830184610fda565b95945050505050565b7f494e56414c49445f5349474e45520000000000000000000000000000000000005f82015250565b5f611410600e83610d83565b915061141b826113dc565b602082019050919050565b5f6020820190508181035f83015261143d81611404565b9050919050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f815461146c81611189565b6114768186611444565b9450600182165f811461149057600181146114a5576114d7565b60ff19831686528115158202860193506114d7565b6114ae8561144e565b5f5b838110156114cf578154818901526001820191506020810190506114b0565b838801955050505b50505092915050565b5f6114eb8284611460565b915081905092915050565b5f60a0820190506115095f830188610fda565b6115166020830187610fda565b6115236040830186610fda565b6115306060830185610f25565b61153d6080830184611281565b9695505050505050565b5f61155182610e81565b915061155c83610e81565b9250828201905080821115611574576115736111b9565b5b9291505056fea2646970667358221220383dcd14dbb4c0b9470e469c942780d9bdeb224d65a2dfb2a8153bcffc7cd73064736f6c63430008140033", + Bin: "0x60e060405234801562000010575f80fd5b506040518060400160405280600581526020017f546f6b656e0000000000000000000000000000000000000000000000000000008152506040518060400160405280600281526020017f544b0000000000000000000000000000000000000000000000000000000000008152506012825f90816200008f9190620003ca565b508160019081620000a19190620003ca565b508060ff1660808160ff16815250504660a08181525050620000c8620000d860201b60201c565b60c0818152505050505062000637565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516200010a919062000556565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646306040516020016200014b959493929190620005dc565b60405160208183030381529060405280519060200120905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620001e257607f821691505b602082108103620001f857620001f76200019d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200025c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200021f565b6200026886836200021f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620002b2620002ac620002a68462000280565b62000289565b62000280565b9050919050565b5f819050919050565b620002cd8362000292565b620002e5620002dc82620002b9565b8484546200022b565b825550505050565b5f90565b620002fb620002ed565b62000308818484620002c2565b505050565b5b818110156200032f57620003235f82620002f1565b6001810190506200030e565b5050565b601f8211156200037e576200034881620001fe565b620003538462000210565b8101602085101562000363578190505b6200037b620003728562000210565b8301826200030d565b50505b505050565b5f82821c905092915050565b5f620003a05f198460080262000383565b1980831691505092915050565b5f620003ba83836200038f565b9150826002028217905092915050565b620003d58262000166565b67ffffffffffffffff811115620003f157620003f062000170565b5b620003fd8254620001ca565b6200040a82828562000333565b5f60209050601f83116001811462000440575f84156200042b578287015190505b620004378582620003ad565b865550620004a6565b601f1984166200045086620001fe565b5f5b82811015620004795784890151825560018201915060208501945060208101905062000452565b8683101562000499578489015162000495601f8916826200038f565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f8154620004d881620001ca565b620004e48186620004ae565b9450600182165f811462000501576001811462000517576200054d565b60ff19831686528115158202860193506200054d565b6200052285620004b8565b5f5b83811015620005455781548189015260018201915060208101905062000524565b838801955050505b50505092915050565b5f620005638284620004ca565b915081905092915050565b5f819050919050565b62000582816200056e565b82525050565b620005938162000280565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620005c48262000599565b9050919050565b620005d681620005b8565b82525050565b5f60a082019050620005f15f83018862000577565b62000600602083018762000577565b6200060f604083018662000577565b6200061e606083018562000588565b6200062d6080830184620005cb565b9695505050505050565b60805160a05160c0516115b0620006625f395f6106d301525f61069f01525f61067a01526115b05ff3fe608060405234801561000f575f80fd5b50600436106100cd575f3560e01c806340c10f191161008a57806395d89b411161006457806395d89b4114610225578063a9059cbb14610243578063d505accf14610273578063dd62ed3e1461028f576100cd565b806340c10f19146101a957806370a08231146101c55780637ecebe00146101f5576100cd565b806306fdde03146100d1578063095ea7b3146100ef57806318160ddd1461011f57806323b872dd1461013d578063313ce5671461016d5780633644e5151461018b575b5f80fd5b6100d96102bf565b6040516100e69190610e03565b60405180910390f35b61010960048036038101906101049190610eb4565b61034a565b6040516101169190610f0c565b60405180910390f35b610127610437565b6040516101349190610f34565b60405180910390f35b61015760048036038101906101529190610f4d565b61043d565b6040516101649190610f0c565b60405180910390f35b610175610678565b6040516101829190610fb8565b60405180910390f35b61019361069c565b6040516101a09190610fe9565b60405180910390f35b6101c360048036038101906101be9190610eb4565b6106f8565b005b6101df60048036038101906101da9190611002565b610754565b6040516101ec9190610f34565b60405180910390f35b61020f600480360381019061020a9190611002565b610769565b60405161021c9190610f34565b60405180910390f35b61022d61077e565b60405161023a9190610e03565b60405180910390f35b61025d60048036038101906102589190610eb4565b61080a565b60405161026a9190610f0c565b60405180910390f35b61028d60048036038101906102889190611081565b610917565b005b6102a960048036038101906102a4919061111e565b610c04565b6040516102b69190610f34565b60405180910390f35b5f80546102cb90611189565b80601f01602080910402602001604051908101604052809291908181526020018280546102f790611189565b80156103425780601f1061031957610100808354040283529160200191610342565b820191905f5260205f20905b81548152906001019060200180831161032557829003601f168201915b505050505081565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104259190610f34565b60405180910390a36001905092915050565b60025481565b5f8060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461056a5782816104ed91906111e6565b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b8260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546105b691906111e6565b925050819055508260035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516106649190610f34565b60405180910390a360019150509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f7f000000000000000000000000000000000000000000000000000000000000000046146106d1576106cc610c24565b6106f3565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b6107028282610cae565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040516107489190610f34565b60405180910390a25050565b6003602052805f5260405f205f915090505481565b6005602052805f5260405f205f915090505481565b6001805461078b90611189565b80601f01602080910402602001604051908101604052809291908181526020018280546107b790611189565b80156108025780601f106107d957610100808354040283529160200191610802565b820191905f5260205f20905b8154815290600101906020018083116107e557829003601f168201915b505050505081565b5f8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461085791906111e6565b925050819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109059190610f34565b60405180910390a36001905092915050565b4284101561095a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095190611263565b60405180910390fd5b5f600161096561069c565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a60055f8f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050558b6040516020016109ea96959493929190611290565b60405160208183030381529060405280519060200120604051602001610a11929190611363565b604051602081830303815290604052805190602001208585856040515f8152602001604052604051610a469493929190611399565b6020604051602081039080840390855afa158015610a66573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610ad957508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0f90611426565b60405180910390fd5b8560045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610bf39190610f34565b60405180910390a350505050505050565b6004602052815f5260405f20602052805f5260405f205f91509150505481565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051610c5491906114e0565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001610c939594939291906114f6565b60405160208183030381529060405280519060200120905090565b8060025f828254610cbf9190611547565b925050819055508060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d6d9190610f34565b60405180910390a35050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610db0578082015181840152602081019050610d95565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610dd582610d79565b610ddf8185610d83565b9350610def818560208601610d93565b610df881610dbb565b840191505092915050565b5f6020820190508181035f830152610e1b8184610dcb565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610e5082610e27565b9050919050565b610e6081610e46565b8114610e6a575f80fd5b50565b5f81359050610e7b81610e57565b92915050565b5f819050919050565b610e9381610e81565b8114610e9d575f80fd5b50565b5f81359050610eae81610e8a565b92915050565b5f8060408385031215610eca57610ec9610e23565b5b5f610ed785828601610e6d565b9250506020610ee885828601610ea0565b9150509250929050565b5f8115159050919050565b610f0681610ef2565b82525050565b5f602082019050610f1f5f830184610efd565b92915050565b610f2e81610e81565b82525050565b5f602082019050610f475f830184610f25565b92915050565b5f805f60608486031215610f6457610f63610e23565b5b5f610f7186828701610e6d565b9350506020610f8286828701610e6d565b9250506040610f9386828701610ea0565b9150509250925092565b5f60ff82169050919050565b610fb281610f9d565b82525050565b5f602082019050610fcb5f830184610fa9565b92915050565b5f819050919050565b610fe381610fd1565b82525050565b5f602082019050610ffc5f830184610fda565b92915050565b5f6020828403121561101757611016610e23565b5b5f61102484828501610e6d565b91505092915050565b61103681610f9d565b8114611040575f80fd5b50565b5f813590506110518161102d565b92915050565b61106081610fd1565b811461106a575f80fd5b50565b5f8135905061107b81611057565b92915050565b5f805f805f805f60e0888a03121561109c5761109b610e23565b5b5f6110a98a828b01610e6d565b97505060206110ba8a828b01610e6d565b96505060406110cb8a828b01610ea0565b95505060606110dc8a828b01610ea0565b94505060806110ed8a828b01611043565b93505060a06110fe8a828b0161106d565b92505060c061110f8a828b0161106d565b91505092959891949750929550565b5f806040838503121561113457611133610e23565b5b5f61114185828601610e6d565b925050602061115285828601610e6d565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806111a057607f821691505b6020821081036111b3576111b261115c565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6111f082610e81565b91506111fb83610e81565b9250828203905081811115611213576112126111b9565b5b92915050565b7f5045524d49545f444541444c494e455f455850495245440000000000000000005f82015250565b5f61124d601783610d83565b915061125882611219565b602082019050919050565b5f6020820190508181035f83015261127a81611241565b9050919050565b61128a81610e46565b82525050565b5f60c0820190506112a35f830189610fda565b6112b06020830188611281565b6112bd6040830187611281565b6112ca6060830186610f25565b6112d76080830185610f25565b6112e460a0830184610f25565b979650505050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f61132d6002836112ef565b9150611338826112f9565b600282019050919050565b5f819050919050565b61135d61135882610fd1565b611343565b82525050565b5f61136d82611321565b9150611379828561134c565b602082019150611389828461134c565b6020820191508190509392505050565b5f6080820190506113ac5f830187610fda565b6113b96020830186610fa9565b6113c66040830185610fda565b6113d36060830184610fda565b95945050505050565b7f494e56414c49445f5349474e45520000000000000000000000000000000000005f82015250565b5f611410600e83610d83565b915061141b826113dc565b602082019050919050565b5f6020820190508181035f83015261143d81611404565b9050919050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f815461146c81611189565b6114768186611444565b9450600182165f811461149057600181146114a5576114d7565b60ff19831686528115158202860193506114d7565b6114ae8561144e565b5f5b838110156114cf578154818901526001820191506020810190506114b0565b838801955050505b50505092915050565b5f6114eb8284611460565b915081905092915050565b5f60a0820190506115095f830188610fda565b6115166020830187610fda565b6115236040830186610fda565b6115306060830185610f25565b61153d6080830184611281565b9695505050505050565b5f61155182610e81565b915061155c83610e81565b9250828201905080821115611574576115736111b9565b5b9291505056fea26469706673582212205e042b28d312604c9eb9f461fa6a115a942807f99d76a60aa48515134e1ded3e64736f6c63430008140033", } // 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 ad022aff4..f6e60d0a9 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: "0x60a06040526269696973ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250348015610045575f80fd5b50608051610b116100735f395f81816101c2015281816101e7015281816102d101526103b80152610b115ff3fe608060405234801561000f575f80fd5b5060043610610055575f3560e01c806347e7ef2414610059578063714ba40c146100755780639d456b6214610093578063d004f0f7146100af578063d6ece467146100cb575b5f80fd5b610073600480360381019061006e91906104ed565b6100fb565b005b61007d6101c0565b60405161008a9190610586565b60405180910390f35b6100ad60048036038101906100a89190610600565b6101e4565b005b6100c960048036038101906100c49190610698565b6102ce565b005b6100e560048036038101906100e091906106d6565b6103b5565b6040516100f29190610741565b60405180910390f35b5f8273ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b815260040161013993929190610778565b6020604051808303815f875af1158015610155573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061017991906107e2565b9050806101bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b290610867565b60405180910390fd5b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663096b406985853333876040518663ffffffff1660e01b81526004016102469594939291906108cf565b6020604051808303815f875af1158015610262573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061028691906107e2565b9050806102c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102bf9061098b565b60405180910390fd5b50505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b96d8bec843333866040518563ffffffff1660e01b815260040161032e94939291906109a9565b6020604051808303815f875af115801561034a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061036e91906107e2565b9050806103b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a790610a5c565b60405180910390fd5b505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a333e57c84846040518363ffffffff1660e01b8152600401610411929190610a7a565b602060405180830381865afa15801561042c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104509190610ab0565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61048982610460565b9050919050565b6104998161047f565b81146104a3575f80fd5b50565b5f813590506104b481610490565b92915050565b5f819050919050565b6104cc816104ba565b81146104d6575f80fd5b50565b5f813590506104e7816104c3565b92915050565b5f806040838503121561050357610502610458565b5b5f610510858286016104a6565b9250506020610521858286016104d9565b9150509250929050565b5f819050919050565b5f61054e61054961054484610460565b61052b565b610460565b9050919050565b5f61055f82610534565b9050919050565b5f61057082610555565b9050919050565b61058081610566565b82525050565b5f6020820190506105995f830184610577565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126105c0576105bf61059f565b5b8235905067ffffffffffffffff8111156105dd576105dc6105a3565b5b6020830191508360018202830111156105f9576105f86105a7565b5b9250929050565b5f805f6040848603121561061757610616610458565b5b5f84013567ffffffffffffffff8111156106345761063361045c565b5b610640868287016105ab565b93509350506020610653868287016104d9565b9150509250925092565b5f6106678261047f565b9050919050565b6106778161065d565b8114610681575f80fd5b50565b5f813590506106928161066e565b92915050565b5f80604083850312156106ae576106ad610458565b5b5f6106bb85828601610684565b92505060206106cc858286016104d9565b9150509250929050565b5f80602083850312156106ec576106eb610458565b5b5f83013567ffffffffffffffff8111156107095761070861045c565b5b610715858286016105ab565b92509250509250929050565b5f61072b82610555565b9050919050565b61073b81610721565b82525050565b5f6020820190506107545f830184610732565b92915050565b6107638161047f565b82525050565b610772816104ba565b82525050565b5f60608201905061078b5f83018661075a565b610798602083018561075a565b6107a56040830184610769565b949350505050565b5f8115159050919050565b6107c1816107ad565b81146107cb575f80fd5b50565b5f815190506107dc816107b8565b92915050565b5f602082840312156107f7576107f6610458565b5b5f610804848285016107ce565b91505092915050565b5f82825260208201905092915050565b7f537761707065723a207472616e7366657246726f6d206661696c6564000000005f82015250565b5f610851601c8361080d565b915061085c8261081d565b602082019050919050565b5f6020820190508181035f83015261087e81610845565b9050919050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f6108ae838561080d565b93506108bb838584610885565b6108c483610893565b840190509392505050565b5f6080820190508181035f8301526108e88187896108a3565b90506108f7602083018661075a565b610904604083018561075a565b6109116060830184610769565b9695505050505050565b7f537761707065723a207472616e73666572436f696e546f4552433230206661695f8201527f6c65640000000000000000000000000000000000000000000000000000000000602082015250565b5f61097560238361080d565b91506109808261091b565b604082019050919050565b5f6020820190508181035f8301526109a281610969565b9050919050565b5f6080820190506109bc5f830187610732565b6109c9602083018661075a565b6109d6604083018561075a565b6109e36060830184610769565b95945050505050565b7f537761707065723a207472616e736665724552433230546f436f696e206661695f8201527f6c65640000000000000000000000000000000000000000000000000000000000602082015250565b5f610a4660238361080d565b9150610a51826109ec565b604082019050919050565b5f6020820190508181035f830152610a7381610a3a565b9050919050565b5f6020820190508181035f830152610a938184866108a3565b90509392505050565b5f81519050610aaa8161066e565b92915050565b5f60208284031215610ac557610ac4610458565b5b5f610ad284828501610a9c565b9150509291505056fea2646970667358221220ef3bfa93871ce1b517e2b561cff8bd7ff8b8b772cbeddbee3ea5ea9d8855754e64736f6c63430008140033", + Bin: "0x60a06040526269696973ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250348015610045575f80fd5b50608051610b116100735f395f81816101c2015281816101e7015281816102d101526103b80152610b115ff3fe608060405234801561000f575f80fd5b5060043610610055575f3560e01c806347e7ef2414610059578063714ba40c146100755780639d456b6214610093578063d004f0f7146100af578063d6ece467146100cb575b5f80fd5b610073600480360381019061006e91906104ed565b6100fb565b005b61007d6101c0565b60405161008a9190610586565b60405180910390f35b6100ad60048036038101906100a89190610600565b6101e4565b005b6100c960048036038101906100c49190610698565b6102ce565b005b6100e560048036038101906100e091906106d6565b6103b5565b6040516100f29190610741565b60405180910390f35b5f8273ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b815260040161013993929190610778565b6020604051808303815f875af1158015610155573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061017991906107e2565b9050806101bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b290610867565b60405180910390fd5b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663096b406985853333876040518663ffffffff1660e01b81526004016102469594939291906108cf565b6020604051808303815f875af1158015610262573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061028691906107e2565b9050806102c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102bf9061098b565b60405180910390fd5b50505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b96d8bec843333866040518563ffffffff1660e01b815260040161032e94939291906109a9565b6020604051808303815f875af115801561034a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061036e91906107e2565b9050806103b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a790610a5c565b60405180910390fd5b505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a333e57c84846040518363ffffffff1660e01b8152600401610411929190610a7a565b602060405180830381865afa15801561042c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104509190610ab0565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61048982610460565b9050919050565b6104998161047f565b81146104a3575f80fd5b50565b5f813590506104b481610490565b92915050565b5f819050919050565b6104cc816104ba565b81146104d6575f80fd5b50565b5f813590506104e7816104c3565b92915050565b5f806040838503121561050357610502610458565b5b5f610510858286016104a6565b9250506020610521858286016104d9565b9150509250929050565b5f819050919050565b5f61054e61054961054484610460565b61052b565b610460565b9050919050565b5f61055f82610534565b9050919050565b5f61057082610555565b9050919050565b61058081610566565b82525050565b5f6020820190506105995f830184610577565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126105c0576105bf61059f565b5b8235905067ffffffffffffffff8111156105dd576105dc6105a3565b5b6020830191508360018202830111156105f9576105f86105a7565b5b9250929050565b5f805f6040848603121561061757610616610458565b5b5f84013567ffffffffffffffff8111156106345761063361045c565b5b610640868287016105ab565b93509350506020610653868287016104d9565b9150509250925092565b5f6106678261047f565b9050919050565b6106778161065d565b8114610681575f80fd5b50565b5f813590506106928161066e565b92915050565b5f80604083850312156106ae576106ad610458565b5b5f6106bb85828601610684565b92505060206106cc858286016104d9565b9150509250929050565b5f80602083850312156106ec576106eb610458565b5b5f83013567ffffffffffffffff8111156107095761070861045c565b5b610715858286016105ab565b92509250509250929050565b5f61072b82610555565b9050919050565b61073b81610721565b82525050565b5f6020820190506107545f830184610732565b92915050565b6107638161047f565b82525050565b610772816104ba565b82525050565b5f60608201905061078b5f83018661075a565b610798602083018561075a565b6107a56040830184610769565b949350505050565b5f8115159050919050565b6107c1816107ad565b81146107cb575f80fd5b50565b5f815190506107dc816107b8565b92915050565b5f602082840312156107f7576107f6610458565b5b5f610804848285016107ce565b91505092915050565b5f82825260208201905092915050565b7f537761707065723a207472616e7366657246726f6d206661696c6564000000005f82015250565b5f610851601c8361080d565b915061085c8261081d565b602082019050919050565b5f6020820190508181035f83015261087e81610845565b9050919050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f6108ae838561080d565b93506108bb838584610885565b6108c483610893565b840190509392505050565b5f6080820190508181035f8301526108e88187896108a3565b90506108f7602083018661075a565b610904604083018561075a565b6109116060830184610769565b9695505050505050565b7f537761707065723a207472616e73666572436f696e546f4552433230206661695f8201527f6c65640000000000000000000000000000000000000000000000000000000000602082015250565b5f61097560238361080d565b91506109808261091b565b604082019050919050565b5f6020820190508181035f8301526109a281610969565b9050919050565b5f6080820190506109bc5f830187610732565b6109c9602083018661075a565b6109d6604083018561075a565b6109e36060830184610769565b95945050505050565b7f537761707065723a207472616e736665724552433230546f436f696e206661695f8201527f6c65640000000000000000000000000000000000000000000000000000000000602082015250565b5f610a4660238361080d565b9150610a51826109ec565b604082019050919050565b5f6020820190508181035f830152610a7381610a3a565b9050919050565b5f6020820190508181035f830152610a938184866108a3565b90509392505050565b5f81519050610aaa8161066e565b92915050565b5f60208284031215610ac557610ac4610458565b5b5f610ad284828501610a9c565b9150509291505056fea26469706673582212206c91de186f61828b58d8467471caab864a4ddd6364d895b2bc32ca47a37ce55664736f6c63430008140033", } // SwapperABI is the input ABI used to generate the binding from. diff --git a/cosmos/api/polaris/evm/v1alpha1/tx.pulsar.go b/cosmos/api/polaris/evm/v1alpha1/tx.pulsar.go index 8cd4f28e1..051d01152 100644 --- a/cosmos/api/polaris/evm/v1alpha1/tx.pulsar.go +++ b/cosmos/api/polaris/evm/v1alpha1/tx.pulsar.go @@ -14,16 +14,14 @@ import ( ) var ( - md_WrappedEthereumTransaction protoreflect.MessageDescriptor - fd_WrappedEthereumTransaction_data protoreflect.FieldDescriptor - fd_WrappedEthereumTransaction_hacky_fix_cause_cosmos protoreflect.FieldDescriptor + md_WrappedEthereumTransaction protoreflect.MessageDescriptor + fd_WrappedEthereumTransaction_data protoreflect.FieldDescriptor ) func init() { file_polaris_evm_v1alpha1_tx_proto_init() md_WrappedEthereumTransaction = File_polaris_evm_v1alpha1_tx_proto.Messages().ByName("WrappedEthereumTransaction") fd_WrappedEthereumTransaction_data = md_WrappedEthereumTransaction.Fields().ByName("data") - fd_WrappedEthereumTransaction_hacky_fix_cause_cosmos = md_WrappedEthereumTransaction.Fields().ByName("hacky_fix_cause_cosmos") } var _ protoreflect.Message = (*fastReflection_WrappedEthereumTransaction)(nil) @@ -97,12 +95,6 @@ func (x *fastReflection_WrappedEthereumTransaction) Range(f func(protoreflect.Fi return } } - if x.HackyFixCauseCosmos != "" { - value := protoreflect.ValueOfString(x.HackyFixCauseCosmos) - if !f(fd_WrappedEthereumTransaction_hacky_fix_cause_cosmos, value) { - return - } - } } // Has reports whether a field is populated. @@ -120,8 +112,6 @@ func (x *fastReflection_WrappedEthereumTransaction) Has(fd protoreflect.FieldDes switch fd.FullName() { case "polaris.evm.v1alpha1.WrappedEthereumTransaction.data": return len(x.Data) != 0 - case "polaris.evm.v1alpha1.WrappedEthereumTransaction.hacky_fix_cause_cosmos": - return x.HackyFixCauseCosmos != "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: polaris.evm.v1alpha1.WrappedEthereumTransaction")) @@ -140,8 +130,6 @@ func (x *fastReflection_WrappedEthereumTransaction) Clear(fd protoreflect.FieldD switch fd.FullName() { case "polaris.evm.v1alpha1.WrappedEthereumTransaction.data": x.Data = nil - case "polaris.evm.v1alpha1.WrappedEthereumTransaction.hacky_fix_cause_cosmos": - x.HackyFixCauseCosmos = "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: polaris.evm.v1alpha1.WrappedEthereumTransaction")) @@ -161,9 +149,6 @@ func (x *fastReflection_WrappedEthereumTransaction) Get(descriptor protoreflect. case "polaris.evm.v1alpha1.WrappedEthereumTransaction.data": value := x.Data return protoreflect.ValueOfBytes(value) - case "polaris.evm.v1alpha1.WrappedEthereumTransaction.hacky_fix_cause_cosmos": - value := x.HackyFixCauseCosmos - return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: polaris.evm.v1alpha1.WrappedEthereumTransaction")) @@ -186,8 +171,6 @@ func (x *fastReflection_WrappedEthereumTransaction) Set(fd protoreflect.FieldDes switch fd.FullName() { case "polaris.evm.v1alpha1.WrappedEthereumTransaction.data": x.Data = value.Bytes() - case "polaris.evm.v1alpha1.WrappedEthereumTransaction.hacky_fix_cause_cosmos": - x.HackyFixCauseCosmos = value.Interface().(string) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: polaris.evm.v1alpha1.WrappedEthereumTransaction")) @@ -210,8 +193,6 @@ func (x *fastReflection_WrappedEthereumTransaction) Mutable(fd protoreflect.Fiel switch fd.FullName() { case "polaris.evm.v1alpha1.WrappedEthereumTransaction.data": panic(fmt.Errorf("field data of message polaris.evm.v1alpha1.WrappedEthereumTransaction is not mutable")) - case "polaris.evm.v1alpha1.WrappedEthereumTransaction.hacky_fix_cause_cosmos": - panic(fmt.Errorf("field hacky_fix_cause_cosmos of message polaris.evm.v1alpha1.WrappedEthereumTransaction is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: polaris.evm.v1alpha1.WrappedEthereumTransaction")) @@ -227,8 +208,6 @@ func (x *fastReflection_WrappedEthereumTransaction) NewField(fd protoreflect.Fie switch fd.FullName() { case "polaris.evm.v1alpha1.WrappedEthereumTransaction.data": return protoreflect.ValueOfBytes(nil) - case "polaris.evm.v1alpha1.WrappedEthereumTransaction.hacky_fix_cause_cosmos": - return protoreflect.ValueOfString("") default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: polaris.evm.v1alpha1.WrappedEthereumTransaction")) @@ -302,10 +281,6 @@ func (x *fastReflection_WrappedEthereumTransaction) ProtoMethods() *protoiface.M if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.HackyFixCauseCosmos) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -335,13 +310,6 @@ func (x *fastReflection_WrappedEthereumTransaction) ProtoMethods() *protoiface.M i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.HackyFixCauseCosmos) > 0 { - i -= len(x.HackyFixCauseCosmos) - copy(dAtA[i:], x.HackyFixCauseCosmos) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.HackyFixCauseCosmos))) - i-- - dAtA[i] = 0x12 - } if len(x.Data) > 0 { i -= len(x.Data) copy(dAtA[i:], x.Data) @@ -432,38 +400,6 @@ func (x *fastReflection_WrappedEthereumTransaction) ProtoMethods() *protoiface.M x.Data = []byte{} } iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field HackyFixCauseCosmos", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.HackyFixCauseCosmos = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -1072,10 +1008,8 @@ type WrappedEthereumTransaction struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // data is inner transaction data of the Ethereum transaction + // data is inner transaction data of the Ethereum transaction. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` - // hacky_fix_cause_cosmos is required until https://github.com/cosmos/cosmos-sdk/issues/16112 is handled. - HackyFixCauseCosmos string `protobuf:"bytes,2,opt,name=hacky_fix_cause_cosmos,json=hackyFixCauseCosmos,proto3" json:"hacky_fix_cause_cosmos,omitempty"` } func (x *WrappedEthereumTransaction) Reset() { @@ -1105,13 +1039,6 @@ func (x *WrappedEthereumTransaction) GetData() []byte { return nil } -func (x *WrappedEthereumTransaction) GetHackyFixCauseCosmos() string { - if x != nil { - return x.HackyFixCauseCosmos - } - return "" -} - // WrappedEthereumTransactionResult defines the Msg/EthereumTx response type. type WrappedEthereumTransactionResult struct { state protoimpl.MessageState @@ -1174,46 +1101,40 @@ var file_polaris_evm_v1alpha1_tx_proto_rawDesc = []byte{ 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x74, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x17, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, 0x73, - 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x82, - 0x01, 0x0a, 0x1a, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, - 0x75, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x33, 0x0a, 0x16, 0x68, 0x61, 0x63, 0x6b, 0x79, 0x5f, 0x66, 0x69, 0x78, 0x5f, 0x63, - 0x61, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x13, 0x68, 0x61, 0x63, 0x6b, 0x79, 0x46, 0x69, 0x78, 0x43, 0x61, 0x75, 0x73, 0x65, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x1b, 0x82, 0xe7, 0xb0, 0x2a, 0x16, 0x68, 0x61, 0x63, - 0x6b, 0x79, 0x5f, 0x66, 0x69, 0x78, 0x5f, 0x63, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x22, 0x79, 0x0a, 0x20, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x45, 0x74, - 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, - 0x73, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x61, 0x73, 0x55, 0x73, - 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x76, 0x6d, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1f, 0x0a, - 0x0b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x32, 0x8f, - 0x01, 0x0a, 0x0a, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7a, 0x0a, - 0x0e, 0x45, 0x74, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x30, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x45, 0x74, - 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x1a, 0x36, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, - 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, - 0x42, 0xc8, 0x01, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, - 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x07, 0x54, - 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x31, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6f, 0x6c, 0x61, 0x72, - 0x69, 0x73, 0x2f, 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, - 0x65, 0x76, 0x6d, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x50, 0x45, - 0x58, 0xaa, 0x02, 0x14, 0x50, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x45, 0x76, 0x6d, 0x2e, - 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x14, 0x50, 0x6f, 0x6c, 0x61, 0x72, - 0x69, 0x73, 0x5c, 0x45, 0x76, 0x6d, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, - 0x02, 0x20, 0x50, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x5c, 0x45, 0x76, 0x6d, 0x5c, 0x56, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x16, 0x50, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x3a, 0x3a, 0x45, 0x76, - 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x30, + 0x0a, 0x1a, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, + 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x22, 0x79, 0x0a, 0x20, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x45, 0x74, 0x68, 0x65, 0x72, + 0x65, 0x75, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x61, 0x73, 0x55, 0x73, 0x65, 0x64, 0x12, + 0x19, 0x0a, 0x08, 0x76, 0x6d, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x76, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x32, 0x8f, 0x01, 0x0a, 0x0a, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7a, 0x0a, 0x0e, 0x45, 0x74, + 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x70, + 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x45, 0x74, 0x68, 0x65, 0x72, + 0x65, 0x75, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x36, + 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x65, 0x76, 0x6d, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x45, 0x74, 0x68, + 0x65, 0x72, 0x65, 0x75, 0x6d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xc8, 0x01, + 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x65, 0x76, + 0x6d, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x31, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, + 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2f, + 0x65, 0x76, 0x6d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x65, 0x76, 0x6d, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x50, 0x45, 0x58, 0xaa, 0x02, + 0x14, 0x50, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x2e, 0x45, 0x76, 0x6d, 0x2e, 0x56, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x14, 0x50, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x5c, + 0x45, 0x76, 0x6d, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, 0x02, 0x20, 0x50, + 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x5c, 0x45, 0x76, 0x6d, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x16, 0x50, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x73, 0x3a, 0x3a, 0x45, 0x76, 0x6d, 0x3a, 0x3a, + 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/cosmos/proto/polaris/evm/v1alpha1/tx.proto b/cosmos/proto/polaris/evm/v1alpha1/tx.proto index d39ac48af..7695b81c7 100644 --- a/cosmos/proto/polaris/evm/v1alpha1/tx.proto +++ b/cosmos/proto/polaris/evm/v1alpha1/tx.proto @@ -35,12 +35,8 @@ service MsgService { // WrappedEthereumTransaction encapsulates an Ethereum transaction as an SDK message. message WrappedEthereumTransaction { - option (cosmos.msg.v1.signer) = "hacky_fix_cause_cosmos"; - // data is inner transaction data of the Ethereum transaction + // data is inner transaction data of the Ethereum transaction. bytes data = 1; - - // hacky_fix_cause_cosmos is required until https://github.com/cosmos/cosmos-sdk/issues/16112 is handled. - string hacky_fix_cause_cosmos = 2; } // WrappedEthereumTransactionResult defines the Msg/EthereumTx response type. diff --git a/cosmos/x/evm/ante/sign_mode_handler.go b/cosmos/x/evm/ante/sign_mode_handler.go deleted file mode 100644 index 95ddb7264..000000000 --- a/cosmos/x/evm/ante/sign_mode_handler.go +++ /dev/null @@ -1,59 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -// -// Copyright (C) 2023, Berachain Foundation. All rights reserved. -// Use of this software is govered by the Business Source License included -// in the LICENSE file of this repository and at www.mariadb.com/bsl11. -// -// ANY USE OF THE LICENSED WORK IN VIOLATION OF THIS LICENSE WILL AUTOMATICALLY -// TERMINATE YOUR RIGHTS UNDER THIS LICENSE FOR THE CURRENT AND ALL OTHER -// VERSIONS OF THE LICENSED WORK. -// -// THIS LICENSE DOES NOT GRANT YOU ANY RIGHT IN ANY TRADEMARK OR LOGO OF -// LICENSOR OR ITS AFFILIATES (PROVIDED THAT YOU MAY USE A TRADEMARK OR LOGO OF -// LICENSOR AS EXPRESSLY REQUIRED BY THIS LICENSE). -// -// TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON -// AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, -// EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND -// TITLE. - -package ante - -import ( - "context" - - signingv1beta1 "cosmossdk.io/api/cosmos/tx/signing/v1beta1" - txsigning "cosmossdk.io/x/tx/signing" - - evmapi "pkg.berachain.dev/polaris/cosmos/api/polaris/evm/v1alpha1" - "pkg.berachain.dev/polaris/cosmos/x/evm/types" -) - -// SignMode_SIGN_MODE_ETHEREUM defines the sign mode for Ethereum transactions. -// -//nolint:revive,stylecheck // underscores used for sign modes. -const SignMode_SIGN_MODE_ETHEREUM signingv1beta1.SignMode = 42069 - -var _ txsigning.SignModeHandler = (*SignModeEthTxHandler)(nil) - -// SignModeEthTx defines the sign mode for Ethereum transactions. -type SignModeEthTxHandler struct{} - -// Mode implements txsigning.SignModeHandler. -func (s SignModeEthTxHandler) Mode() signingv1beta1.SignMode { - return SignMode_SIGN_MODE_ETHEREUM -} - -// TODO CONVERT ALL TXS to Pulsar (this is some hood cast shit rn) -// -// GetSignBytes implements txsigning.SignModeHandler. -func (s SignModeEthTxHandler) GetSignBytes(_ context.Context, - _ txsigning.SignerData, txData txsigning.TxData) ([]byte, error) { - ethTx := &evmapi.WrappedEthereumTransaction{} - if err := txData.Body.Messages[0].UnmarshalTo(ethTx); err != nil { - return nil, err - } - - return (&types.WrappedEthereumTransaction{Data: ethTx.GetData()}).GetSignBytes() -} diff --git a/cosmos/x/evm/plugins/txpool/serializer.go b/cosmos/x/evm/plugins/txpool/serializer.go index caee29b69..d2e2af733 100644 --- a/cosmos/x/evm/plugins/txpool/serializer.go +++ b/cosmos/x/evm/plugins/txpool/serializer.go @@ -26,7 +26,6 @@ import ( signingtypes "github.com/cosmos/cosmos-sdk/types/tx/signing" "pkg.berachain.dev/polaris/cosmos/crypto/keys/ethsecp256k1" - evmante "pkg.berachain.dev/polaris/cosmos/x/evm/ante" "pkg.berachain.dev/polaris/cosmos/x/evm/types" coretypes "pkg.berachain.dev/polaris/eth/core/types" ) @@ -35,8 +34,7 @@ import ( func SerializeToSdkTx( clientCtx client.Context, signedTx *coretypes.Transaction, ) (sdk.Tx, error) { - // TODO: do we really need to use extensions for anything? Since we - // are using the standard ante handler stuff I don't think we actually need to. + // Create a new, empty TxBuilder. tx := clientCtx.TxConfig.NewTxBuilder() // We can also retrieve the gaslimit for the transaction from the ethereum transaction. @@ -52,19 +50,9 @@ func SerializeToSdkTx( if err != nil { return nil, err } - pk := ethsecp256k1.PubKey{Key: pkBz} // Create the WrappedEthereumTransaction message. wrappedEthTx := types.NewFromTransaction(signedTx) - - // fuck cosmos on god fr fr: https://github.com/cosmos/cosmos-sdk/pull/16340/files - // https://github.com/cosmos/cosmos-sdk/issues/16112 - // this signer change should be reverted imo. - wrappedEthTx.HackyFixCauseCosmos, err = sdk.Bech32ifyAddressBytes( - sdk.GetConfig().GetBech32AccountAddrPrefix(), pk.Address()) - if err != nil { - return nil, err - } sig, err := wrappedEthTx.GetSignature() if err != nil { return nil, err @@ -75,15 +63,13 @@ func SerializeToSdkTx( signingtypes.SignatureV2{ Sequence: signedTx.Nonce(), Data: &signingtypes.SingleSignatureData{ - // TODO: this is ghetto af. - SignMode: signingtypes.SignMode(int32(evmante.SignMode_SIGN_MODE_ETHEREUM)), // We retrieve the hash of the signed transaction from the ethereum transaction // objects, as this was the bytes that were signed. We pass these into the // SingleSignatureData as the SignModeHandler needs to know what data was signed // over so that it can verify the signature in the ante handler. Signature: sig, }, - PubKey: &pk, + PubKey: ðsecp256k1.PubKey{Key: pkBz}, }, ); err != nil { return nil, err diff --git a/cosmos/x/evm/types/tx.go b/cosmos/x/evm/types/tx.go index 960022f21..4976fc32c 100644 --- a/cosmos/x/evm/types/tx.go +++ b/cosmos/x/evm/types/tx.go @@ -22,12 +22,18 @@ package types import ( "errors" + "sync" + + "google.golang.org/protobuf/proto" + + "cosmossdk.io/x/tx/signing" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/ethereum/go-ethereum/core" "github.com/ethereum/go-ethereum/core/txpool" + v1alpha1evm "pkg.berachain.dev/polaris/cosmos/api/polaris/evm/v1alpha1" "pkg.berachain.dev/polaris/eth/common" coretypes "pkg.berachain.dev/polaris/eth/core/types" "pkg.berachain.dev/polaris/lib/utils" @@ -145,3 +151,41 @@ func GetAsEthTx(tx sdk.Tx) *coretypes.Transaction { } return etr.AsTransaction() } + +// ProvideEthereumTransactionGetSigners defines a custom function for +// utilizing custom signer handling for `WrappedEthereumTransaction`s. +func ProvideEthereumTransactionGetSigners() signing.CustomGetSigner { + // Utilize a sync pool to reduce memory usage. + txSyncPool := sync.Pool{ + New: func() any { return new(coretypes.Transaction) }, + } + + // The actual function. + return signing.CustomGetSigner{ + MsgType: proto.MessageName(&v1alpha1evm.WrappedEthereumTransaction{}), + Fn: func(msg proto.Message) ([][]byte, error) { + // Pull the raw ethereum bytes from pulsar. + ethTxData := msg.(*v1alpha1evm.WrappedEthereumTransaction).Data + + // Get a new empty Transaction. + ethTx, ok := txSyncPool.Get().(*coretypes.Transaction) + if !ok { + return nil, errors.New("failed to get sync pool when getting signers") + } + + // Fill it with the data. + if err := ethTx.UnmarshalBinary(ethTxData); err != nil { + return nil, err + } + + // Extract the signer from the signature. + signer, err := coretypes.LatestSignerForChainID(ethTx.ChainId()).Sender(ethTx) + if err != nil { + return nil, err + } + + // Return the signer in the required format. + return [][]byte{signer.Bytes()}, nil + }, + } +} diff --git a/cosmos/x/evm/types/tx.pb.go b/cosmos/x/evm/types/tx.pb.go index 49a80e693..b65d3d30c 100644 --- a/cosmos/x/evm/types/tx.pb.go +++ b/cosmos/x/evm/types/tx.pb.go @@ -30,10 +30,8 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // WrappedEthereumTransaction encapsulates an Ethereum transaction as an SDK message. type WrappedEthereumTransaction struct { - // data is inner transaction data of the Ethereum transaction + // data is inner transaction data of the Ethereum transaction. Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` - // hacky_fix_cause_cosmos is required until https://github.com/cosmos/cosmos-sdk/issues/16112 is handled. - HackyFixCauseCosmos string `protobuf:"bytes,2,opt,name=hacky_fix_cause_cosmos,json=hackyFixCauseCosmos,proto3" json:"hacky_fix_cause_cosmos,omitempty"` } func (m *WrappedEthereumTransaction) Reset() { *m = WrappedEthereumTransaction{} } @@ -76,13 +74,6 @@ func (m *WrappedEthereumTransaction) GetData() []byte { return nil } -func (m *WrappedEthereumTransaction) GetHackyFixCauseCosmos() string { - if m != nil { - return m.HackyFixCauseCosmos - } - return "" -} - // WrappedEthereumTransactionResult defines the Msg/EthereumTx response type. type WrappedEthereumTransactionResult struct { // `gas_used` represents the gas used by the virtual machine execution. @@ -155,30 +146,28 @@ func init() { func init() { proto.RegisterFile("polaris/evm/v1alpha1/tx.proto", fileDescriptor_d8b33d2a2c64400f) } var fileDescriptor_d8b33d2a2c64400f = []byte{ - // 368 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0xbd, 0x4e, 0xe3, 0x40, - 0x14, 0x85, 0x33, 0xbb, 0xd9, 0xcd, 0xee, 0xec, 0x6a, 0x0b, 0xef, 0x6a, 0x09, 0x46, 0x98, 0x28, - 0x55, 0x14, 0x21, 0x9b, 0x10, 0x89, 0x82, 0x92, 0x90, 0x74, 0x34, 0x06, 0x84, 0x44, 0x63, 0xdd, - 0xd8, 0x17, 0xdb, 0x4a, 0xfc, 0xa3, 0x99, 0xf1, 0xc8, 0xa1, 0x42, 0x79, 0x01, 0x78, 0x94, 0x3c, - 0x06, 0x65, 0x4a, 0x4a, 0x94, 0x14, 0x79, 0x0d, 0xe4, 0x71, 0x22, 0x51, 0x90, 0x82, 0x6a, 0x7e, - 0xbe, 0xb9, 0xa3, 0x73, 0xee, 0x3d, 0x74, 0x3f, 0x4d, 0xc6, 0xc0, 0x42, 0x6e, 0xa1, 0x8c, 0x2c, - 0xd9, 0x81, 0x71, 0x1a, 0x40, 0xc7, 0x12, 0xb9, 0x99, 0xb2, 0x44, 0x24, 0xda, 0xbf, 0x35, 0x36, - 0x51, 0x46, 0xe6, 0x06, 0xeb, 0x3b, 0x6e, 0xc2, 0xa3, 0x84, 0x5b, 0x11, 0xf7, 0x2d, 0xd9, 0x29, - 0x96, 0xf2, 0x79, 0x73, 0x4a, 0xa8, 0x7e, 0xc3, 0x20, 0x4d, 0xd1, 0xeb, 0x8b, 0x00, 0x19, 0x66, - 0xd1, 0x15, 0x83, 0x98, 0x83, 0x2b, 0xc2, 0x24, 0xd6, 0x34, 0x5a, 0xf5, 0x40, 0x40, 0x9d, 0x34, - 0x48, 0xeb, 0xb7, 0xad, 0xf6, 0x5a, 0x97, 0xfe, 0x0f, 0xc0, 0x1d, 0x4d, 0x9c, 0xbb, 0x30, 0x77, - 0x5c, 0xc8, 0x38, 0x3a, 0xe5, 0xef, 0xf5, 0x2f, 0x0d, 0xd2, 0xfa, 0x69, 0xff, 0x55, 0x74, 0x10, - 0xe6, 0xbd, 0x82, 0xf5, 0x14, 0x3a, 0xdd, 0x9b, 0xae, 0x66, 0xed, 0x2d, 0x75, 0xcd, 0x09, 0x6d, - 0x6c, 0xd7, 0x60, 0x23, 0xcf, 0xc6, 0x42, 0xdb, 0xa5, 0x3f, 0x7c, 0xe0, 0x4e, 0xc6, 0xd1, 0x53, - 0x6a, 0xaa, 0x76, 0xcd, 0x07, 0x7e, 0xcd, 0xd1, 0x2b, 0x90, 0x8c, 0x1c, 0x64, 0x2c, 0x61, 0x6b, - 0x09, 0x35, 0x19, 0xf5, 0x8b, 0xa3, 0x76, 0x40, 0x7f, 0x31, 0x14, 0x19, 0x8b, 0x1d, 0x65, 0xe3, - 0xab, 0xb2, 0x41, 0xcb, 0xab, 0x73, 0x10, 0x70, 0xfc, 0x48, 0x28, 0xbd, 0xe0, 0xfe, 0x25, 0x32, - 0x19, 0xba, 0xa8, 0xdd, 0xd3, 0x3f, 0x7d, 0x11, 0xbc, 0xef, 0xc0, 0x91, 0xf9, 0x51, 0x43, 0xcd, - 0xed, 0x7a, 0xf5, 0x93, 0xcf, 0x56, 0x94, 0x0e, 0xf5, 0x6f, 0x0f, 0xab, 0x59, 0x9b, 0x9c, 0x0d, - 0x9e, 0x17, 0x06, 0x99, 0x2f, 0x0c, 0xf2, 0xba, 0x30, 0xc8, 0xd3, 0xd2, 0xa8, 0xcc, 0x97, 0x46, - 0xe5, 0x65, 0x69, 0x54, 0x6e, 0x0f, 0xd3, 0x91, 0x6f, 0x0e, 0x91, 0x81, 0x1b, 0x40, 0x18, 0x9b, - 0x1e, 0x4a, 0x6b, 0x93, 0x85, 0xf5, 0x78, 0x73, 0x15, 0x0a, 0x31, 0x49, 0x91, 0x0f, 0xbf, 0xab, - 0x01, 0x77, 0xdf, 0x02, 0x00, 0x00, 0xff, 0xff, 0x6b, 0x4d, 0x7b, 0x17, 0x30, 0x02, 0x00, 0x00, + // 321 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x91, 0xbd, 0x4a, 0x03, 0x41, + 0x14, 0x85, 0x33, 0x1a, 0x8d, 0x8e, 0x62, 0xb1, 0x08, 0xc6, 0x05, 0xd7, 0x90, 0x2a, 0x88, 0xcc, + 0x26, 0x0a, 0x3e, 0x80, 0x18, 0x3b, 0x9b, 0x55, 0x11, 0x6c, 0xc2, 0xcd, 0xee, 0x65, 0x77, 0x31, + 0xb3, 0x33, 0xcc, 0xcc, 0x0e, 0x89, 0x95, 0x6f, 0xa0, 0x8f, 0xe2, 0x63, 0x58, 0xa6, 0xb4, 0x94, + 0xa4, 0xf0, 0x35, 0x24, 0x93, 0x04, 0x2c, 0x4c, 0x61, 0x35, 0x3f, 0xe7, 0x1e, 0xee, 0x39, 0x7c, + 0xf4, 0x48, 0x8a, 0x01, 0xa8, 0x5c, 0x87, 0x68, 0x79, 0x68, 0x3b, 0x30, 0x90, 0x19, 0x74, 0x42, + 0x33, 0x64, 0x52, 0x09, 0x23, 0xbc, 0xfd, 0x85, 0xcc, 0xd0, 0x72, 0xb6, 0x94, 0xfd, 0x83, 0x58, + 0x68, 0x2e, 0x74, 0xc8, 0x75, 0x1a, 0xda, 0xce, 0xec, 0x98, 0x8f, 0x37, 0xdb, 0xd4, 0x7f, 0x50, + 0x20, 0x25, 0x26, 0x5d, 0x93, 0xa1, 0xc2, 0x92, 0xdf, 0x29, 0x28, 0x34, 0xc4, 0x26, 0x17, 0x85, + 0xe7, 0xd1, 0x6a, 0x02, 0x06, 0xea, 0xa4, 0x41, 0x5a, 0xbb, 0x91, 0xbb, 0x37, 0x47, 0xb4, 0xb1, + 0xda, 0x11, 0xa1, 0x2e, 0x07, 0xc6, 0x3b, 0xa4, 0x5b, 0x29, 0xe8, 0x5e, 0xa9, 0x31, 0x71, 0xde, + 0x6a, 0x54, 0x4b, 0x41, 0xdf, 0x6b, 0x4c, 0x66, 0x92, 0xe5, 0x3d, 0x54, 0x4a, 0xa8, 0xfa, 0x5a, + 0x83, 0xb4, 0xb6, 0xa3, 0x9a, 0xe5, 0xdd, 0xd9, 0xd3, 0x3b, 0xa6, 0x3b, 0x0a, 0x4d, 0xa9, 0x8a, + 0x9e, 0x5b, 0xba, 0xee, 0x96, 0xd2, 0xf9, 0xd7, 0x15, 0x18, 0x38, 0x7b, 0x25, 0x94, 0xde, 0xe8, + 0xf4, 0x16, 0x95, 0xcd, 0x63, 0xf4, 0x9e, 0xe9, 0x5e, 0xd7, 0x64, 0xbf, 0xf3, 0xb6, 0xd9, 0x5f, + 0xed, 0xd9, 0xea, 0xbc, 0xfe, 0xc5, 0x7f, 0x1d, 0xf3, 0x86, 0xfe, 0xc6, 0xcb, 0xf7, 0xfb, 0x09, + 0xb9, 0xbc, 0xfe, 0x98, 0x04, 0x64, 0x3c, 0x09, 0xc8, 0xd7, 0x24, 0x20, 0x6f, 0xd3, 0xa0, 0x32, + 0x9e, 0x06, 0x95, 0xcf, 0x69, 0x50, 0x79, 0x3c, 0x95, 0x4f, 0x29, 0xeb, 0xa3, 0x82, 0x38, 0x83, + 0xbc, 0x60, 0x09, 0xda, 0x70, 0x09, 0x6e, 0xc1, 0x62, 0xe8, 0x08, 0x9a, 0x91, 0x44, 0xdd, 0xdf, + 0x74, 0x34, 0xce, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xbd, 0x0e, 0xd9, 0x14, 0xdd, 0x01, 0x00, + 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -283,13 +272,6 @@ func (m *WrappedEthereumTransaction) MarshalToSizedBuffer(dAtA []byte) (int, err _ = i var l int _ = l - if len(m.HackyFixCauseCosmos) > 0 { - i -= len(m.HackyFixCauseCosmos) - copy(dAtA[i:], m.HackyFixCauseCosmos) - i = encodeVarintTx(dAtA, i, uint64(len(m.HackyFixCauseCosmos))) - i-- - dAtA[i] = 0x12 - } if len(m.Data) > 0 { i -= len(m.Data) copy(dAtA[i:], m.Data) @@ -363,10 +345,6 @@ func (m *WrappedEthereumTransaction) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.HackyFixCauseCosmos) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } return n } @@ -459,38 +437,6 @@ func (m *WrappedEthereumTransaction) Unmarshal(dAtA []byte) error { m.Data = []byte{} } iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field HackyFixCauseCosmos", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.HackyFixCauseCosmos = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) diff --git a/e2e/testapp/app.go b/e2e/testapp/app.go index 2685c2c7f..c3a1b00f3 100644 --- a/e2e/testapp/app.go +++ b/e2e/testapp/app.go @@ -67,6 +67,7 @@ import ( evmante "pkg.berachain.dev/polaris/cosmos/x/evm/ante" evmkeeper "pkg.berachain.dev/polaris/cosmos/x/evm/keeper" evmmempool "pkg.berachain.dev/polaris/cosmos/x/evm/plugins/txpool/mempool" + evmtypes "pkg.berachain.dev/polaris/cosmos/x/evm/types" ) // DefaultNodeHome default home directories for the application daemon. @@ -138,6 +139,7 @@ func NewPolarisApp( // merge the AppConfig and other configuration in one config appConfig = depinject.Configs( AppConfig, + depinject.Provide(evmtypes.ProvideEthereumTransactionGetSigners), depinject.Supply( // supply the application options appOpts, diff --git a/e2e/testapp/go.mod b/e2e/testapp/go.mod index 0f1439c1f..0c98fcd55 100644 --- a/e2e/testapp/go.mod +++ b/e2e/testapp/go.mod @@ -50,7 +50,7 @@ require ( google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529 // indirect google.golang.org/grpc v1.56.2 // indirect - google.golang.org/protobuf v1.31.0 // indirect + google.golang.org/protobuf v1.31.0 ) require ( diff --git a/e2e/testapp/polard/cmd/root.go b/e2e/testapp/polard/cmd/root.go index 1e65b0109..d0ee2cfc1 100644 --- a/e2e/testapp/polard/cmd/root.go +++ b/e2e/testapp/polard/cmd/root.go @@ -34,7 +34,6 @@ import ( "cosmossdk.io/depinject" "cosmossdk.io/log" confixcmd "cosmossdk.io/tools/confix/cmd" - "cosmossdk.io/x/tx/signing" cmtcfg "github.com/cometbft/cometbft/config" @@ -62,8 +61,8 @@ import ( ethcryptocodec "pkg.berachain.dev/polaris/cosmos/crypto/codec" "pkg.berachain.dev/polaris/cosmos/crypto/keyring" - evmante "pkg.berachain.dev/polaris/cosmos/x/evm/ante" - evmmepool "pkg.berachain.dev/polaris/cosmos/x/evm/plugins/txpool/mempool" + evmmempool "pkg.berachain.dev/polaris/cosmos/x/evm/plugins/txpool/mempool" + evmtypes "pkg.berachain.dev/polaris/cosmos/x/evm/types" testapp "pkg.berachain.dev/polaris/e2e/testapp" ) @@ -79,8 +78,9 @@ func NewRootCmd() *cobra.Command { autoCliOpts autocli.AppOptions moduleBasicManager module.BasicManager ) + if err := depinject.Inject(depinject.Configs(testapp.AppConfig, depinject.Supply( - evmmepool.NewPolarisEthereumTxPool(), log.NewNopLogger())), + evmmempool.NewPolarisEthereumTxPool(), log.NewNopLogger()), depinject.Provide(evmtypes.ProvideEthereumTransactionGetSigners)), &interfaceRegistry, &appCodec, &txConfig, @@ -124,15 +124,11 @@ func NewRootCmd() *cobra.Command { // This needs to go after ReadFromClientConfig, as that function // sets the RPC client needed for SIGN_MODE_TEXTUAL. - txConfigOpts := tx.ConfigOptions{ - TextualCoinMetadataQueryFn: txmodule.NewGRPCCoinMetadataQueryFn(initClientCtx), - } - - // Add a custom sign mode handler for ethereum transactions. - txConfigOpts.CustomSignModes = []signing.SignModeHandler{evmante.SignModeEthTxHandler{}} txConfigWithTextual, err := tx.NewTxConfigWithOptions( codec.NewProtoCodec(interfaceRegistry), - txConfigOpts, + tx.ConfigOptions{ + TextualCoinMetadataQueryFn: txmodule.NewGRPCCoinMetadataQueryFn(initClientCtx), + }, ) if err != nil { return err diff --git a/magefiles/proto.go b/magefiles/proto.go index 0e9a8e5d4..1e5b06a61 100644 --- a/magefiles/proto.go +++ b/magefiles/proto.go @@ -34,7 +34,7 @@ import ( var ( protoImageName = "ghcr.io/cosmos/proto-builder" - protoImageVersion = "0.13.2" + protoImageVersion = "0.13.5" protoDir = "cosmos/proto" bufCommand = sh.RunCmd("buf")