From da01fadce19d8232b0c5338e3742987c083ae8ae Mon Sep 17 00:00:00 2001 From: mmsqe Date: Tue, 22 Oct 2024 09:47:27 +0800 Subject: [PATCH 1/7] Problem: not payee set for relayer caller --- CHANGELOG.md | 1 + app/app.go | 46 ++++++++++++++++++-- integration_tests/cosmoscli.py | 22 +++++----- integration_tests/ibc_utils.py | 11 ++++- integration_tests/test_ibc_rly.py | 5 +-- x/cronos/middleware/conversion_middleware.go | 5 ++- 6 files changed, 70 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 94f55c8c26..285b7b4331 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ * (testground)[1649](https://github.com/crypto-org-chain/cronos/pull/1649) Fix running single validator benchmark locally. * (cli)[#1647](https://github.com/crypto-org-chain/cronos/pull/1647) Fix node can't shutdown by signal. * (testground)[#1652](https://github.com/crypto-org-chain/cronos/pull/1652) Remove unexpected conflicts in benchmark transactions. +* [#1654](https://github.com/crypto-org-chain/cronos/pull/1654) Set relayer as payee for relayer caller when enabled incentivized packet. ### Improvements diff --git a/app/app.go b/app/app.go index b8905c4170..7f94f3b790 100644 --- a/app/app.go +++ b/app/app.go @@ -131,6 +131,7 @@ import ( ibc "github.com/cosmos/ibc-go/v8/modules/core" ibcclienttypes "github.com/cosmos/ibc-go/v8/modules/core/02-client/types" ibcconnectiontypes "github.com/cosmos/ibc-go/v8/modules/core/03-connection/types" + ibcchanneltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types" porttypes "github.com/cosmos/ibc-go/v8/modules/core/05-port/types" ibcexported "github.com/cosmos/ibc-go/v8/modules/core/exported" ibckeeper "github.com/cosmos/ibc-go/v8/modules/core/keeper" @@ -280,6 +281,43 @@ var ( type GenesisState = map[string]json.RawMessage +type CustomIBCFeeMiddleware struct { + ibcfee.IBCMiddleware + keeper ibcfeekeeper.Keeper +} + +func NewIBCFeeMiddleware(app porttypes.IBCModule, k ibcfeekeeper.Keeper) CustomIBCFeeMiddleware { + return CustomIBCFeeMiddleware{ + IBCMiddleware: ibcfee.NewIBCMiddleware(app, k), + keeper: k, + } +} + +func (im CustomIBCFeeMiddleware) OnAcknowledgementPacket( + ctx sdk.Context, + packet ibcchanneltypes.Packet, + acknowledgement []byte, + relayer sdk.AccAddress, +) error { + if im.keeper.IsFeeEnabled(ctx, packet.SourcePort, packet.SourceChannel) { + var ack ibcfeetypes.IncentivizedAcknowledgement + err := ibcfeetypes.ModuleCdc.UnmarshalJSON(acknowledgement, &ack) + if err != nil { + return errors.Wrapf(err, "cannot unmarshal ICS-29 incentivized packet acknowledgement: %v", ack) + } + im.keeper.SetPayeeAddress(ctx, relayer.String(), ack.ForwardRelayerAddress, packet.SourceChannel) + } + return im.IBCMiddleware.OnAcknowledgementPacket(ctx, packet, acknowledgement, relayer) +} + +func (im CustomIBCFeeMiddleware) OnTimeoutPacket( + ctx sdk.Context, + packet ibcchanneltypes.Packet, + relayer sdk.AccAddress, +) error { + return im.IBCMiddleware.OnTimeoutPacket(ctx, packet, relayer) +} + // App extends an ABCI application, but with most of its parameters exported. // They are exported for convenience in creating helper functions, as object // capabilities aren't needed for testing. @@ -713,8 +751,8 @@ func New( var transferStack porttypes.IBCModule transferStack = transfer.NewIBCModule(app.TransferKeeper) - transferStack = middleware.NewIBCConversionModule(transferStack, app.CronosKeeper) - transferStack = ibcfee.NewIBCMiddleware(transferStack, app.IBCFeeKeeper) + transferStack = middleware.NewIBCConversionModule(transferStack, app.CronosKeeper, app.IBCFeeKeeper) + transferStack = NewIBCFeeMiddleware(transferStack, app.IBCFeeKeeper) govKeeper := govkeeper.NewKeeper( appCodec, @@ -741,7 +779,7 @@ func New( var icaControllerStack porttypes.IBCModule icaControllerStack = icacontroller.NewIBCMiddleware(nil, app.ICAControllerKeeper) - icaControllerStack = ibcfee.NewIBCMiddleware(icaControllerStack, app.IBCFeeKeeper) + icaControllerStack = NewIBCFeeMiddleware(icaControllerStack, app.IBCFeeKeeper) // Since the callbacks middleware itself is an ics4wrapper, it needs to be passed to the ica controller keeper ics4Wrapper := icaControllerStack.(porttypes.Middleware) app.ICAControllerKeeper.WithICS4Wrapper(ics4Wrapper) @@ -750,7 +788,7 @@ func New( var icaHostStack porttypes.IBCModule icaHostStack = icahost.NewIBCModule(app.ICAHostKeeper) - icaHostStack = ibcfee.NewIBCMiddleware(icaHostStack, app.IBCFeeKeeper) + icaHostStack = NewIBCFeeMiddleware(icaHostStack, app.IBCFeeKeeper) // Create static IBC router, add transfer route, then set and seal it ibcRouter := porttypes.NewRouter() diff --git a/integration_tests/cosmoscli.py b/integration_tests/cosmoscli.py index 2ed8812414..4b6aca5746 100644 --- a/integration_tests/cosmoscli.py +++ b/integration_tests/cosmoscli.py @@ -601,9 +601,12 @@ def combine_batch_multisig_tx( def broadcast_tx(self, tx_file, **kwargs): kwargs.setdefault("broadcast_mode", "sync") kwargs.setdefault("output", "json") - return json.loads( + rsp = json.loads( self.raw("tx", "broadcast", tx_file, node=self.node_rpc, **kwargs) ) + if rsp["code"] == 0: + rsp = self.event_query_tx_for(rsp["txhash"]) + return rsp def broadcast_tx_json(self, tx, **kwargs): with tempfile.NamedTemporaryFile("w") as fp: @@ -1612,10 +1615,7 @@ def register_counterparty_payee( return rsp def register_payee(self, port_id, channel_id, relayer, payee, **kwargs): - default_kwargs = { - "home": self.data_dir, - } - return json.loads( + rsp = json.loads( self.raw( "tx", "ibc-fee", @@ -1625,14 +1625,15 @@ def register_payee(self, port_id, channel_id, relayer, payee, **kwargs): relayer, payee, "-y", - **(default_kwargs | kwargs), + home=self.data_dir, + **kwargs, ) ) + if rsp["code"] == 0: + rsp = self.event_query_tx_for(rsp["txhash"]) + return rsp def pay_packet_fee(self, port_id, channel_id, packet_seq, **kwargs): - default_kwargs = { - "home": self.data_dir, - } rsp = json.loads( self.raw( "tx", @@ -1642,7 +1643,8 @@ def pay_packet_fee(self, port_id, channel_id, packet_seq, **kwargs): channel_id, str(packet_seq), "-y", - **(default_kwargs | kwargs), + home=self.data_dir, + **kwargs, ) ) if rsp["code"] == 0: diff --git a/integration_tests/ibc_utils.py b/integration_tests/ibc_utils.py index bd88269006..f8daa58dae 100644 --- a/integration_tests/ibc_utils.py +++ b/integration_tests/ibc_utils.py @@ -218,15 +218,22 @@ def prepare_network( def register_fee_payee(src_chain, dst_chain): + port_id = "transfer" + channel_id = "channel-0" rsp = dst_chain.register_counterparty_payee( - "transfer", - "channel-0", + port_id, + channel_id, dst_chain.address("relayer"), src_chain.address("signer1"), from_="relayer", fees="100000000basecro", ) assert rsp["code"] == 0, rsp["raw_log"] + # relayer = src_chain.address("signer1") + # relayer_caller = eth_to_bech32(RELAYER_CALLER) + # rsp = src_chain.register_payee( + # port_id, channel_id, relayer_caller, relayer, _from=relayer_caller + # ) def assert_ready(ibc): diff --git a/integration_tests/test_ibc_rly.py b/integration_tests/test_ibc_rly.py index 22f69a7f2f..c36d675e04 100644 --- a/integration_tests/test_ibc_rly.py +++ b/integration_tests/test_ibc_rly.py @@ -7,7 +7,6 @@ from .ibc_utils import ( RATIO, - RELAYER_CALLER, assert_duplicate, cronos_transfer_source_tokens, cronos_transfer_source_tokens_with_proxy, @@ -287,8 +286,8 @@ def test_ibc_incentivized_transfer(ibc): acknowledge_packet(seq0), distribute_fee(src_relayer, fee), *send_coins(feeibc_addr, src_relayer, src_amount, fee_denom), - distribute_fee(RELAYER_CALLER, fee), - *send_coins(feeibc_addr, RELAYER_CALLER, src_amount, fee_denom), + distribute_fee(src_relayer, fee), + *send_coins(feeibc_addr, src_relayer, src_amount, fee_denom), distribute_fee(cronos_signer2, ""), *send_coins(feeibc_addr, cronos_signer2, 0, fee_denom), fungible(checksum_dst_adr, cronos_signer2, amount, dst_denom), diff --git a/x/cronos/middleware/conversion_middleware.go b/x/cronos/middleware/conversion_middleware.go index 12dd7b23be..ba6c5d243a 100644 --- a/x/cronos/middleware/conversion_middleware.go +++ b/x/cronos/middleware/conversion_middleware.go @@ -6,6 +6,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/ibc-go/modules/capability/types" + ibcfeekeeper "github.com/cosmos/ibc-go/v8/modules/apps/29-fee/keeper" transferTypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" channeltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types" porttypes "github.com/cosmos/ibc-go/v8/modules/core/05-port/types" @@ -19,13 +20,15 @@ var _ porttypes.UpgradableModule = (*IBCConversionModule)(nil) type IBCConversionModule struct { app porttypes.IBCModule cronoskeeper cronoskeeper.Keeper + feekeeper ibcfeekeeper.Keeper } // NewIBCConversionModule creates a new IBCModule given the keeper and underlying application -func NewIBCConversionModule(app porttypes.IBCModule, ck cronoskeeper.Keeper) IBCConversionModule { +func NewIBCConversionModule(app porttypes.IBCModule, ck cronoskeeper.Keeper, fk ibcfeekeeper.Keeper) IBCConversionModule { return IBCConversionModule{ app: app, cronoskeeper: ck, + feekeeper: fk, } } From 1d2b397411746b0101d8b460ac3016babdbd23a1 Mon Sep 17 00:00:00 2001 From: mmsqe Date: Wed, 23 Oct 2024 16:04:05 +0800 Subject: [PATCH 2/7] rm timeout --- app/app.go | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/app/app.go b/app/app.go index 7f94f3b790..0c198ef5ab 100644 --- a/app/app.go +++ b/app/app.go @@ -301,8 +301,7 @@ func (im CustomIBCFeeMiddleware) OnAcknowledgementPacket( ) error { if im.keeper.IsFeeEnabled(ctx, packet.SourcePort, packet.SourceChannel) { var ack ibcfeetypes.IncentivizedAcknowledgement - err := ibcfeetypes.ModuleCdc.UnmarshalJSON(acknowledgement, &ack) - if err != nil { + if err := ibcfeetypes.ModuleCdc.UnmarshalJSON(acknowledgement, &ack); err != nil { return errors.Wrapf(err, "cannot unmarshal ICS-29 incentivized packet acknowledgement: %v", ack) } im.keeper.SetPayeeAddress(ctx, relayer.String(), ack.ForwardRelayerAddress, packet.SourceChannel) @@ -310,14 +309,6 @@ func (im CustomIBCFeeMiddleware) OnAcknowledgementPacket( return im.IBCMiddleware.OnAcknowledgementPacket(ctx, packet, acknowledgement, relayer) } -func (im CustomIBCFeeMiddleware) OnTimeoutPacket( - ctx sdk.Context, - packet ibcchanneltypes.Packet, - relayer sdk.AccAddress, -) error { - return im.IBCMiddleware.OnTimeoutPacket(ctx, packet, relayer) -} - // App extends an ABCI application, but with most of its parameters exported. // They are exported for convenience in creating helper functions, as object // capabilities aren't needed for testing. From 826b206447e08f37398f704220c52e63886acb54 Mon Sep 17 00:00:00 2001 From: mmsqe Date: Wed, 23 Oct 2024 22:03:52 +0800 Subject: [PATCH 3/7] reset signer --- app/app.go | 37 +++----------------- x/cronos/keeper/precompiles/relayer.go | 12 ++++++- x/cronos/middleware/conversion_middleware.go | 5 +-- 3 files changed, 16 insertions(+), 38 deletions(-) diff --git a/app/app.go b/app/app.go index fdbdf1f8d1..2ef656b0d5 100644 --- a/app/app.go +++ b/app/app.go @@ -131,7 +131,6 @@ import ( ibc "github.com/cosmos/ibc-go/v8/modules/core" ibcclienttypes "github.com/cosmos/ibc-go/v8/modules/core/02-client/types" ibcconnectiontypes "github.com/cosmos/ibc-go/v8/modules/core/03-connection/types" - ibcchanneltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types" porttypes "github.com/cosmos/ibc-go/v8/modules/core/05-port/types" ibcexported "github.com/cosmos/ibc-go/v8/modules/core/exported" ibckeeper "github.com/cosmos/ibc-go/v8/modules/core/keeper" @@ -282,34 +281,6 @@ var ( type GenesisState = map[string]json.RawMessage -type CustomIBCFeeMiddleware struct { - ibcfee.IBCMiddleware - keeper ibcfeekeeper.Keeper -} - -func NewIBCFeeMiddleware(app porttypes.IBCModule, k ibcfeekeeper.Keeper) CustomIBCFeeMiddleware { - return CustomIBCFeeMiddleware{ - IBCMiddleware: ibcfee.NewIBCMiddleware(app, k), - keeper: k, - } -} - -func (im CustomIBCFeeMiddleware) OnAcknowledgementPacket( - ctx sdk.Context, - packet ibcchanneltypes.Packet, - acknowledgement []byte, - relayer sdk.AccAddress, -) error { - if im.keeper.IsFeeEnabled(ctx, packet.SourcePort, packet.SourceChannel) { - var ack ibcfeetypes.IncentivizedAcknowledgement - if err := ibcfeetypes.ModuleCdc.UnmarshalJSON(acknowledgement, &ack); err != nil { - return errors.Wrapf(err, "cannot unmarshal ICS-29 incentivized packet acknowledgement: %v", ack) - } - im.keeper.SetPayeeAddress(ctx, relayer.String(), ack.ForwardRelayerAddress, packet.SourceChannel) - } - return im.IBCMiddleware.OnAcknowledgementPacket(ctx, packet, acknowledgement, relayer) -} - // App extends an ABCI application, but with most of its parameters exported. // They are exported for convenience in creating helper functions, as object // capabilities aren't needed for testing. @@ -749,8 +720,8 @@ func New( var transferStack porttypes.IBCModule transferStack = transfer.NewIBCModule(app.TransferKeeper) - transferStack = middleware.NewIBCConversionModule(transferStack, app.CronosKeeper, app.IBCFeeKeeper) - transferStack = NewIBCFeeMiddleware(transferStack, app.IBCFeeKeeper) + transferStack = middleware.NewIBCConversionModule(transferStack, app.CronosKeeper) + transferStack = ibcfee.NewIBCMiddleware(transferStack, app.IBCFeeKeeper) govKeeper := govkeeper.NewKeeper( appCodec, @@ -777,7 +748,7 @@ func New( var icaControllerStack porttypes.IBCModule icaControllerStack = icacontroller.NewIBCMiddleware(nil, app.ICAControllerKeeper) - icaControllerStack = NewIBCFeeMiddleware(icaControllerStack, app.IBCFeeKeeper) + icaControllerStack = ibcfee.NewIBCMiddleware(icaControllerStack, app.IBCFeeKeeper) // Since the callbacks middleware itself is an ics4wrapper, it needs to be passed to the ica controller keeper ics4Wrapper := icaControllerStack.(porttypes.Middleware) app.ICAControllerKeeper.WithICS4Wrapper(ics4Wrapper) @@ -786,7 +757,7 @@ func New( var icaHostStack porttypes.IBCModule icaHostStack = icahost.NewIBCModule(app.ICAHostKeeper) - icaHostStack = NewIBCFeeMiddleware(icaHostStack, app.IBCFeeKeeper) + icaHostStack = ibcfee.NewIBCMiddleware(icaHostStack, app.IBCFeeKeeper) // Create static IBC router, add transfer route, then set and seal it ibcRouter := porttypes.NewRouter() diff --git a/x/cronos/keeper/precompiles/relayer.go b/x/cronos/keeper/precompiles/relayer.go index 8bbcad970c..95c96771e4 100644 --- a/x/cronos/keeper/precompiles/relayer.go +++ b/x/cronos/keeper/precompiles/relayer.go @@ -1,6 +1,7 @@ package precompiles import ( + "context" "errors" "fmt" @@ -12,7 +13,9 @@ import ( "github.com/ethereum/go-ethereum/core/vm" "github.com/ethereum/go-ethereum/params" + errorsmod "cosmossdk.io/errors" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + ibcfeetypes "github.com/cosmos/ibc-go/v8/modules/apps/29-fee/types" ibctransfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" channeltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types" cronosevents "github.com/crypto-org-chain/cronos/v2/x/cronos/events" @@ -230,7 +233,14 @@ func (bc *RelayerContract) Run(evm *vm.EVM, contract *vm.Contract, readonly bool case RecvPacket: res, err = exec(e, bc.ibcKeeper.RecvPacket) case Acknowledgement: - res, err = exec(e, bc.ibcKeeper.Acknowledgement) + res, err = exec(e, func(goCtx context.Context, msg *channeltypes.MsgAcknowledgement) (*channeltypes.MsgAcknowledgementResponse, error) { + var ack ibcfeetypes.IncentivizedAcknowledgement + if err := ibcfeetypes.ModuleCdc.UnmarshalJSON(msg.Acknowledgement, &ack); err != nil { + return nil, errorsmod.Wrapf(err, "cannot unmarshal ICS-29 incentivized packet acknowledgement: %v", ack) + } + msg.Signer = ack.ForwardRelayerAddress + return bc.ibcKeeper.Acknowledgement(goCtx, msg) + }) case Timeout: res, err = exec(e, bc.ibcKeeper.Timeout) case TimeoutOnClose: diff --git a/x/cronos/middleware/conversion_middleware.go b/x/cronos/middleware/conversion_middleware.go index ba6c5d243a..12dd7b23be 100644 --- a/x/cronos/middleware/conversion_middleware.go +++ b/x/cronos/middleware/conversion_middleware.go @@ -6,7 +6,6 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/ibc-go/modules/capability/types" - ibcfeekeeper "github.com/cosmos/ibc-go/v8/modules/apps/29-fee/keeper" transferTypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" channeltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types" porttypes "github.com/cosmos/ibc-go/v8/modules/core/05-port/types" @@ -20,15 +19,13 @@ var _ porttypes.UpgradableModule = (*IBCConversionModule)(nil) type IBCConversionModule struct { app porttypes.IBCModule cronoskeeper cronoskeeper.Keeper - feekeeper ibcfeekeeper.Keeper } // NewIBCConversionModule creates a new IBCModule given the keeper and underlying application -func NewIBCConversionModule(app porttypes.IBCModule, ck cronoskeeper.Keeper, fk ibcfeekeeper.Keeper) IBCConversionModule { +func NewIBCConversionModule(app porttypes.IBCModule, ck cronoskeeper.Keeper) IBCConversionModule { return IBCConversionModule{ app: app, cronoskeeper: ck, - feekeeper: fk, } } From 64876e2b5d03fc4037e8c95c17165c61a15b3db5 Mon Sep 17 00:00:00 2001 From: mmsqe Date: Thu, 24 Oct 2024 10:14:48 +0800 Subject: [PATCH 4/7] set origin signer --- integration_tests/ibc_utils.py | 2 +- integration_tests/test_ibc_rly.py | 5 +- integration_tests/test_ibc_rly_gas.py | 5 +- nix/sources.json | 6 +- .../relayer/i_relayer_functions.abigen.go | 707 ++++++------------ .../events/bindings/src/RelayerFunctions.sol | 49 +- x/cronos/keeper/precompiles/relayer.go | 19 +- 7 files changed, 254 insertions(+), 539 deletions(-) diff --git a/integration_tests/ibc_utils.py b/integration_tests/ibc_utils.py index f8daa58dae..379a64b084 100644 --- a/integration_tests/ibc_utils.py +++ b/integration_tests/ibc_utils.py @@ -344,7 +344,7 @@ def get_balances(chain, addr): def ibc_multi_transfer(ibc): chains = [ibc.cronos.cosmos_cli(), ibc.chainmain.cosmos_cli()] - users = [f"user{i}" for i in range(1, 51)] + users = [f"user{i}" for i in range(1, 1)] addrs0 = [chains[0].address(user) for user in users] addrs1 = [chains[1].address(user) for user in users] denom0 = "basetcro" diff --git a/integration_tests/test_ibc_rly.py b/integration_tests/test_ibc_rly.py index 0e8e23ee91..35c207b543 100644 --- a/integration_tests/test_ibc_rly.py +++ b/integration_tests/test_ibc_rly.py @@ -15,6 +15,7 @@ ibc_multi_transfer, ibc_transfer, prepare_network, + rly_transfer, ) from .utils import ( ADDRS, @@ -51,7 +52,7 @@ def ibc(request, tmp_path_factory): yield from prepare_network( path, name, - relayer=cluster.Relayer.HERMES.value, + relayer=cluster.Relayer.RLY.value, ) @@ -235,7 +236,7 @@ def test_ibc(ibc): w3 = ibc.cronos.w3 wait_for_new_blocks(ibc.cronos.cosmos_cli(), 1) start = w3.eth.get_block_number() - ibc_transfer(ibc) + ibc_transfer(ibc, rly_transfer) denom = ibc_denom(channel, src_denom) logs = get_logs_since(w3, CONTRACT, start) chainmain_cli = ibc.chainmain.cosmos_cli() diff --git a/integration_tests/test_ibc_rly_gas.py b/integration_tests/test_ibc_rly_gas.py index ce1f206895..b82d25f615 100644 --- a/integration_tests/test_ibc_rly_gas.py +++ b/integration_tests/test_ibc_rly_gas.py @@ -7,6 +7,7 @@ ibc_transfer, log_gas_records, prepare_network, + rly_transfer, ) from .utils import wait_for_new_blocks @@ -18,7 +19,7 @@ def ibc(request, tmp_path_factory): "prepare-network" name = request.param path = tmp_path_factory.mktemp(name) - yield from prepare_network(path, name, relayer=cluster.Relayer.HERMES.value) + yield from prepare_network(path, name, relayer=cluster.Relayer.RLY.value) records = [] @@ -28,7 +29,7 @@ def test_ibc(ibc): # chainmain-1 relayer -> cronos_777-1 signer2 cli = ibc.cronos.cosmos_cli() wait_for_new_blocks(cli, 1) - ibc_transfer(ibc) + ibc_transfer(ibc, rly_transfer) ibc_incentivized_transfer(ibc) ibc_multi_transfer(ibc) diff = 0.1 diff --git a/nix/sources.json b/nix/sources.json index 4d02d2cc91..fa3559f409 100644 --- a/nix/sources.json +++ b/nix/sources.json @@ -126,10 +126,10 @@ "homepage": "https://github.com/crypto-org-chain/relayer", "owner": "crypto-org-chain", "repo": "relayer", - "rev": "fe5722292a9961e80818e3ef5c987330b538bc05", - "sha256": "0jv4pkrqhckbabxxxbr0bcil0fakbnc7sf22k2wa5q6v6921ci0y", + "rev": "a7139118e7204a80e5c277a84a91be2bb8884147", + "sha256": "sha256:1ps8lyh3v0zbwb6dilrn009iwkyck73p17mc0a75w806f1wsxzmn", "type": "tarball", - "url": "https://github.com/crypto-org-chain/relayer/archive/fe5722292a9961e80818e3ef5c987330b538bc05.tar.gz", + "url": "https://github.com/mmsqe/relayer/archive/a7139118e7204a80e5c277a84a91be2bb8884147.tar.gz", "url_template": "https://github.com///archive/.tar.gz" } } diff --git a/x/cronos/events/bindings/cosmos/precompile/relayer/i_relayer_functions.abigen.go b/x/cronos/events/bindings/cosmos/precompile/relayer/i_relayer_functions.abigen.go index eb1cd85583..58c4a4a75c 100644 --- a/x/cronos/events/bindings/cosmos/precompile/relayer/i_relayer_functions.abigen.go +++ b/x/cronos/events/bindings/cosmos/precompile/relayer/i_relayer_functions.abigen.go @@ -31,7 +31,7 @@ var ( // RelayerFunctionsMetaData contains all meta data concerning the RelayerFunctions contract. var RelayerFunctionsMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"acknowledgement\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelCloseConfirm\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelCloseInit\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelOpenAck\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelOpenConfirm\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelOpenInit\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelOpenTry\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"connectionOpenAck\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"connectionOpenConfirm\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"connectionOpenInit\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"connectionOpenTry\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"createClient\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"recvPacket\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"submitMisbehaviour\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"timeout\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"timeoutOnClose\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"updateClient\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndAcknowledgement\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndChannelCloseConfirm\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndChannelCloseInit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndChannelOpenAck\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndChannelOpenConfirm\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndChannelOpenInit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndChannelOpenTry\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndConnectionOpenAck\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndConnectionOpenConfirm\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndConnectionOpenInit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndConnectionOpenTry\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndRecvPacket\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndTimeout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeClient\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}]", + ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"acknowledgement\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelCloseConfirm\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelCloseInit\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelOpenAck\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelOpenConfirm\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelOpenInit\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelOpenTry\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"connectionOpenAck\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"connectionOpenConfirm\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"connectionOpenInit\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"connectionOpenTry\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"createClient\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"recvPacket\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"submitMisbehaviour\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"timeout\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"timeoutOnClose\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"updateClient\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeClient\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}]", } // RelayerFunctionsABI is the input ABI used to generate the binding from. @@ -180,653 +180,380 @@ func (_RelayerFunctions *RelayerFunctionsTransactorRaw) Transact(opts *bind.Tran return _RelayerFunctions.Contract.contract.Transact(opts, method, params...) } -// Acknowledgement is a paid mutator transaction binding the contract method 0x07ed2b37. +// Acknowledgement is a paid mutator transaction binding the contract method 0x2dd03820. // -// Solidity: function acknowledgement(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) Acknowledgement(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "acknowledgement", data) +// Solidity: function acknowledgement(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) Acknowledgement(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "acknowledgement", signer, data) } -// Acknowledgement is a paid mutator transaction binding the contract method 0x07ed2b37. +// Acknowledgement is a paid mutator transaction binding the contract method 0x2dd03820. // -// Solidity: function acknowledgement(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) Acknowledgement(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.Acknowledgement(&_RelayerFunctions.TransactOpts, data) +// Solidity: function acknowledgement(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) Acknowledgement(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.Acknowledgement(&_RelayerFunctions.TransactOpts, signer, data) } -// Acknowledgement is a paid mutator transaction binding the contract method 0x07ed2b37. +// Acknowledgement is a paid mutator transaction binding the contract method 0x2dd03820. // -// Solidity: function acknowledgement(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) Acknowledgement(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.Acknowledgement(&_RelayerFunctions.TransactOpts, data) +// Solidity: function acknowledgement(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) Acknowledgement(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.Acknowledgement(&_RelayerFunctions.TransactOpts, signer, data) } -// ChannelCloseConfirm is a paid mutator transaction binding the contract method 0xc9741674. +// ChannelCloseConfirm is a paid mutator transaction binding the contract method 0xafde3b9c. // -// Solidity: function channelCloseConfirm(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelCloseConfirm(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "channelCloseConfirm", data) +// Solidity: function channelCloseConfirm(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelCloseConfirm(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "channelCloseConfirm", signer, data) } -// ChannelCloseConfirm is a paid mutator transaction binding the contract method 0xc9741674. +// ChannelCloseConfirm is a paid mutator transaction binding the contract method 0xafde3b9c. // -// Solidity: function channelCloseConfirm(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) ChannelCloseConfirm(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelCloseConfirm(&_RelayerFunctions.TransactOpts, data) +// Solidity: function channelCloseConfirm(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) ChannelCloseConfirm(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelCloseConfirm(&_RelayerFunctions.TransactOpts, signer, data) } -// ChannelCloseConfirm is a paid mutator transaction binding the contract method 0xc9741674. +// ChannelCloseConfirm is a paid mutator transaction binding the contract method 0xafde3b9c. // -// Solidity: function channelCloseConfirm(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelCloseConfirm(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelCloseConfirm(&_RelayerFunctions.TransactOpts, data) +// Solidity: function channelCloseConfirm(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelCloseConfirm(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelCloseConfirm(&_RelayerFunctions.TransactOpts, signer, data) } -// ChannelCloseInit is a paid mutator transaction binding the contract method 0x44ba8a17. +// ChannelCloseInit is a paid mutator transaction binding the contract method 0x5108b479. // -// Solidity: function channelCloseInit(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelCloseInit(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "channelCloseInit", data) +// Solidity: function channelCloseInit(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelCloseInit(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "channelCloseInit", signer, data) } -// ChannelCloseInit is a paid mutator transaction binding the contract method 0x44ba8a17. +// ChannelCloseInit is a paid mutator transaction binding the contract method 0x5108b479. // -// Solidity: function channelCloseInit(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) ChannelCloseInit(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelCloseInit(&_RelayerFunctions.TransactOpts, data) +// Solidity: function channelCloseInit(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) ChannelCloseInit(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelCloseInit(&_RelayerFunctions.TransactOpts, signer, data) } -// ChannelCloseInit is a paid mutator transaction binding the contract method 0x44ba8a17. +// ChannelCloseInit is a paid mutator transaction binding the contract method 0x5108b479. // -// Solidity: function channelCloseInit(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelCloseInit(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelCloseInit(&_RelayerFunctions.TransactOpts, data) +// Solidity: function channelCloseInit(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelCloseInit(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelCloseInit(&_RelayerFunctions.TransactOpts, signer, data) } -// ChannelOpenAck is a paid mutator transaction binding the contract method 0xd859b9f4. +// ChannelOpenAck is a paid mutator transaction binding the contract method 0xe66d0380. // -// Solidity: function channelOpenAck(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelOpenAck(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "channelOpenAck", data) +// Solidity: function channelOpenAck(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelOpenAck(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "channelOpenAck", signer, data) } -// ChannelOpenAck is a paid mutator transaction binding the contract method 0xd859b9f4. +// ChannelOpenAck is a paid mutator transaction binding the contract method 0xe66d0380. // -// Solidity: function channelOpenAck(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) ChannelOpenAck(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelOpenAck(&_RelayerFunctions.TransactOpts, data) +// Solidity: function channelOpenAck(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) ChannelOpenAck(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelOpenAck(&_RelayerFunctions.TransactOpts, signer, data) } -// ChannelOpenAck is a paid mutator transaction binding the contract method 0xd859b9f4. +// ChannelOpenAck is a paid mutator transaction binding the contract method 0xe66d0380. // -// Solidity: function channelOpenAck(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelOpenAck(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelOpenAck(&_RelayerFunctions.TransactOpts, data) +// Solidity: function channelOpenAck(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelOpenAck(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelOpenAck(&_RelayerFunctions.TransactOpts, signer, data) } -// ChannelOpenConfirm is a paid mutator transaction binding the contract method 0x5e1fad7d. +// ChannelOpenConfirm is a paid mutator transaction binding the contract method 0xc20e1316. // -// Solidity: function channelOpenConfirm(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelOpenConfirm(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "channelOpenConfirm", data) +// Solidity: function channelOpenConfirm(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelOpenConfirm(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "channelOpenConfirm", signer, data) } -// ChannelOpenConfirm is a paid mutator transaction binding the contract method 0x5e1fad7d. +// ChannelOpenConfirm is a paid mutator transaction binding the contract method 0xc20e1316. // -// Solidity: function channelOpenConfirm(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) ChannelOpenConfirm(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelOpenConfirm(&_RelayerFunctions.TransactOpts, data) +// Solidity: function channelOpenConfirm(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) ChannelOpenConfirm(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelOpenConfirm(&_RelayerFunctions.TransactOpts, signer, data) } -// ChannelOpenConfirm is a paid mutator transaction binding the contract method 0x5e1fad7d. +// ChannelOpenConfirm is a paid mutator transaction binding the contract method 0xc20e1316. // -// Solidity: function channelOpenConfirm(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelOpenConfirm(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelOpenConfirm(&_RelayerFunctions.TransactOpts, data) +// Solidity: function channelOpenConfirm(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelOpenConfirm(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelOpenConfirm(&_RelayerFunctions.TransactOpts, signer, data) } -// ChannelOpenInit is a paid mutator transaction binding the contract method 0x63d2dc06. +// ChannelOpenInit is a paid mutator transaction binding the contract method 0x835e72b3. // -// Solidity: function channelOpenInit(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelOpenInit(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "channelOpenInit", data) +// Solidity: function channelOpenInit(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelOpenInit(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "channelOpenInit", signer, data) } -// ChannelOpenInit is a paid mutator transaction binding the contract method 0x63d2dc06. +// ChannelOpenInit is a paid mutator transaction binding the contract method 0x835e72b3. // -// Solidity: function channelOpenInit(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) ChannelOpenInit(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelOpenInit(&_RelayerFunctions.TransactOpts, data) +// Solidity: function channelOpenInit(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) ChannelOpenInit(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelOpenInit(&_RelayerFunctions.TransactOpts, signer, data) } -// ChannelOpenInit is a paid mutator transaction binding the contract method 0x63d2dc06. +// ChannelOpenInit is a paid mutator transaction binding the contract method 0x835e72b3. // -// Solidity: function channelOpenInit(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelOpenInit(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelOpenInit(&_RelayerFunctions.TransactOpts, data) +// Solidity: function channelOpenInit(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelOpenInit(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelOpenInit(&_RelayerFunctions.TransactOpts, signer, data) } -// ChannelOpenTry is a paid mutator transaction binding the contract method 0xf45b605e. +// ChannelOpenTry is a paid mutator transaction binding the contract method 0x0e5745cf. // -// Solidity: function channelOpenTry(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelOpenTry(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "channelOpenTry", data) +// Solidity: function channelOpenTry(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelOpenTry(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "channelOpenTry", signer, data) } -// ChannelOpenTry is a paid mutator transaction binding the contract method 0xf45b605e. +// ChannelOpenTry is a paid mutator transaction binding the contract method 0x0e5745cf. // -// Solidity: function channelOpenTry(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) ChannelOpenTry(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelOpenTry(&_RelayerFunctions.TransactOpts, data) +// Solidity: function channelOpenTry(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) ChannelOpenTry(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelOpenTry(&_RelayerFunctions.TransactOpts, signer, data) } -// ChannelOpenTry is a paid mutator transaction binding the contract method 0xf45b605e. +// ChannelOpenTry is a paid mutator transaction binding the contract method 0x0e5745cf. // -// Solidity: function channelOpenTry(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelOpenTry(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelOpenTry(&_RelayerFunctions.TransactOpts, data) +// Solidity: function channelOpenTry(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelOpenTry(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelOpenTry(&_RelayerFunctions.TransactOpts, signer, data) } -// ConnectionOpenAck is a paid mutator transaction binding the contract method 0xe9984826. +// ConnectionOpenAck is a paid mutator transaction binding the contract method 0x027868e8. // -// Solidity: function connectionOpenAck(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) ConnectionOpenAck(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "connectionOpenAck", data) +// Solidity: function connectionOpenAck(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) ConnectionOpenAck(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "connectionOpenAck", signer, data) } -// ConnectionOpenAck is a paid mutator transaction binding the contract method 0xe9984826. +// ConnectionOpenAck is a paid mutator transaction binding the contract method 0x027868e8. // -// Solidity: function connectionOpenAck(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) ConnectionOpenAck(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ConnectionOpenAck(&_RelayerFunctions.TransactOpts, data) +// Solidity: function connectionOpenAck(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) ConnectionOpenAck(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ConnectionOpenAck(&_RelayerFunctions.TransactOpts, signer, data) } -// ConnectionOpenAck is a paid mutator transaction binding the contract method 0xe9984826. +// ConnectionOpenAck is a paid mutator transaction binding the contract method 0x027868e8. // -// Solidity: function connectionOpenAck(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) ConnectionOpenAck(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ConnectionOpenAck(&_RelayerFunctions.TransactOpts, data) +// Solidity: function connectionOpenAck(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) ConnectionOpenAck(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ConnectionOpenAck(&_RelayerFunctions.TransactOpts, signer, data) } -// ConnectionOpenConfirm is a paid mutator transaction binding the contract method 0xb710bcf2. +// ConnectionOpenConfirm is a paid mutator transaction binding the contract method 0xcd281189. // -// Solidity: function connectionOpenConfirm(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) ConnectionOpenConfirm(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "connectionOpenConfirm", data) +// Solidity: function connectionOpenConfirm(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) ConnectionOpenConfirm(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "connectionOpenConfirm", signer, data) } -// ConnectionOpenConfirm is a paid mutator transaction binding the contract method 0xb710bcf2. +// ConnectionOpenConfirm is a paid mutator transaction binding the contract method 0xcd281189. // -// Solidity: function connectionOpenConfirm(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) ConnectionOpenConfirm(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ConnectionOpenConfirm(&_RelayerFunctions.TransactOpts, data) +// Solidity: function connectionOpenConfirm(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) ConnectionOpenConfirm(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ConnectionOpenConfirm(&_RelayerFunctions.TransactOpts, signer, data) } -// ConnectionOpenConfirm is a paid mutator transaction binding the contract method 0xb710bcf2. +// ConnectionOpenConfirm is a paid mutator transaction binding the contract method 0xcd281189. // -// Solidity: function connectionOpenConfirm(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) ConnectionOpenConfirm(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ConnectionOpenConfirm(&_RelayerFunctions.TransactOpts, data) +// Solidity: function connectionOpenConfirm(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) ConnectionOpenConfirm(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ConnectionOpenConfirm(&_RelayerFunctions.TransactOpts, signer, data) } -// ConnectionOpenInit is a paid mutator transaction binding the contract method 0x528e6644. +// ConnectionOpenInit is a paid mutator transaction binding the contract method 0x07fc7843. // -// Solidity: function connectionOpenInit(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) ConnectionOpenInit(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "connectionOpenInit", data) +// Solidity: function connectionOpenInit(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) ConnectionOpenInit(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "connectionOpenInit", signer, data) } -// ConnectionOpenInit is a paid mutator transaction binding the contract method 0x528e6644. +// ConnectionOpenInit is a paid mutator transaction binding the contract method 0x07fc7843. // -// Solidity: function connectionOpenInit(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) ConnectionOpenInit(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ConnectionOpenInit(&_RelayerFunctions.TransactOpts, data) +// Solidity: function connectionOpenInit(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) ConnectionOpenInit(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ConnectionOpenInit(&_RelayerFunctions.TransactOpts, signer, data) } -// ConnectionOpenInit is a paid mutator transaction binding the contract method 0x528e6644. +// ConnectionOpenInit is a paid mutator transaction binding the contract method 0x07fc7843. // -// Solidity: function connectionOpenInit(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) ConnectionOpenInit(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ConnectionOpenInit(&_RelayerFunctions.TransactOpts, data) +// Solidity: function connectionOpenInit(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) ConnectionOpenInit(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ConnectionOpenInit(&_RelayerFunctions.TransactOpts, signer, data) } -// ConnectionOpenTry is a paid mutator transaction binding the contract method 0x986fa270. +// ConnectionOpenTry is a paid mutator transaction binding the contract method 0xb4f69b9e. // -// Solidity: function connectionOpenTry(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) ConnectionOpenTry(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "connectionOpenTry", data) +// Solidity: function connectionOpenTry(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) ConnectionOpenTry(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "connectionOpenTry", signer, data) } -// ConnectionOpenTry is a paid mutator transaction binding the contract method 0x986fa270. +// ConnectionOpenTry is a paid mutator transaction binding the contract method 0xb4f69b9e. // -// Solidity: function connectionOpenTry(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) ConnectionOpenTry(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ConnectionOpenTry(&_RelayerFunctions.TransactOpts, data) +// Solidity: function connectionOpenTry(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) ConnectionOpenTry(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ConnectionOpenTry(&_RelayerFunctions.TransactOpts, signer, data) } -// ConnectionOpenTry is a paid mutator transaction binding the contract method 0x986fa270. +// ConnectionOpenTry is a paid mutator transaction binding the contract method 0xb4f69b9e. // -// Solidity: function connectionOpenTry(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) ConnectionOpenTry(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ConnectionOpenTry(&_RelayerFunctions.TransactOpts, data) +// Solidity: function connectionOpenTry(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) ConnectionOpenTry(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ConnectionOpenTry(&_RelayerFunctions.TransactOpts, signer, data) } -// CreateClient is a paid mutator transaction binding the contract method 0x3df83afa. +// CreateClient is a paid mutator transaction binding the contract method 0xbbcd46fd. // -// Solidity: function createClient(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) CreateClient(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "createClient", data) +// Solidity: function createClient(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) CreateClient(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "createClient", signer, data) } -// CreateClient is a paid mutator transaction binding the contract method 0x3df83afa. +// CreateClient is a paid mutator transaction binding the contract method 0xbbcd46fd. // -// Solidity: function createClient(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) CreateClient(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.CreateClient(&_RelayerFunctions.TransactOpts, data) +// Solidity: function createClient(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) CreateClient(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.CreateClient(&_RelayerFunctions.TransactOpts, signer, data) } -// CreateClient is a paid mutator transaction binding the contract method 0x3df83afa. +// CreateClient is a paid mutator transaction binding the contract method 0xbbcd46fd. // -// Solidity: function createClient(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) CreateClient(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.CreateClient(&_RelayerFunctions.TransactOpts, data) +// Solidity: function createClient(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) CreateClient(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.CreateClient(&_RelayerFunctions.TransactOpts, signer, data) } -// RecvPacket is a paid mutator transaction binding the contract method 0xf6a1539d. +// RecvPacket is a paid mutator transaction binding the contract method 0x8faf3716. // -// Solidity: function recvPacket(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) RecvPacket(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "recvPacket", data) +// Solidity: function recvPacket(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) RecvPacket(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "recvPacket", signer, data) } -// RecvPacket is a paid mutator transaction binding the contract method 0xf6a1539d. +// RecvPacket is a paid mutator transaction binding the contract method 0x8faf3716. // -// Solidity: function recvPacket(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) RecvPacket(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.RecvPacket(&_RelayerFunctions.TransactOpts, data) +// Solidity: function recvPacket(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) RecvPacket(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.RecvPacket(&_RelayerFunctions.TransactOpts, signer, data) } -// RecvPacket is a paid mutator transaction binding the contract method 0xf6a1539d. +// RecvPacket is a paid mutator transaction binding the contract method 0x8faf3716. // -// Solidity: function recvPacket(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) RecvPacket(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.RecvPacket(&_RelayerFunctions.TransactOpts, data) +// Solidity: function recvPacket(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) RecvPacket(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.RecvPacket(&_RelayerFunctions.TransactOpts, signer, data) } -// SubmitMisbehaviour is a paid mutator transaction binding the contract method 0xa53b1c82. +// SubmitMisbehaviour is a paid mutator transaction binding the contract method 0xd4461718. // -// Solidity: function submitMisbehaviour(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) SubmitMisbehaviour(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "submitMisbehaviour", data) +// Solidity: function submitMisbehaviour(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) SubmitMisbehaviour(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "submitMisbehaviour", signer, data) } -// SubmitMisbehaviour is a paid mutator transaction binding the contract method 0xa53b1c82. +// SubmitMisbehaviour is a paid mutator transaction binding the contract method 0xd4461718. // -// Solidity: function submitMisbehaviour(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) SubmitMisbehaviour(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.SubmitMisbehaviour(&_RelayerFunctions.TransactOpts, data) +// Solidity: function submitMisbehaviour(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) SubmitMisbehaviour(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.SubmitMisbehaviour(&_RelayerFunctions.TransactOpts, signer, data) } -// SubmitMisbehaviour is a paid mutator transaction binding the contract method 0xa53b1c82. +// SubmitMisbehaviour is a paid mutator transaction binding the contract method 0xd4461718. // -// Solidity: function submitMisbehaviour(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) SubmitMisbehaviour(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.SubmitMisbehaviour(&_RelayerFunctions.TransactOpts, data) +// Solidity: function submitMisbehaviour(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) SubmitMisbehaviour(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.SubmitMisbehaviour(&_RelayerFunctions.TransactOpts, signer, data) } -// Timeout is a paid mutator transaction binding the contract method 0x6d2a27f6. +// Timeout is a paid mutator transaction binding the contract method 0x8ba86f29. // -// Solidity: function timeout(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) Timeout(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "timeout", data) +// Solidity: function timeout(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) Timeout(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "timeout", signer, data) } -// Timeout is a paid mutator transaction binding the contract method 0x6d2a27f6. +// Timeout is a paid mutator transaction binding the contract method 0x8ba86f29. // -// Solidity: function timeout(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) Timeout(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.Timeout(&_RelayerFunctions.TransactOpts, data) +// Solidity: function timeout(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) Timeout(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.Timeout(&_RelayerFunctions.TransactOpts, signer, data) } -// Timeout is a paid mutator transaction binding the contract method 0x6d2a27f6. +// Timeout is a paid mutator transaction binding the contract method 0x8ba86f29. // -// Solidity: function timeout(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) Timeout(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.Timeout(&_RelayerFunctions.TransactOpts, data) +// Solidity: function timeout(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) Timeout(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.Timeout(&_RelayerFunctions.TransactOpts, signer, data) } -// TimeoutOnClose is a paid mutator transaction binding the contract method 0x08f5d079. +// TimeoutOnClose is a paid mutator transaction binding the contract method 0x0546845a. // -// Solidity: function timeoutOnClose(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) TimeoutOnClose(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "timeoutOnClose", data) +// Solidity: function timeoutOnClose(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) TimeoutOnClose(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "timeoutOnClose", signer, data) } -// TimeoutOnClose is a paid mutator transaction binding the contract method 0x08f5d079. +// TimeoutOnClose is a paid mutator transaction binding the contract method 0x0546845a. // -// Solidity: function timeoutOnClose(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) TimeoutOnClose(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.TimeoutOnClose(&_RelayerFunctions.TransactOpts, data) +// Solidity: function timeoutOnClose(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) TimeoutOnClose(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.TimeoutOnClose(&_RelayerFunctions.TransactOpts, signer, data) } -// TimeoutOnClose is a paid mutator transaction binding the contract method 0x08f5d079. +// TimeoutOnClose is a paid mutator transaction binding the contract method 0x0546845a. // -// Solidity: function timeoutOnClose(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) TimeoutOnClose(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.TimeoutOnClose(&_RelayerFunctions.TransactOpts, data) +// Solidity: function timeoutOnClose(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) TimeoutOnClose(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.TimeoutOnClose(&_RelayerFunctions.TransactOpts, signer, data) } -// UpdateClient is a paid mutator transaction binding the contract method 0x0bece356. +// UpdateClient is a paid mutator transaction binding the contract method 0x8b6789fd. // -// Solidity: function updateClient(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClient(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "updateClient", data) +// Solidity: function updateClient(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClient(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "updateClient", signer, data) } -// UpdateClient is a paid mutator transaction binding the contract method 0x0bece356. +// UpdateClient is a paid mutator transaction binding the contract method 0x8b6789fd. // -// Solidity: function updateClient(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) UpdateClient(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClient(&_RelayerFunctions.TransactOpts, data) +// Solidity: function updateClient(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) UpdateClient(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClient(&_RelayerFunctions.TransactOpts, signer, data) } -// UpdateClient is a paid mutator transaction binding the contract method 0x0bece356. +// UpdateClient is a paid mutator transaction binding the contract method 0x8b6789fd. // -// Solidity: function updateClient(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClient(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClient(&_RelayerFunctions.TransactOpts, data) +// Solidity: function updateClient(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClient(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClient(&_RelayerFunctions.TransactOpts, signer, data) } -// UpdateClientAndAcknowledgement is a paid mutator transaction binding the contract method 0x65a939c6. +// UpgradeClient is a paid mutator transaction binding the contract method 0x81909f7c. // -// Solidity: function updateClientAndAcknowledgement(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndAcknowledgement(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "updateClientAndAcknowledgement", data1, data2) +// Solidity: function upgradeClient(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) UpgradeClient(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "upgradeClient", signer, data) } -// UpdateClientAndAcknowledgement is a paid mutator transaction binding the contract method 0x65a939c6. +// UpgradeClient is a paid mutator transaction binding the contract method 0x81909f7c. // -// Solidity: function updateClientAndAcknowledgement(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndAcknowledgement(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndAcknowledgement(&_RelayerFunctions.TransactOpts, data1, data2) +// Solidity: function upgradeClient(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) UpgradeClient(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpgradeClient(&_RelayerFunctions.TransactOpts, signer, data) } -// UpdateClientAndAcknowledgement is a paid mutator transaction binding the contract method 0x65a939c6. +// UpgradeClient is a paid mutator transaction binding the contract method 0x81909f7c. // -// Solidity: function updateClientAndAcknowledgement(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndAcknowledgement(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndAcknowledgement(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndChannelCloseConfirm is a paid mutator transaction binding the contract method 0x9bbcbfd2. -// -// Solidity: function updateClientAndChannelCloseConfirm(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndChannelCloseConfirm(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "updateClientAndChannelCloseConfirm", data1, data2) -} - -// UpdateClientAndChannelCloseConfirm is a paid mutator transaction binding the contract method 0x9bbcbfd2. -// -// Solidity: function updateClientAndChannelCloseConfirm(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndChannelCloseConfirm(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndChannelCloseConfirm(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndChannelCloseConfirm is a paid mutator transaction binding the contract method 0x9bbcbfd2. -// -// Solidity: function updateClientAndChannelCloseConfirm(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndChannelCloseConfirm(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndChannelCloseConfirm(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndChannelCloseInit is a paid mutator transaction binding the contract method 0x5447448d. -// -// Solidity: function updateClientAndChannelCloseInit(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndChannelCloseInit(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "updateClientAndChannelCloseInit", data1, data2) -} - -// UpdateClientAndChannelCloseInit is a paid mutator transaction binding the contract method 0x5447448d. -// -// Solidity: function updateClientAndChannelCloseInit(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndChannelCloseInit(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndChannelCloseInit(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndChannelCloseInit is a paid mutator transaction binding the contract method 0x5447448d. -// -// Solidity: function updateClientAndChannelCloseInit(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndChannelCloseInit(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndChannelCloseInit(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndChannelOpenAck is a paid mutator transaction binding the contract method 0xc518ffc8. -// -// Solidity: function updateClientAndChannelOpenAck(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndChannelOpenAck(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "updateClientAndChannelOpenAck", data1, data2) -} - -// UpdateClientAndChannelOpenAck is a paid mutator transaction binding the contract method 0xc518ffc8. -// -// Solidity: function updateClientAndChannelOpenAck(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndChannelOpenAck(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndChannelOpenAck(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndChannelOpenAck is a paid mutator transaction binding the contract method 0xc518ffc8. -// -// Solidity: function updateClientAndChannelOpenAck(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndChannelOpenAck(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndChannelOpenAck(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndChannelOpenConfirm is a paid mutator transaction binding the contract method 0x0982b806. -// -// Solidity: function updateClientAndChannelOpenConfirm(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndChannelOpenConfirm(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "updateClientAndChannelOpenConfirm", data1, data2) -} - -// UpdateClientAndChannelOpenConfirm is a paid mutator transaction binding the contract method 0x0982b806. -// -// Solidity: function updateClientAndChannelOpenConfirm(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndChannelOpenConfirm(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndChannelOpenConfirm(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndChannelOpenConfirm is a paid mutator transaction binding the contract method 0x0982b806. -// -// Solidity: function updateClientAndChannelOpenConfirm(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndChannelOpenConfirm(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndChannelOpenConfirm(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndChannelOpenInit is a paid mutator transaction binding the contract method 0x66365fc4. -// -// Solidity: function updateClientAndChannelOpenInit(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndChannelOpenInit(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "updateClientAndChannelOpenInit", data1, data2) -} - -// UpdateClientAndChannelOpenInit is a paid mutator transaction binding the contract method 0x66365fc4. -// -// Solidity: function updateClientAndChannelOpenInit(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndChannelOpenInit(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndChannelOpenInit(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndChannelOpenInit is a paid mutator transaction binding the contract method 0x66365fc4. -// -// Solidity: function updateClientAndChannelOpenInit(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndChannelOpenInit(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndChannelOpenInit(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndChannelOpenTry is a paid mutator transaction binding the contract method 0x33978088. -// -// Solidity: function updateClientAndChannelOpenTry(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndChannelOpenTry(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "updateClientAndChannelOpenTry", data1, data2) -} - -// UpdateClientAndChannelOpenTry is a paid mutator transaction binding the contract method 0x33978088. -// -// Solidity: function updateClientAndChannelOpenTry(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndChannelOpenTry(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndChannelOpenTry(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndChannelOpenTry is a paid mutator transaction binding the contract method 0x33978088. -// -// Solidity: function updateClientAndChannelOpenTry(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndChannelOpenTry(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndChannelOpenTry(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndConnectionOpenAck is a paid mutator transaction binding the contract method 0xfedb9353. -// -// Solidity: function updateClientAndConnectionOpenAck(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndConnectionOpenAck(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "updateClientAndConnectionOpenAck", data1, data2) -} - -// UpdateClientAndConnectionOpenAck is a paid mutator transaction binding the contract method 0xfedb9353. -// -// Solidity: function updateClientAndConnectionOpenAck(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndConnectionOpenAck(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndConnectionOpenAck(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndConnectionOpenAck is a paid mutator transaction binding the contract method 0xfedb9353. -// -// Solidity: function updateClientAndConnectionOpenAck(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndConnectionOpenAck(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndConnectionOpenAck(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndConnectionOpenConfirm is a paid mutator transaction binding the contract method 0x70009dfc. -// -// Solidity: function updateClientAndConnectionOpenConfirm(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndConnectionOpenConfirm(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "updateClientAndConnectionOpenConfirm", data1, data2) -} - -// UpdateClientAndConnectionOpenConfirm is a paid mutator transaction binding the contract method 0x70009dfc. -// -// Solidity: function updateClientAndConnectionOpenConfirm(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndConnectionOpenConfirm(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndConnectionOpenConfirm(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndConnectionOpenConfirm is a paid mutator transaction binding the contract method 0x70009dfc. -// -// Solidity: function updateClientAndConnectionOpenConfirm(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndConnectionOpenConfirm(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndConnectionOpenConfirm(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndConnectionOpenInit is a paid mutator transaction binding the contract method 0x491e69c7. -// -// Solidity: function updateClientAndConnectionOpenInit(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndConnectionOpenInit(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "updateClientAndConnectionOpenInit", data1, data2) -} - -// UpdateClientAndConnectionOpenInit is a paid mutator transaction binding the contract method 0x491e69c7. -// -// Solidity: function updateClientAndConnectionOpenInit(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndConnectionOpenInit(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndConnectionOpenInit(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndConnectionOpenInit is a paid mutator transaction binding the contract method 0x491e69c7. -// -// Solidity: function updateClientAndConnectionOpenInit(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndConnectionOpenInit(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndConnectionOpenInit(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndConnectionOpenTry is a paid mutator transaction binding the contract method 0x5f3a7169. -// -// Solidity: function updateClientAndConnectionOpenTry(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndConnectionOpenTry(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "updateClientAndConnectionOpenTry", data1, data2) -} - -// UpdateClientAndConnectionOpenTry is a paid mutator transaction binding the contract method 0x5f3a7169. -// -// Solidity: function updateClientAndConnectionOpenTry(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndConnectionOpenTry(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndConnectionOpenTry(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndConnectionOpenTry is a paid mutator transaction binding the contract method 0x5f3a7169. -// -// Solidity: function updateClientAndConnectionOpenTry(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndConnectionOpenTry(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndConnectionOpenTry(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndRecvPacket is a paid mutator transaction binding the contract method 0xd3cffc28. -// -// Solidity: function updateClientAndRecvPacket(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndRecvPacket(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "updateClientAndRecvPacket", data1, data2) -} - -// UpdateClientAndRecvPacket is a paid mutator transaction binding the contract method 0xd3cffc28. -// -// Solidity: function updateClientAndRecvPacket(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndRecvPacket(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndRecvPacket(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndRecvPacket is a paid mutator transaction binding the contract method 0xd3cffc28. -// -// Solidity: function updateClientAndRecvPacket(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndRecvPacket(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndRecvPacket(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndTimeout is a paid mutator transaction binding the contract method 0xca4c72a0. -// -// Solidity: function updateClientAndTimeout(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndTimeout(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "updateClientAndTimeout", data1, data2) -} - -// UpdateClientAndTimeout is a paid mutator transaction binding the contract method 0xca4c72a0. -// -// Solidity: function updateClientAndTimeout(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndTimeout(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndTimeout(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpdateClientAndTimeout is a paid mutator transaction binding the contract method 0xca4c72a0. -// -// Solidity: function updateClientAndTimeout(bytes data1, bytes data2) payable returns(bool) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndTimeout(data1 []byte, data2 []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClientAndTimeout(&_RelayerFunctions.TransactOpts, data1, data2) -} - -// UpgradeClient is a paid mutator transaction binding the contract method 0x8a8e4c5d. -// -// Solidity: function upgradeClient(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) UpgradeClient(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "upgradeClient", data) -} - -// UpgradeClient is a paid mutator transaction binding the contract method 0x8a8e4c5d. -// -// Solidity: function upgradeClient(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) UpgradeClient(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpgradeClient(&_RelayerFunctions.TransactOpts, data) -} - -// UpgradeClient is a paid mutator transaction binding the contract method 0x8a8e4c5d. -// -// Solidity: function upgradeClient(bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpgradeClient(data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpgradeClient(&_RelayerFunctions.TransactOpts, data) +// Solidity: function upgradeClient(address signer, bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpgradeClient(signer common.Address, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpgradeClient(&_RelayerFunctions.TransactOpts, signer, data) } diff --git a/x/cronos/events/bindings/src/RelayerFunctions.sol b/x/cronos/events/bindings/src/RelayerFunctions.sol index f580fe5ccb..9edace63c2 100644 --- a/x/cronos/events/bindings/src/RelayerFunctions.sol +++ b/x/cronos/events/bindings/src/RelayerFunctions.sol @@ -2,35 +2,22 @@ pragma solidity ^0.8.4; interface IRelayerFunctions { - function createClient(bytes calldata data) external payable returns (bytes calldata); - function updateClient(bytes calldata data) external payable returns (bytes calldata); - function upgradeClient(bytes calldata data) external payable returns (bytes calldata); - function submitMisbehaviour(bytes calldata data) external payable returns (bytes calldata); - function connectionOpenInit(bytes calldata data) external payable returns (bytes calldata); - function connectionOpenTry(bytes calldata data) external payable returns (bytes calldata); - function connectionOpenAck(bytes calldata data) external payable returns (bytes calldata); - function connectionOpenConfirm(bytes calldata data) external payable returns (bytes calldata); - function channelOpenInit(bytes calldata data) external payable returns (bytes calldata); - function channelOpenTry(bytes calldata data) external payable returns (bytes calldata); - function channelOpenAck(bytes calldata data) external payable returns (bytes calldata); - function channelOpenConfirm(bytes calldata data) external payable returns (bytes calldata); - function channelCloseInit(bytes calldata data) external payable returns (bytes calldata); - function channelCloseConfirm(bytes calldata data) external payable returns (bytes calldata); - function recvPacket(bytes calldata data) external payable returns (bytes calldata); - function acknowledgement(bytes calldata data) external payable returns (bytes calldata); - function timeout(bytes calldata data) external payable returns (bytes calldata); - function timeoutOnClose(bytes calldata data) external payable returns (bytes calldata); - function updateClientAndConnectionOpenInit(bytes calldata data1, bytes calldata data2) external payable returns (bool); - function updateClientAndConnectionOpenTry(bytes calldata data1, bytes calldata data2) external payable returns (bool); - function updateClientAndConnectionOpenAck(bytes calldata data1, bytes calldata data2) external payable returns (bool); - function updateClientAndConnectionOpenConfirm(bytes calldata data1, bytes calldata data2) external payable returns (bool); - function updateClientAndChannelOpenInit(bytes calldata data1, bytes calldata data2) external payable returns (bool); - function updateClientAndChannelOpenTry(bytes calldata data1, bytes calldata data2) external payable returns (bool); - function updateClientAndChannelOpenAck(bytes calldata data1, bytes calldata data2) external payable returns (bool); - function updateClientAndChannelOpenConfirm(bytes calldata data1, bytes calldata data2) external payable returns (bool); - function updateClientAndRecvPacket(bytes calldata data1, bytes calldata data2) external payable returns (bool); - function updateClientAndAcknowledgement(bytes calldata data1, bytes calldata data2) external payable returns (bool); - function updateClientAndTimeout(bytes calldata data1, bytes calldata data2) external payable returns (bool); - function updateClientAndChannelCloseInit(bytes calldata data1, bytes calldata data2) external payable returns (bool); - function updateClientAndChannelCloseConfirm(bytes calldata data1, bytes calldata data2) external payable returns (bool); + function createClient(address signer, bytes calldata data) external payable returns (bytes calldata); + function updateClient(address signer, bytes calldata data) external payable returns (bytes calldata); + function upgradeClient(address signer, bytes calldata data) external payable returns (bytes calldata); + function submitMisbehaviour(address signer, bytes calldata data) external payable returns (bytes calldata); + function connectionOpenInit(address signer, bytes calldata data) external payable returns (bytes calldata); + function connectionOpenTry(address signer, bytes calldata data) external payable returns (bytes calldata); + function connectionOpenAck(address signer, bytes calldata data) external payable returns (bytes calldata); + function connectionOpenConfirm(address signer, bytes calldata data) external payable returns (bytes calldata); + function channelOpenInit(address signer, bytes calldata data) external payable returns (bytes calldata); + function channelOpenTry(address signer, bytes calldata data) external payable returns (bytes calldata); + function channelOpenAck(address signer, bytes calldata data) external payable returns (bytes calldata); + function channelOpenConfirm(address signer, bytes calldata data) external payable returns (bytes calldata); + function channelCloseInit(address signer, bytes calldata data) external payable returns (bytes calldata); + function channelCloseConfirm(address signer, bytes calldata data) external payable returns (bytes calldata); + function recvPacket(address signer, bytes calldata data) external payable returns (bytes calldata); + function acknowledgement(address signer, bytes calldata data) external payable returns (bytes calldata); + function timeout(address signer, bytes calldata data) external payable returns (bytes calldata); + function timeoutOnClose(address signer, bytes calldata data) external payable returns (bytes calldata); } diff --git a/x/cronos/keeper/precompiles/relayer.go b/x/cronos/keeper/precompiles/relayer.go index 95c96771e4..b0e1909d83 100644 --- a/x/cronos/keeper/precompiles/relayer.go +++ b/x/cronos/keeper/precompiles/relayer.go @@ -7,15 +7,14 @@ import ( "cosmossdk.io/log" "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/ethereum/go-ethereum/accounts/abi" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core" "github.com/ethereum/go-ethereum/core/vm" "github.com/ethereum/go-ethereum/params" - errorsmod "cosmossdk.io/errors" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - ibcfeetypes "github.com/cosmos/ibc-go/v8/modules/apps/29-fee/types" ibctransfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" channeltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types" cronosevents "github.com/crypto-org-chain/cronos/v2/x/cronos/events" @@ -144,7 +143,7 @@ func (bc *RelayerContract) RequiredGas(input []byte) (gas uint64) { if err != nil { panic(err) } - i := args[0].([]byte) + i := args[1].([]byte) var msg channeltypes.MsgRecvPacket if err = bc.cdc.Unmarshal(i, &msg); err != nil { panic(err) @@ -193,7 +192,8 @@ func (bc *RelayerContract) Run(evm *vm.EVM, contract *vm.Contract, readonly bool if err != nil { return nil, errors.New("fail to unpack input arguments") } - input := args[0].([]byte) + signer := args[0].(common.Address) + input := args[1].([]byte) converter := cronosevents.RelayerConvertEvent e := &Executor{ cdc: bc.cdc, @@ -234,15 +234,14 @@ func (bc *RelayerContract) Run(evm *vm.EVM, contract *vm.Contract, readonly bool res, err = exec(e, bc.ibcKeeper.RecvPacket) case Acknowledgement: res, err = exec(e, func(goCtx context.Context, msg *channeltypes.MsgAcknowledgement) (*channeltypes.MsgAcknowledgementResponse, error) { - var ack ibcfeetypes.IncentivizedAcknowledgement - if err := ibcfeetypes.ModuleCdc.UnmarshalJSON(msg.Acknowledgement, &ack); err != nil { - return nil, errorsmod.Wrapf(err, "cannot unmarshal ICS-29 incentivized packet acknowledgement: %v", ack) - } - msg.Signer = ack.ForwardRelayerAddress + msg.Signer = sdk.AccAddress(signer.Bytes()).String() return bc.ibcKeeper.Acknowledgement(goCtx, msg) }) case Timeout: - res, err = exec(e, bc.ibcKeeper.Timeout) + res, err = exec(e, func(goCtx context.Context, msg *channeltypes.MsgTimeout) (*channeltypes.MsgTimeoutResponse, error) { + msg.Signer = sdk.AccAddress(signer.Bytes()).String() + return bc.ibcKeeper.Timeout(goCtx, msg) + }) case TimeoutOnClose: res, err = exec(e, bc.ibcKeeper.TimeoutOnClose) default: From 526a881c140d02923bd252f1623421c09fc48de3 Mon Sep 17 00:00:00 2001 From: mmsqe Date: Fri, 25 Oct 2024 10:45:15 +0800 Subject: [PATCH 5/7] Revert "set origin signer" This reverts commit 64876e2b5d03fc4037e8c95c17165c61a15b3db5. --- integration_tests/ibc_utils.py | 2 +- integration_tests/test_ibc_rly.py | 5 +- integration_tests/test_ibc_rly_gas.py | 5 +- nix/sources.json | 6 +- .../relayer/i_relayer_functions.abigen.go | 707 ++++++++++++------ .../events/bindings/src/RelayerFunctions.sol | 49 +- x/cronos/keeper/precompiles/relayer.go | 19 +- 7 files changed, 539 insertions(+), 254 deletions(-) diff --git a/integration_tests/ibc_utils.py b/integration_tests/ibc_utils.py index 379a64b084..f8daa58dae 100644 --- a/integration_tests/ibc_utils.py +++ b/integration_tests/ibc_utils.py @@ -344,7 +344,7 @@ def get_balances(chain, addr): def ibc_multi_transfer(ibc): chains = [ibc.cronos.cosmos_cli(), ibc.chainmain.cosmos_cli()] - users = [f"user{i}" for i in range(1, 1)] + users = [f"user{i}" for i in range(1, 51)] addrs0 = [chains[0].address(user) for user in users] addrs1 = [chains[1].address(user) for user in users] denom0 = "basetcro" diff --git a/integration_tests/test_ibc_rly.py b/integration_tests/test_ibc_rly.py index 35c207b543..0e8e23ee91 100644 --- a/integration_tests/test_ibc_rly.py +++ b/integration_tests/test_ibc_rly.py @@ -15,7 +15,6 @@ ibc_multi_transfer, ibc_transfer, prepare_network, - rly_transfer, ) from .utils import ( ADDRS, @@ -52,7 +51,7 @@ def ibc(request, tmp_path_factory): yield from prepare_network( path, name, - relayer=cluster.Relayer.RLY.value, + relayer=cluster.Relayer.HERMES.value, ) @@ -236,7 +235,7 @@ def test_ibc(ibc): w3 = ibc.cronos.w3 wait_for_new_blocks(ibc.cronos.cosmos_cli(), 1) start = w3.eth.get_block_number() - ibc_transfer(ibc, rly_transfer) + ibc_transfer(ibc) denom = ibc_denom(channel, src_denom) logs = get_logs_since(w3, CONTRACT, start) chainmain_cli = ibc.chainmain.cosmos_cli() diff --git a/integration_tests/test_ibc_rly_gas.py b/integration_tests/test_ibc_rly_gas.py index b82d25f615..ce1f206895 100644 --- a/integration_tests/test_ibc_rly_gas.py +++ b/integration_tests/test_ibc_rly_gas.py @@ -7,7 +7,6 @@ ibc_transfer, log_gas_records, prepare_network, - rly_transfer, ) from .utils import wait_for_new_blocks @@ -19,7 +18,7 @@ def ibc(request, tmp_path_factory): "prepare-network" name = request.param path = tmp_path_factory.mktemp(name) - yield from prepare_network(path, name, relayer=cluster.Relayer.RLY.value) + yield from prepare_network(path, name, relayer=cluster.Relayer.HERMES.value) records = [] @@ -29,7 +28,7 @@ def test_ibc(ibc): # chainmain-1 relayer -> cronos_777-1 signer2 cli = ibc.cronos.cosmos_cli() wait_for_new_blocks(cli, 1) - ibc_transfer(ibc, rly_transfer) + ibc_transfer(ibc) ibc_incentivized_transfer(ibc) ibc_multi_transfer(ibc) diff = 0.1 diff --git a/nix/sources.json b/nix/sources.json index fa3559f409..4d02d2cc91 100644 --- a/nix/sources.json +++ b/nix/sources.json @@ -126,10 +126,10 @@ "homepage": "https://github.com/crypto-org-chain/relayer", "owner": "crypto-org-chain", "repo": "relayer", - "rev": "a7139118e7204a80e5c277a84a91be2bb8884147", - "sha256": "sha256:1ps8lyh3v0zbwb6dilrn009iwkyck73p17mc0a75w806f1wsxzmn", + "rev": "fe5722292a9961e80818e3ef5c987330b538bc05", + "sha256": "0jv4pkrqhckbabxxxbr0bcil0fakbnc7sf22k2wa5q6v6921ci0y", "type": "tarball", - "url": "https://github.com/mmsqe/relayer/archive/a7139118e7204a80e5c277a84a91be2bb8884147.tar.gz", + "url": "https://github.com/crypto-org-chain/relayer/archive/fe5722292a9961e80818e3ef5c987330b538bc05.tar.gz", "url_template": "https://github.com///archive/.tar.gz" } } diff --git a/x/cronos/events/bindings/cosmos/precompile/relayer/i_relayer_functions.abigen.go b/x/cronos/events/bindings/cosmos/precompile/relayer/i_relayer_functions.abigen.go index 58c4a4a75c..eb1cd85583 100644 --- a/x/cronos/events/bindings/cosmos/precompile/relayer/i_relayer_functions.abigen.go +++ b/x/cronos/events/bindings/cosmos/precompile/relayer/i_relayer_functions.abigen.go @@ -31,7 +31,7 @@ var ( // RelayerFunctionsMetaData contains all meta data concerning the RelayerFunctions contract. var RelayerFunctionsMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"acknowledgement\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelCloseConfirm\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelCloseInit\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelOpenAck\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelOpenConfirm\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelOpenInit\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelOpenTry\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"connectionOpenAck\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"connectionOpenConfirm\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"connectionOpenInit\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"connectionOpenTry\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"createClient\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"recvPacket\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"submitMisbehaviour\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"timeout\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"timeoutOnClose\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"updateClient\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeClient\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}]", + ABI: "[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"acknowledgement\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelCloseConfirm\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelCloseInit\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelOpenAck\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelOpenConfirm\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelOpenInit\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"channelOpenTry\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"connectionOpenAck\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"connectionOpenConfirm\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"connectionOpenInit\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"connectionOpenTry\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"createClient\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"recvPacket\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"submitMisbehaviour\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"timeout\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"timeoutOnClose\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"updateClient\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndAcknowledgement\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndChannelCloseConfirm\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndChannelCloseInit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndChannelOpenAck\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndChannelOpenConfirm\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndChannelOpenInit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndChannelOpenTry\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndConnectionOpenAck\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndConnectionOpenConfirm\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndConnectionOpenInit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndConnectionOpenTry\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndRecvPacket\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data1\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data2\",\"type\":\"bytes\"}],\"name\":\"updateClientAndTimeout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeClient\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}]", } // RelayerFunctionsABI is the input ABI used to generate the binding from. @@ -180,380 +180,653 @@ func (_RelayerFunctions *RelayerFunctionsTransactorRaw) Transact(opts *bind.Tran return _RelayerFunctions.Contract.contract.Transact(opts, method, params...) } -// Acknowledgement is a paid mutator transaction binding the contract method 0x2dd03820. +// Acknowledgement is a paid mutator transaction binding the contract method 0x07ed2b37. // -// Solidity: function acknowledgement(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) Acknowledgement(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "acknowledgement", signer, data) +// Solidity: function acknowledgement(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) Acknowledgement(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "acknowledgement", data) } -// Acknowledgement is a paid mutator transaction binding the contract method 0x2dd03820. +// Acknowledgement is a paid mutator transaction binding the contract method 0x07ed2b37. // -// Solidity: function acknowledgement(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) Acknowledgement(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.Acknowledgement(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function acknowledgement(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) Acknowledgement(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.Acknowledgement(&_RelayerFunctions.TransactOpts, data) } -// Acknowledgement is a paid mutator transaction binding the contract method 0x2dd03820. +// Acknowledgement is a paid mutator transaction binding the contract method 0x07ed2b37. // -// Solidity: function acknowledgement(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) Acknowledgement(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.Acknowledgement(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function acknowledgement(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) Acknowledgement(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.Acknowledgement(&_RelayerFunctions.TransactOpts, data) } -// ChannelCloseConfirm is a paid mutator transaction binding the contract method 0xafde3b9c. +// ChannelCloseConfirm is a paid mutator transaction binding the contract method 0xc9741674. // -// Solidity: function channelCloseConfirm(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelCloseConfirm(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "channelCloseConfirm", signer, data) +// Solidity: function channelCloseConfirm(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelCloseConfirm(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "channelCloseConfirm", data) } -// ChannelCloseConfirm is a paid mutator transaction binding the contract method 0xafde3b9c. +// ChannelCloseConfirm is a paid mutator transaction binding the contract method 0xc9741674. // -// Solidity: function channelCloseConfirm(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) ChannelCloseConfirm(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelCloseConfirm(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function channelCloseConfirm(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) ChannelCloseConfirm(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelCloseConfirm(&_RelayerFunctions.TransactOpts, data) } -// ChannelCloseConfirm is a paid mutator transaction binding the contract method 0xafde3b9c. +// ChannelCloseConfirm is a paid mutator transaction binding the contract method 0xc9741674. // -// Solidity: function channelCloseConfirm(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelCloseConfirm(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelCloseConfirm(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function channelCloseConfirm(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelCloseConfirm(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelCloseConfirm(&_RelayerFunctions.TransactOpts, data) } -// ChannelCloseInit is a paid mutator transaction binding the contract method 0x5108b479. +// ChannelCloseInit is a paid mutator transaction binding the contract method 0x44ba8a17. // -// Solidity: function channelCloseInit(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelCloseInit(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "channelCloseInit", signer, data) +// Solidity: function channelCloseInit(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelCloseInit(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "channelCloseInit", data) } -// ChannelCloseInit is a paid mutator transaction binding the contract method 0x5108b479. +// ChannelCloseInit is a paid mutator transaction binding the contract method 0x44ba8a17. // -// Solidity: function channelCloseInit(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) ChannelCloseInit(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelCloseInit(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function channelCloseInit(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) ChannelCloseInit(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelCloseInit(&_RelayerFunctions.TransactOpts, data) } -// ChannelCloseInit is a paid mutator transaction binding the contract method 0x5108b479. +// ChannelCloseInit is a paid mutator transaction binding the contract method 0x44ba8a17. // -// Solidity: function channelCloseInit(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelCloseInit(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelCloseInit(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function channelCloseInit(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelCloseInit(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelCloseInit(&_RelayerFunctions.TransactOpts, data) } -// ChannelOpenAck is a paid mutator transaction binding the contract method 0xe66d0380. +// ChannelOpenAck is a paid mutator transaction binding the contract method 0xd859b9f4. // -// Solidity: function channelOpenAck(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelOpenAck(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "channelOpenAck", signer, data) +// Solidity: function channelOpenAck(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelOpenAck(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "channelOpenAck", data) } -// ChannelOpenAck is a paid mutator transaction binding the contract method 0xe66d0380. +// ChannelOpenAck is a paid mutator transaction binding the contract method 0xd859b9f4. // -// Solidity: function channelOpenAck(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) ChannelOpenAck(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelOpenAck(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function channelOpenAck(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) ChannelOpenAck(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelOpenAck(&_RelayerFunctions.TransactOpts, data) } -// ChannelOpenAck is a paid mutator transaction binding the contract method 0xe66d0380. +// ChannelOpenAck is a paid mutator transaction binding the contract method 0xd859b9f4. // -// Solidity: function channelOpenAck(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelOpenAck(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelOpenAck(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function channelOpenAck(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelOpenAck(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelOpenAck(&_RelayerFunctions.TransactOpts, data) } -// ChannelOpenConfirm is a paid mutator transaction binding the contract method 0xc20e1316. +// ChannelOpenConfirm is a paid mutator transaction binding the contract method 0x5e1fad7d. // -// Solidity: function channelOpenConfirm(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelOpenConfirm(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "channelOpenConfirm", signer, data) +// Solidity: function channelOpenConfirm(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelOpenConfirm(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "channelOpenConfirm", data) } -// ChannelOpenConfirm is a paid mutator transaction binding the contract method 0xc20e1316. +// ChannelOpenConfirm is a paid mutator transaction binding the contract method 0x5e1fad7d. // -// Solidity: function channelOpenConfirm(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) ChannelOpenConfirm(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelOpenConfirm(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function channelOpenConfirm(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) ChannelOpenConfirm(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelOpenConfirm(&_RelayerFunctions.TransactOpts, data) } -// ChannelOpenConfirm is a paid mutator transaction binding the contract method 0xc20e1316. +// ChannelOpenConfirm is a paid mutator transaction binding the contract method 0x5e1fad7d. // -// Solidity: function channelOpenConfirm(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelOpenConfirm(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelOpenConfirm(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function channelOpenConfirm(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelOpenConfirm(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelOpenConfirm(&_RelayerFunctions.TransactOpts, data) } -// ChannelOpenInit is a paid mutator transaction binding the contract method 0x835e72b3. +// ChannelOpenInit is a paid mutator transaction binding the contract method 0x63d2dc06. // -// Solidity: function channelOpenInit(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelOpenInit(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "channelOpenInit", signer, data) +// Solidity: function channelOpenInit(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelOpenInit(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "channelOpenInit", data) } -// ChannelOpenInit is a paid mutator transaction binding the contract method 0x835e72b3. +// ChannelOpenInit is a paid mutator transaction binding the contract method 0x63d2dc06. // -// Solidity: function channelOpenInit(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) ChannelOpenInit(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelOpenInit(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function channelOpenInit(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) ChannelOpenInit(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelOpenInit(&_RelayerFunctions.TransactOpts, data) } -// ChannelOpenInit is a paid mutator transaction binding the contract method 0x835e72b3. +// ChannelOpenInit is a paid mutator transaction binding the contract method 0x63d2dc06. // -// Solidity: function channelOpenInit(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelOpenInit(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelOpenInit(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function channelOpenInit(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelOpenInit(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelOpenInit(&_RelayerFunctions.TransactOpts, data) } -// ChannelOpenTry is a paid mutator transaction binding the contract method 0x0e5745cf. +// ChannelOpenTry is a paid mutator transaction binding the contract method 0xf45b605e. // -// Solidity: function channelOpenTry(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelOpenTry(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "channelOpenTry", signer, data) +// Solidity: function channelOpenTry(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) ChannelOpenTry(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "channelOpenTry", data) } -// ChannelOpenTry is a paid mutator transaction binding the contract method 0x0e5745cf. +// ChannelOpenTry is a paid mutator transaction binding the contract method 0xf45b605e. // -// Solidity: function channelOpenTry(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) ChannelOpenTry(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelOpenTry(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function channelOpenTry(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) ChannelOpenTry(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelOpenTry(&_RelayerFunctions.TransactOpts, data) } -// ChannelOpenTry is a paid mutator transaction binding the contract method 0x0e5745cf. +// ChannelOpenTry is a paid mutator transaction binding the contract method 0xf45b605e. // -// Solidity: function channelOpenTry(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelOpenTry(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ChannelOpenTry(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function channelOpenTry(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) ChannelOpenTry(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ChannelOpenTry(&_RelayerFunctions.TransactOpts, data) } -// ConnectionOpenAck is a paid mutator transaction binding the contract method 0x027868e8. +// ConnectionOpenAck is a paid mutator transaction binding the contract method 0xe9984826. // -// Solidity: function connectionOpenAck(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) ConnectionOpenAck(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "connectionOpenAck", signer, data) +// Solidity: function connectionOpenAck(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) ConnectionOpenAck(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "connectionOpenAck", data) } -// ConnectionOpenAck is a paid mutator transaction binding the contract method 0x027868e8. +// ConnectionOpenAck is a paid mutator transaction binding the contract method 0xe9984826. // -// Solidity: function connectionOpenAck(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) ConnectionOpenAck(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ConnectionOpenAck(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function connectionOpenAck(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) ConnectionOpenAck(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ConnectionOpenAck(&_RelayerFunctions.TransactOpts, data) } -// ConnectionOpenAck is a paid mutator transaction binding the contract method 0x027868e8. +// ConnectionOpenAck is a paid mutator transaction binding the contract method 0xe9984826. // -// Solidity: function connectionOpenAck(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) ConnectionOpenAck(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ConnectionOpenAck(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function connectionOpenAck(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) ConnectionOpenAck(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ConnectionOpenAck(&_RelayerFunctions.TransactOpts, data) } -// ConnectionOpenConfirm is a paid mutator transaction binding the contract method 0xcd281189. +// ConnectionOpenConfirm is a paid mutator transaction binding the contract method 0xb710bcf2. // -// Solidity: function connectionOpenConfirm(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) ConnectionOpenConfirm(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "connectionOpenConfirm", signer, data) +// Solidity: function connectionOpenConfirm(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) ConnectionOpenConfirm(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "connectionOpenConfirm", data) } -// ConnectionOpenConfirm is a paid mutator transaction binding the contract method 0xcd281189. +// ConnectionOpenConfirm is a paid mutator transaction binding the contract method 0xb710bcf2. // -// Solidity: function connectionOpenConfirm(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) ConnectionOpenConfirm(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ConnectionOpenConfirm(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function connectionOpenConfirm(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) ConnectionOpenConfirm(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ConnectionOpenConfirm(&_RelayerFunctions.TransactOpts, data) } -// ConnectionOpenConfirm is a paid mutator transaction binding the contract method 0xcd281189. +// ConnectionOpenConfirm is a paid mutator transaction binding the contract method 0xb710bcf2. // -// Solidity: function connectionOpenConfirm(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) ConnectionOpenConfirm(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ConnectionOpenConfirm(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function connectionOpenConfirm(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) ConnectionOpenConfirm(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ConnectionOpenConfirm(&_RelayerFunctions.TransactOpts, data) } -// ConnectionOpenInit is a paid mutator transaction binding the contract method 0x07fc7843. +// ConnectionOpenInit is a paid mutator transaction binding the contract method 0x528e6644. // -// Solidity: function connectionOpenInit(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) ConnectionOpenInit(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "connectionOpenInit", signer, data) +// Solidity: function connectionOpenInit(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) ConnectionOpenInit(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "connectionOpenInit", data) } -// ConnectionOpenInit is a paid mutator transaction binding the contract method 0x07fc7843. +// ConnectionOpenInit is a paid mutator transaction binding the contract method 0x528e6644. // -// Solidity: function connectionOpenInit(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) ConnectionOpenInit(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ConnectionOpenInit(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function connectionOpenInit(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) ConnectionOpenInit(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ConnectionOpenInit(&_RelayerFunctions.TransactOpts, data) } -// ConnectionOpenInit is a paid mutator transaction binding the contract method 0x07fc7843. +// ConnectionOpenInit is a paid mutator transaction binding the contract method 0x528e6644. // -// Solidity: function connectionOpenInit(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) ConnectionOpenInit(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ConnectionOpenInit(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function connectionOpenInit(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) ConnectionOpenInit(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ConnectionOpenInit(&_RelayerFunctions.TransactOpts, data) } -// ConnectionOpenTry is a paid mutator transaction binding the contract method 0xb4f69b9e. +// ConnectionOpenTry is a paid mutator transaction binding the contract method 0x986fa270. // -// Solidity: function connectionOpenTry(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) ConnectionOpenTry(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "connectionOpenTry", signer, data) +// Solidity: function connectionOpenTry(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) ConnectionOpenTry(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "connectionOpenTry", data) } -// ConnectionOpenTry is a paid mutator transaction binding the contract method 0xb4f69b9e. +// ConnectionOpenTry is a paid mutator transaction binding the contract method 0x986fa270. // -// Solidity: function connectionOpenTry(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) ConnectionOpenTry(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ConnectionOpenTry(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function connectionOpenTry(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) ConnectionOpenTry(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ConnectionOpenTry(&_RelayerFunctions.TransactOpts, data) } -// ConnectionOpenTry is a paid mutator transaction binding the contract method 0xb4f69b9e. +// ConnectionOpenTry is a paid mutator transaction binding the contract method 0x986fa270. // -// Solidity: function connectionOpenTry(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) ConnectionOpenTry(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.ConnectionOpenTry(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function connectionOpenTry(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) ConnectionOpenTry(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.ConnectionOpenTry(&_RelayerFunctions.TransactOpts, data) } -// CreateClient is a paid mutator transaction binding the contract method 0xbbcd46fd. +// CreateClient is a paid mutator transaction binding the contract method 0x3df83afa. // -// Solidity: function createClient(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) CreateClient(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "createClient", signer, data) +// Solidity: function createClient(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) CreateClient(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "createClient", data) } -// CreateClient is a paid mutator transaction binding the contract method 0xbbcd46fd. +// CreateClient is a paid mutator transaction binding the contract method 0x3df83afa. // -// Solidity: function createClient(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) CreateClient(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.CreateClient(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function createClient(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) CreateClient(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.CreateClient(&_RelayerFunctions.TransactOpts, data) } -// CreateClient is a paid mutator transaction binding the contract method 0xbbcd46fd. +// CreateClient is a paid mutator transaction binding the contract method 0x3df83afa. // -// Solidity: function createClient(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) CreateClient(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.CreateClient(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function createClient(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) CreateClient(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.CreateClient(&_RelayerFunctions.TransactOpts, data) } -// RecvPacket is a paid mutator transaction binding the contract method 0x8faf3716. +// RecvPacket is a paid mutator transaction binding the contract method 0xf6a1539d. // -// Solidity: function recvPacket(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) RecvPacket(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "recvPacket", signer, data) +// Solidity: function recvPacket(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) RecvPacket(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "recvPacket", data) } -// RecvPacket is a paid mutator transaction binding the contract method 0x8faf3716. +// RecvPacket is a paid mutator transaction binding the contract method 0xf6a1539d. // -// Solidity: function recvPacket(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) RecvPacket(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.RecvPacket(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function recvPacket(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) RecvPacket(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.RecvPacket(&_RelayerFunctions.TransactOpts, data) } -// RecvPacket is a paid mutator transaction binding the contract method 0x8faf3716. +// RecvPacket is a paid mutator transaction binding the contract method 0xf6a1539d. // -// Solidity: function recvPacket(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) RecvPacket(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.RecvPacket(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function recvPacket(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) RecvPacket(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.RecvPacket(&_RelayerFunctions.TransactOpts, data) } -// SubmitMisbehaviour is a paid mutator transaction binding the contract method 0xd4461718. +// SubmitMisbehaviour is a paid mutator transaction binding the contract method 0xa53b1c82. // -// Solidity: function submitMisbehaviour(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) SubmitMisbehaviour(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "submitMisbehaviour", signer, data) +// Solidity: function submitMisbehaviour(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) SubmitMisbehaviour(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "submitMisbehaviour", data) } -// SubmitMisbehaviour is a paid mutator transaction binding the contract method 0xd4461718. +// SubmitMisbehaviour is a paid mutator transaction binding the contract method 0xa53b1c82. // -// Solidity: function submitMisbehaviour(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) SubmitMisbehaviour(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.SubmitMisbehaviour(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function submitMisbehaviour(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) SubmitMisbehaviour(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.SubmitMisbehaviour(&_RelayerFunctions.TransactOpts, data) } -// SubmitMisbehaviour is a paid mutator transaction binding the contract method 0xd4461718. +// SubmitMisbehaviour is a paid mutator transaction binding the contract method 0xa53b1c82. // -// Solidity: function submitMisbehaviour(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) SubmitMisbehaviour(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.SubmitMisbehaviour(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function submitMisbehaviour(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) SubmitMisbehaviour(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.SubmitMisbehaviour(&_RelayerFunctions.TransactOpts, data) } -// Timeout is a paid mutator transaction binding the contract method 0x8ba86f29. +// Timeout is a paid mutator transaction binding the contract method 0x6d2a27f6. // -// Solidity: function timeout(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) Timeout(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "timeout", signer, data) +// Solidity: function timeout(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) Timeout(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "timeout", data) } -// Timeout is a paid mutator transaction binding the contract method 0x8ba86f29. +// Timeout is a paid mutator transaction binding the contract method 0x6d2a27f6. // -// Solidity: function timeout(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) Timeout(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.Timeout(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function timeout(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) Timeout(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.Timeout(&_RelayerFunctions.TransactOpts, data) } -// Timeout is a paid mutator transaction binding the contract method 0x8ba86f29. +// Timeout is a paid mutator transaction binding the contract method 0x6d2a27f6. // -// Solidity: function timeout(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) Timeout(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.Timeout(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function timeout(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) Timeout(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.Timeout(&_RelayerFunctions.TransactOpts, data) } -// TimeoutOnClose is a paid mutator transaction binding the contract method 0x0546845a. +// TimeoutOnClose is a paid mutator transaction binding the contract method 0x08f5d079. // -// Solidity: function timeoutOnClose(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) TimeoutOnClose(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "timeoutOnClose", signer, data) +// Solidity: function timeoutOnClose(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) TimeoutOnClose(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "timeoutOnClose", data) } -// TimeoutOnClose is a paid mutator transaction binding the contract method 0x0546845a. +// TimeoutOnClose is a paid mutator transaction binding the contract method 0x08f5d079. // -// Solidity: function timeoutOnClose(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) TimeoutOnClose(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.TimeoutOnClose(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function timeoutOnClose(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) TimeoutOnClose(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.TimeoutOnClose(&_RelayerFunctions.TransactOpts, data) } -// TimeoutOnClose is a paid mutator transaction binding the contract method 0x0546845a. +// TimeoutOnClose is a paid mutator transaction binding the contract method 0x08f5d079. // -// Solidity: function timeoutOnClose(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) TimeoutOnClose(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.TimeoutOnClose(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function timeoutOnClose(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) TimeoutOnClose(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.TimeoutOnClose(&_RelayerFunctions.TransactOpts, data) } -// UpdateClient is a paid mutator transaction binding the contract method 0x8b6789fd. +// UpdateClient is a paid mutator transaction binding the contract method 0x0bece356. // -// Solidity: function updateClient(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClient(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "updateClient", signer, data) +// Solidity: function updateClient(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClient(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "updateClient", data) } -// UpdateClient is a paid mutator transaction binding the contract method 0x8b6789fd. +// UpdateClient is a paid mutator transaction binding the contract method 0x0bece356. // -// Solidity: function updateClient(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) UpdateClient(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClient(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function updateClient(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) UpdateClient(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClient(&_RelayerFunctions.TransactOpts, data) } -// UpdateClient is a paid mutator transaction binding the contract method 0x8b6789fd. +// UpdateClient is a paid mutator transaction binding the contract method 0x0bece356. // -// Solidity: function updateClient(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClient(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpdateClient(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function updateClient(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClient(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClient(&_RelayerFunctions.TransactOpts, data) } -// UpgradeClient is a paid mutator transaction binding the contract method 0x81909f7c. +// UpdateClientAndAcknowledgement is a paid mutator transaction binding the contract method 0x65a939c6. // -// Solidity: function upgradeClient(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactor) UpgradeClient(opts *bind.TransactOpts, signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.contract.Transact(opts, "upgradeClient", signer, data) +// Solidity: function updateClientAndAcknowledgement(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndAcknowledgement(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "updateClientAndAcknowledgement", data1, data2) } -// UpgradeClient is a paid mutator transaction binding the contract method 0x81909f7c. +// UpdateClientAndAcknowledgement is a paid mutator transaction binding the contract method 0x65a939c6. // -// Solidity: function upgradeClient(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsSession) UpgradeClient(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpgradeClient(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function updateClientAndAcknowledgement(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndAcknowledgement(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndAcknowledgement(&_RelayerFunctions.TransactOpts, data1, data2) } -// UpgradeClient is a paid mutator transaction binding the contract method 0x81909f7c. +// UpdateClientAndAcknowledgement is a paid mutator transaction binding the contract method 0x65a939c6. // -// Solidity: function upgradeClient(address signer, bytes data) payable returns(bytes) -func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpgradeClient(signer common.Address, data []byte) (*types.Transaction, error) { - return _RelayerFunctions.Contract.UpgradeClient(&_RelayerFunctions.TransactOpts, signer, data) +// Solidity: function updateClientAndAcknowledgement(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndAcknowledgement(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndAcknowledgement(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndChannelCloseConfirm is a paid mutator transaction binding the contract method 0x9bbcbfd2. +// +// Solidity: function updateClientAndChannelCloseConfirm(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndChannelCloseConfirm(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "updateClientAndChannelCloseConfirm", data1, data2) +} + +// UpdateClientAndChannelCloseConfirm is a paid mutator transaction binding the contract method 0x9bbcbfd2. +// +// Solidity: function updateClientAndChannelCloseConfirm(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndChannelCloseConfirm(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndChannelCloseConfirm(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndChannelCloseConfirm is a paid mutator transaction binding the contract method 0x9bbcbfd2. +// +// Solidity: function updateClientAndChannelCloseConfirm(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndChannelCloseConfirm(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndChannelCloseConfirm(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndChannelCloseInit is a paid mutator transaction binding the contract method 0x5447448d. +// +// Solidity: function updateClientAndChannelCloseInit(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndChannelCloseInit(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "updateClientAndChannelCloseInit", data1, data2) +} + +// UpdateClientAndChannelCloseInit is a paid mutator transaction binding the contract method 0x5447448d. +// +// Solidity: function updateClientAndChannelCloseInit(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndChannelCloseInit(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndChannelCloseInit(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndChannelCloseInit is a paid mutator transaction binding the contract method 0x5447448d. +// +// Solidity: function updateClientAndChannelCloseInit(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndChannelCloseInit(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndChannelCloseInit(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndChannelOpenAck is a paid mutator transaction binding the contract method 0xc518ffc8. +// +// Solidity: function updateClientAndChannelOpenAck(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndChannelOpenAck(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "updateClientAndChannelOpenAck", data1, data2) +} + +// UpdateClientAndChannelOpenAck is a paid mutator transaction binding the contract method 0xc518ffc8. +// +// Solidity: function updateClientAndChannelOpenAck(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndChannelOpenAck(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndChannelOpenAck(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndChannelOpenAck is a paid mutator transaction binding the contract method 0xc518ffc8. +// +// Solidity: function updateClientAndChannelOpenAck(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndChannelOpenAck(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndChannelOpenAck(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndChannelOpenConfirm is a paid mutator transaction binding the contract method 0x0982b806. +// +// Solidity: function updateClientAndChannelOpenConfirm(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndChannelOpenConfirm(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "updateClientAndChannelOpenConfirm", data1, data2) +} + +// UpdateClientAndChannelOpenConfirm is a paid mutator transaction binding the contract method 0x0982b806. +// +// Solidity: function updateClientAndChannelOpenConfirm(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndChannelOpenConfirm(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndChannelOpenConfirm(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndChannelOpenConfirm is a paid mutator transaction binding the contract method 0x0982b806. +// +// Solidity: function updateClientAndChannelOpenConfirm(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndChannelOpenConfirm(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndChannelOpenConfirm(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndChannelOpenInit is a paid mutator transaction binding the contract method 0x66365fc4. +// +// Solidity: function updateClientAndChannelOpenInit(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndChannelOpenInit(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "updateClientAndChannelOpenInit", data1, data2) +} + +// UpdateClientAndChannelOpenInit is a paid mutator transaction binding the contract method 0x66365fc4. +// +// Solidity: function updateClientAndChannelOpenInit(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndChannelOpenInit(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndChannelOpenInit(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndChannelOpenInit is a paid mutator transaction binding the contract method 0x66365fc4. +// +// Solidity: function updateClientAndChannelOpenInit(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndChannelOpenInit(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndChannelOpenInit(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndChannelOpenTry is a paid mutator transaction binding the contract method 0x33978088. +// +// Solidity: function updateClientAndChannelOpenTry(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndChannelOpenTry(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "updateClientAndChannelOpenTry", data1, data2) +} + +// UpdateClientAndChannelOpenTry is a paid mutator transaction binding the contract method 0x33978088. +// +// Solidity: function updateClientAndChannelOpenTry(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndChannelOpenTry(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndChannelOpenTry(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndChannelOpenTry is a paid mutator transaction binding the contract method 0x33978088. +// +// Solidity: function updateClientAndChannelOpenTry(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndChannelOpenTry(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndChannelOpenTry(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndConnectionOpenAck is a paid mutator transaction binding the contract method 0xfedb9353. +// +// Solidity: function updateClientAndConnectionOpenAck(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndConnectionOpenAck(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "updateClientAndConnectionOpenAck", data1, data2) +} + +// UpdateClientAndConnectionOpenAck is a paid mutator transaction binding the contract method 0xfedb9353. +// +// Solidity: function updateClientAndConnectionOpenAck(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndConnectionOpenAck(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndConnectionOpenAck(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndConnectionOpenAck is a paid mutator transaction binding the contract method 0xfedb9353. +// +// Solidity: function updateClientAndConnectionOpenAck(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndConnectionOpenAck(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndConnectionOpenAck(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndConnectionOpenConfirm is a paid mutator transaction binding the contract method 0x70009dfc. +// +// Solidity: function updateClientAndConnectionOpenConfirm(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndConnectionOpenConfirm(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "updateClientAndConnectionOpenConfirm", data1, data2) +} + +// UpdateClientAndConnectionOpenConfirm is a paid mutator transaction binding the contract method 0x70009dfc. +// +// Solidity: function updateClientAndConnectionOpenConfirm(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndConnectionOpenConfirm(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndConnectionOpenConfirm(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndConnectionOpenConfirm is a paid mutator transaction binding the contract method 0x70009dfc. +// +// Solidity: function updateClientAndConnectionOpenConfirm(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndConnectionOpenConfirm(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndConnectionOpenConfirm(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndConnectionOpenInit is a paid mutator transaction binding the contract method 0x491e69c7. +// +// Solidity: function updateClientAndConnectionOpenInit(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndConnectionOpenInit(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "updateClientAndConnectionOpenInit", data1, data2) +} + +// UpdateClientAndConnectionOpenInit is a paid mutator transaction binding the contract method 0x491e69c7. +// +// Solidity: function updateClientAndConnectionOpenInit(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndConnectionOpenInit(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndConnectionOpenInit(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndConnectionOpenInit is a paid mutator transaction binding the contract method 0x491e69c7. +// +// Solidity: function updateClientAndConnectionOpenInit(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndConnectionOpenInit(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndConnectionOpenInit(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndConnectionOpenTry is a paid mutator transaction binding the contract method 0x5f3a7169. +// +// Solidity: function updateClientAndConnectionOpenTry(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndConnectionOpenTry(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "updateClientAndConnectionOpenTry", data1, data2) +} + +// UpdateClientAndConnectionOpenTry is a paid mutator transaction binding the contract method 0x5f3a7169. +// +// Solidity: function updateClientAndConnectionOpenTry(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndConnectionOpenTry(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndConnectionOpenTry(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndConnectionOpenTry is a paid mutator transaction binding the contract method 0x5f3a7169. +// +// Solidity: function updateClientAndConnectionOpenTry(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndConnectionOpenTry(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndConnectionOpenTry(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndRecvPacket is a paid mutator transaction binding the contract method 0xd3cffc28. +// +// Solidity: function updateClientAndRecvPacket(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndRecvPacket(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "updateClientAndRecvPacket", data1, data2) +} + +// UpdateClientAndRecvPacket is a paid mutator transaction binding the contract method 0xd3cffc28. +// +// Solidity: function updateClientAndRecvPacket(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndRecvPacket(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndRecvPacket(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndRecvPacket is a paid mutator transaction binding the contract method 0xd3cffc28. +// +// Solidity: function updateClientAndRecvPacket(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndRecvPacket(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndRecvPacket(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndTimeout is a paid mutator transaction binding the contract method 0xca4c72a0. +// +// Solidity: function updateClientAndTimeout(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactor) UpdateClientAndTimeout(opts *bind.TransactOpts, data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "updateClientAndTimeout", data1, data2) +} + +// UpdateClientAndTimeout is a paid mutator transaction binding the contract method 0xca4c72a0. +// +// Solidity: function updateClientAndTimeout(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsSession) UpdateClientAndTimeout(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndTimeout(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpdateClientAndTimeout is a paid mutator transaction binding the contract method 0xca4c72a0. +// +// Solidity: function updateClientAndTimeout(bytes data1, bytes data2) payable returns(bool) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpdateClientAndTimeout(data1 []byte, data2 []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpdateClientAndTimeout(&_RelayerFunctions.TransactOpts, data1, data2) +} + +// UpgradeClient is a paid mutator transaction binding the contract method 0x8a8e4c5d. +// +// Solidity: function upgradeClient(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactor) UpgradeClient(opts *bind.TransactOpts, data []byte) (*types.Transaction, error) { + return _RelayerFunctions.contract.Transact(opts, "upgradeClient", data) +} + +// UpgradeClient is a paid mutator transaction binding the contract method 0x8a8e4c5d. +// +// Solidity: function upgradeClient(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsSession) UpgradeClient(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpgradeClient(&_RelayerFunctions.TransactOpts, data) +} + +// UpgradeClient is a paid mutator transaction binding the contract method 0x8a8e4c5d. +// +// Solidity: function upgradeClient(bytes data) payable returns(bytes) +func (_RelayerFunctions *RelayerFunctionsTransactorSession) UpgradeClient(data []byte) (*types.Transaction, error) { + return _RelayerFunctions.Contract.UpgradeClient(&_RelayerFunctions.TransactOpts, data) } diff --git a/x/cronos/events/bindings/src/RelayerFunctions.sol b/x/cronos/events/bindings/src/RelayerFunctions.sol index 9edace63c2..f580fe5ccb 100644 --- a/x/cronos/events/bindings/src/RelayerFunctions.sol +++ b/x/cronos/events/bindings/src/RelayerFunctions.sol @@ -2,22 +2,35 @@ pragma solidity ^0.8.4; interface IRelayerFunctions { - function createClient(address signer, bytes calldata data) external payable returns (bytes calldata); - function updateClient(address signer, bytes calldata data) external payable returns (bytes calldata); - function upgradeClient(address signer, bytes calldata data) external payable returns (bytes calldata); - function submitMisbehaviour(address signer, bytes calldata data) external payable returns (bytes calldata); - function connectionOpenInit(address signer, bytes calldata data) external payable returns (bytes calldata); - function connectionOpenTry(address signer, bytes calldata data) external payable returns (bytes calldata); - function connectionOpenAck(address signer, bytes calldata data) external payable returns (bytes calldata); - function connectionOpenConfirm(address signer, bytes calldata data) external payable returns (bytes calldata); - function channelOpenInit(address signer, bytes calldata data) external payable returns (bytes calldata); - function channelOpenTry(address signer, bytes calldata data) external payable returns (bytes calldata); - function channelOpenAck(address signer, bytes calldata data) external payable returns (bytes calldata); - function channelOpenConfirm(address signer, bytes calldata data) external payable returns (bytes calldata); - function channelCloseInit(address signer, bytes calldata data) external payable returns (bytes calldata); - function channelCloseConfirm(address signer, bytes calldata data) external payable returns (bytes calldata); - function recvPacket(address signer, bytes calldata data) external payable returns (bytes calldata); - function acknowledgement(address signer, bytes calldata data) external payable returns (bytes calldata); - function timeout(address signer, bytes calldata data) external payable returns (bytes calldata); - function timeoutOnClose(address signer, bytes calldata data) external payable returns (bytes calldata); + function createClient(bytes calldata data) external payable returns (bytes calldata); + function updateClient(bytes calldata data) external payable returns (bytes calldata); + function upgradeClient(bytes calldata data) external payable returns (bytes calldata); + function submitMisbehaviour(bytes calldata data) external payable returns (bytes calldata); + function connectionOpenInit(bytes calldata data) external payable returns (bytes calldata); + function connectionOpenTry(bytes calldata data) external payable returns (bytes calldata); + function connectionOpenAck(bytes calldata data) external payable returns (bytes calldata); + function connectionOpenConfirm(bytes calldata data) external payable returns (bytes calldata); + function channelOpenInit(bytes calldata data) external payable returns (bytes calldata); + function channelOpenTry(bytes calldata data) external payable returns (bytes calldata); + function channelOpenAck(bytes calldata data) external payable returns (bytes calldata); + function channelOpenConfirm(bytes calldata data) external payable returns (bytes calldata); + function channelCloseInit(bytes calldata data) external payable returns (bytes calldata); + function channelCloseConfirm(bytes calldata data) external payable returns (bytes calldata); + function recvPacket(bytes calldata data) external payable returns (bytes calldata); + function acknowledgement(bytes calldata data) external payable returns (bytes calldata); + function timeout(bytes calldata data) external payable returns (bytes calldata); + function timeoutOnClose(bytes calldata data) external payable returns (bytes calldata); + function updateClientAndConnectionOpenInit(bytes calldata data1, bytes calldata data2) external payable returns (bool); + function updateClientAndConnectionOpenTry(bytes calldata data1, bytes calldata data2) external payable returns (bool); + function updateClientAndConnectionOpenAck(bytes calldata data1, bytes calldata data2) external payable returns (bool); + function updateClientAndConnectionOpenConfirm(bytes calldata data1, bytes calldata data2) external payable returns (bool); + function updateClientAndChannelOpenInit(bytes calldata data1, bytes calldata data2) external payable returns (bool); + function updateClientAndChannelOpenTry(bytes calldata data1, bytes calldata data2) external payable returns (bool); + function updateClientAndChannelOpenAck(bytes calldata data1, bytes calldata data2) external payable returns (bool); + function updateClientAndChannelOpenConfirm(bytes calldata data1, bytes calldata data2) external payable returns (bool); + function updateClientAndRecvPacket(bytes calldata data1, bytes calldata data2) external payable returns (bool); + function updateClientAndAcknowledgement(bytes calldata data1, bytes calldata data2) external payable returns (bool); + function updateClientAndTimeout(bytes calldata data1, bytes calldata data2) external payable returns (bool); + function updateClientAndChannelCloseInit(bytes calldata data1, bytes calldata data2) external payable returns (bool); + function updateClientAndChannelCloseConfirm(bytes calldata data1, bytes calldata data2) external payable returns (bool); } diff --git a/x/cronos/keeper/precompiles/relayer.go b/x/cronos/keeper/precompiles/relayer.go index b0e1909d83..95c96771e4 100644 --- a/x/cronos/keeper/precompiles/relayer.go +++ b/x/cronos/keeper/precompiles/relayer.go @@ -7,14 +7,15 @@ import ( "cosmossdk.io/log" "github.com/cosmos/cosmos-sdk/codec" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/ethereum/go-ethereum/accounts/abi" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core" "github.com/ethereum/go-ethereum/core/vm" "github.com/ethereum/go-ethereum/params" + errorsmod "cosmossdk.io/errors" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + ibcfeetypes "github.com/cosmos/ibc-go/v8/modules/apps/29-fee/types" ibctransfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" channeltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types" cronosevents "github.com/crypto-org-chain/cronos/v2/x/cronos/events" @@ -143,7 +144,7 @@ func (bc *RelayerContract) RequiredGas(input []byte) (gas uint64) { if err != nil { panic(err) } - i := args[1].([]byte) + i := args[0].([]byte) var msg channeltypes.MsgRecvPacket if err = bc.cdc.Unmarshal(i, &msg); err != nil { panic(err) @@ -192,8 +193,7 @@ func (bc *RelayerContract) Run(evm *vm.EVM, contract *vm.Contract, readonly bool if err != nil { return nil, errors.New("fail to unpack input arguments") } - signer := args[0].(common.Address) - input := args[1].([]byte) + input := args[0].([]byte) converter := cronosevents.RelayerConvertEvent e := &Executor{ cdc: bc.cdc, @@ -234,14 +234,15 @@ func (bc *RelayerContract) Run(evm *vm.EVM, contract *vm.Contract, readonly bool res, err = exec(e, bc.ibcKeeper.RecvPacket) case Acknowledgement: res, err = exec(e, func(goCtx context.Context, msg *channeltypes.MsgAcknowledgement) (*channeltypes.MsgAcknowledgementResponse, error) { - msg.Signer = sdk.AccAddress(signer.Bytes()).String() + var ack ibcfeetypes.IncentivizedAcknowledgement + if err := ibcfeetypes.ModuleCdc.UnmarshalJSON(msg.Acknowledgement, &ack); err != nil { + return nil, errorsmod.Wrapf(err, "cannot unmarshal ICS-29 incentivized packet acknowledgement: %v", ack) + } + msg.Signer = ack.ForwardRelayerAddress return bc.ibcKeeper.Acknowledgement(goCtx, msg) }) case Timeout: - res, err = exec(e, func(goCtx context.Context, msg *channeltypes.MsgTimeout) (*channeltypes.MsgTimeoutResponse, error) { - msg.Signer = sdk.AccAddress(signer.Bytes()).String() - return bc.ibcKeeper.Timeout(goCtx, msg) - }) + res, err = exec(e, bc.ibcKeeper.Timeout) case TimeoutOnClose: res, err = exec(e, bc.ibcKeeper.TimeoutOnClose) default: From 01f34ddbb27ee55f552702cc7cc92fb1a6bfb474 Mon Sep 17 00:00:00 2001 From: mmsqe Date: Fri, 25 Oct 2024 11:01:56 +0800 Subject: [PATCH 6/7] set back origin signer --- x/cronos/keeper/precompiles/relayer.go | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/x/cronos/keeper/precompiles/relayer.go b/x/cronos/keeper/precompiles/relayer.go index 95c96771e4..a16c90df71 100644 --- a/x/cronos/keeper/precompiles/relayer.go +++ b/x/cronos/keeper/precompiles/relayer.go @@ -7,15 +7,14 @@ import ( "cosmossdk.io/log" "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/ethereum/go-ethereum/accounts/abi" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core" "github.com/ethereum/go-ethereum/core/vm" "github.com/ethereum/go-ethereum/params" - errorsmod "cosmossdk.io/errors" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - ibcfeetypes "github.com/cosmos/ibc-go/v8/modules/apps/29-fee/types" ibctransfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types" channeltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types" cronosevents "github.com/crypto-org-chain/cronos/v2/x/cronos/events" @@ -186,7 +185,6 @@ func (bc *RelayerContract) Run(evm *vm.EVM, contract *vm.Contract, readonly bool return nil, err } stateDB := evm.StateDB.(ExtStateDB) - var res []byte precompileAddr := bc.Address() args, err := method.Inputs.Unpack(contract.Input[4:]) @@ -234,15 +232,14 @@ func (bc *RelayerContract) Run(evm *vm.EVM, contract *vm.Contract, readonly bool res, err = exec(e, bc.ibcKeeper.RecvPacket) case Acknowledgement: res, err = exec(e, func(goCtx context.Context, msg *channeltypes.MsgAcknowledgement) (*channeltypes.MsgAcknowledgementResponse, error) { - var ack ibcfeetypes.IncentivizedAcknowledgement - if err := ibcfeetypes.ModuleCdc.UnmarshalJSON(msg.Acknowledgement, &ack); err != nil { - return nil, errorsmod.Wrapf(err, "cannot unmarshal ICS-29 incentivized packet acknowledgement: %v", ack) - } - msg.Signer = ack.ForwardRelayerAddress + msg.Signer = sdk.AccAddress(evm.TxContext.Origin.Bytes()).String() return bc.ibcKeeper.Acknowledgement(goCtx, msg) }) case Timeout: - res, err = exec(e, bc.ibcKeeper.Timeout) + res, err = exec(e, func(goCtx context.Context, msg *channeltypes.MsgTimeout) (*channeltypes.MsgTimeoutResponse, error) { + msg.Signer = sdk.AccAddress(evm.TxContext.Origin.Bytes()).String() + return bc.ibcKeeper.Timeout(goCtx, msg) + }) case TimeoutOnClose: res, err = exec(e, bc.ibcKeeper.TimeoutOnClose) default: From 864174c9749b11a3146323e9629507cb30a1fcd1 Mon Sep 17 00:00:00 2001 From: mmsqe Date: Fri, 25 Oct 2024 11:04:15 +0800 Subject: [PATCH 7/7] cleanup --- integration_tests/ibc_utils.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/integration_tests/ibc_utils.py b/integration_tests/ibc_utils.py index f8daa58dae..bd88269006 100644 --- a/integration_tests/ibc_utils.py +++ b/integration_tests/ibc_utils.py @@ -218,22 +218,15 @@ def prepare_network( def register_fee_payee(src_chain, dst_chain): - port_id = "transfer" - channel_id = "channel-0" rsp = dst_chain.register_counterparty_payee( - port_id, - channel_id, + "transfer", + "channel-0", dst_chain.address("relayer"), src_chain.address("signer1"), from_="relayer", fees="100000000basecro", ) assert rsp["code"] == 0, rsp["raw_log"] - # relayer = src_chain.address("signer1") - # relayer_caller = eth_to_bech32(RELAYER_CALLER) - # rsp = src_chain.register_payee( - # port_id, channel_id, relayer_caller, relayer, _from=relayer_caller - # ) def assert_ready(ibc):