From a1dfd06d8f21d71c2cc4517350cf53c1fb2338ea Mon Sep 17 00:00:00 2001 From: lumtis Date: Thu, 30 Jan 2025 17:02:05 +0100 Subject: [PATCH 1/7] use v2 inbound --- pkg/contracts/ton/gateway_msg.go | 10 +--- zetaclient/chains/ton/observer/inbound.go | 64 +++++++++++++++-------- 2 files changed, 43 insertions(+), 31 deletions(-) diff --git a/pkg/contracts/ton/gateway_msg.go b/pkg/contracts/ton/gateway_msg.go index 3a4716e0b4..c389be54c2 100644 --- a/pkg/contracts/ton/gateway_msg.go +++ b/pkg/contracts/ton/gateway_msg.go @@ -59,7 +59,7 @@ type Deposit struct { // Memo casts deposit to memo bytes func (d Deposit) Memo() []byte { - return d.Recipient.Bytes() + return []byte{} } // AsBody casts struct as internal message body. @@ -77,13 +77,7 @@ type DepositAndCall struct { // Memo casts deposit to call to memo bytes func (d DepositAndCall) Memo() []byte { - recipient := d.Recipient.Bytes() - out := make([]byte, 0, len(recipient)+len(d.CallData)) - - out = append(out, recipient...) - out = append(out, d.CallData...) - - return out + return d.CallData } // AsBody casts struct to internal message body. diff --git a/zetaclient/chains/ton/observer/inbound.go b/zetaclient/chains/ton/observer/inbound.go index 375fe0325f..ac71d9fc3f 100644 --- a/zetaclient/chains/ton/observer/inbound.go +++ b/zetaclient/chains/ton/observer/inbound.go @@ -177,6 +177,15 @@ func (ob *Observer) ObserveInboundTrackers(ctx context.Context) error { return nil } +// inboundData represents extract data from a TON inbound deposit +type inboundData struct { + sender string + amount math.Uint + receiver string + message []byte + isContractCall bool +} + // Sends PostVoteInbound to zetacore func (ob *Observer) voteInbound(ctx context.Context, tx *toncontracts.Transaction) (string, error) { // noop @@ -193,44 +202,52 @@ func (ob *Observer) voteInbound(ctx context.Context, tx *toncontracts.Transactio return "", errors.Wrapf(err, "unable to get block header %s", tx.BlockID.String()) } - sender, amount, memo, err := extractInboundData(tx) + inboundData, err := extractInboundData(tx) if err != nil { return "", err } seqno := blockHeader.MinRefMcSeqno - return ob.voteDeposit(ctx, tx, sender, amount, memo, seqno) + return ob.voteDeposit(ctx, tx, inboundData, seqno) } // extractInboundData parses Gateway tx into deposit (TON sender, amount, memo) -func extractInboundData(tx *toncontracts.Transaction) (string, math.Uint, []byte, error) { +func extractInboundData(tx *toncontracts.Transaction) (inboundData, error) { switch tx.Operation { case toncontracts.OpDeposit: d, err := tx.Deposit() if err != nil { - return "", math.NewUint(0), nil, err + return inboundData{}, err } - - return d.Sender.ToRaw(), d.Amount, d.Memo(), nil + return inboundData{ + sender: d.Sender.ToRaw(), + amount: d.Amount, + receiver: d.Recipient.Hex(), + message: d.Memo(), + isContractCall: false, + }, nil case toncontracts.OpDepositAndCall: d, err := tx.DepositAndCall() if err != nil { - return "", math.NewUint(0), nil, err + return inboundData{}, err } - - return d.Sender.ToRaw(), d.Amount, d.Memo(), nil + return inboundData{ + sender: d.Sender.ToRaw(), + amount: d.Amount, + receiver: d.Recipient.Hex(), + message: d.Memo(), + isContractCall: true, + }, nil default: - return "", math.NewUint(0), nil, fmt.Errorf("unknown operation %d", tx.Operation) + return inboundData{}, fmt.Errorf("unknown operation %d", tx.Operation) } } func (ob *Observer) voteDeposit( ctx context.Context, tx *toncontracts.Transaction, - sender string, - amount math.Uint, - memo []byte, + inboundData inboundData, seqno uint32, ) (string, error) { const ( @@ -246,25 +263,26 @@ func (ob *Observer) voteDeposit( inboundHash = liteapi.TransactionHashToString(tx.Lt, ton.Bits256(tx.Hash())) ) - // TODO: use protocol contract v2 for deposit - // https://github.com/zeta-chain/node/issues/2967 - - msg := zetacore.GetInboundVoteMessage( - sender, + // create the inbound message + msg := types.NewMsgVoteInbound( + operatorAddress.String(), + inboundData.sender, ob.Chain().ChainId, - sender, - sender, + inboundData.sender, + inboundData.receiver, ob.ZetacoreClient().Chain().ChainId, - amount, - hex.EncodeToString(memo), + inboundData.amount, + hex.EncodeToString(inboundData.message), inboundHash, uint64(seqno), gasLimit, coinType, asset, - operatorAddress.String(), eventIndex, + types.ProtocolContractVersion_V2, + false, // not used types.InboundStatus_SUCCESS, + types.WithCrossChainCall(inboundData.isContractCall), ) return ob.PostVoteInbound(ctx, msg, retryGasLimit) From 0cab631cc0b13e9ab592a25e88cbda8268a24f37 Mon Sep 17 00:00:00 2001 From: lumtis Date: Thu, 30 Jan 2025 17:04:17 +0100 Subject: [PATCH 2/7] update example contrat --- testutil/contracts/Dapp.bin | 2 +- testutil/contracts/Dapp.go | 7 +++-- testutil/contracts/Dapp.json | 2 +- testutil/contracts/DappReverter.bin | 2 +- testutil/contracts/DappReverter.go | 7 +++-- testutil/contracts/DappReverter.json | 2 +- testutil/contracts/Depositor.bin | 2 +- testutil/contracts/Depositor.go | 7 +++-- testutil/contracts/Depositor.json | 2 +- testutil/contracts/Example.abi | 45 ++++++++++++++++++++++++++ testutil/contracts/Example.bin | 2 +- testutil/contracts/Example.go | 25 +++++++++++++-- testutil/contracts/Example.json | 47 +++++++++++++++++++++++++++- testutil/contracts/Example.sol | 9 ++++++ testutil/contracts/Reverter.bin | 2 +- testutil/contracts/Reverter.go | 7 +++-- testutil/contracts/Reverter.json | 2 +- testutil/contracts/Withdrawer.bin | 2 +- testutil/contracts/Withdrawer.go | 7 +++-- testutil/contracts/Withdrawer.json | 2 +- 20 files changed, 154 insertions(+), 29 deletions(-) diff --git a/testutil/contracts/Dapp.bin b/testutil/contracts/Dapp.bin index 52bfd6c0ac..0f1b9da0e4 100644 --- a/testutil/contracts/Dapp.bin +++ b/testutil/contracts/Dapp.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b50604051806020016040528060008152506000908161002f91906102fe565b5060006001819055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600381905550600060048190555060405180602001604052806000815250600590816100a891906102fe565b506103d0565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061012f57607f821691505b602082108103610142576101416100e8565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026101aa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261016d565b6101b4868361016d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006101fb6101f66101f1846101cc565b6101d6565b6101cc565b9050919050565b6000819050919050565b610215836101e0565b61022961022182610202565b84845461017a565b825550505050565b600090565b61023e610231565b61024981848461020c565b505050565b5b8181101561026d57610262600082610236565b60018101905061024f565b5050565b601f8211156102b25761028381610148565b61028c8461015d565b8101602085101561029b578190505b6102af6102a78561015d565b83018261024e565b50505b505050565b600082821c905092915050565b60006102d5600019846008026102b7565b1980831691505092915050565b60006102ee83836102c4565b9150826002028217905092915050565b610307826100ae565b67ffffffffffffffff8111156103205761031f6100b9565b5b61032a8254610117565b610335828285610271565b600060209050601f8311600181146103685760008415610356578287015190505b61036085826102e2565b8655506103c8565b601f19841661037686610148565b60005b8281101561039e57848901518255600182019150602085019450602081019050610379565b868310156103bb57848901516103b7601f8916826102c4565b8355505b6001600288020188555050505b505050505050565b610c2c806103df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063b07506111161005b578063b075061114610101578063ca3254691461011f578063e21f37ce1461013d578063ed6b866b1461015b57610088565b8063050337a21461008d5780631544298e146100ab5780633749c51a146100c95780633ff0693c146100e5575b600080fd5b610095610179565b6040516100a29190610480565b60405180910390f35b6100b361017f565b6040516100c09190610480565b60405180910390f35b6100e360048036038101906100de91906104c9565b610185565b005b6100ff60048036038101906100fa9190610531565b610231565b005b61010961031f565b6040516101169190610480565b60405180910390f35b610127610325565b60405161013491906105bb565b60405180910390f35b61014561034b565b6040516101529190610666565b60405180910390f35b6101636103d9565b6040516101709190610666565b60405180910390f35b60045481565b60015481565b8080600001906101959190610697565b600091826101a4929190610940565b5080602001356001819055508060400160208101906101c39190610a3c565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806060013560048190555080806080019061021e9190610697565b6005918261022d929190610940565b5050565b8060000160208101906102449190610a3c565b6040516020016102549190610ab1565b604051602081830303815290604052600090816102719190610acc565b50806020013560018190555080806040019061028d9190610697565b60405161029b929190610bdd565b604051809103902060001c600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080606001356003819055508060800135600481905550808060a0019061030c9190610697565b6005918261031b929190610940565b5050565b60035481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6005805461035890610763565b80601f016020809104026020016040519081016040528092919081815260200182805461038490610763565b80156103d15780601f106103a6576101008083540402835291602001916103d1565b820191906000526020600020905b8154815290600101906020018083116103b457829003601f168201915b505050505081565b600080546103e690610763565b80601f016020809104026020016040519081016040528092919081815260200182805461041290610763565b801561045f5780601f106104345761010080835404028352916020019161045f565b820191906000526020600020905b81548152906001019060200180831161044257829003601f168201915b505050505081565b6000819050919050565b61047a81610467565b82525050565b60006020820190506104956000830184610471565b92915050565b600080fd5b600080fd5b600080fd5b600060a082840312156104c0576104bf6104a5565b5b81905092915050565b6000602082840312156104df576104de61049b565b5b600082013567ffffffffffffffff8111156104fd576104fc6104a0565b5b610509848285016104aa565b91505092915050565b600060c08284031215610528576105276104a5565b5b81905092915050565b6000602082840312156105475761054661049b565b5b600082013567ffffffffffffffff811115610565576105646104a0565b5b61057184828501610512565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105a58261057a565b9050919050565b6105b58161059a565b82525050565b60006020820190506105d060008301846105ac565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156106105780820151818401526020810190506105f5565b60008484015250505050565b6000601f19601f8301169050919050565b6000610638826105d6565b61064281856105e1565b93506106528185602086016105f2565b61065b8161061c565b840191505092915050565b60006020820190508181036000830152610680818461062d565b905092915050565b600080fd5b600080fd5b600080fd5b600080833560016020038436030381126106b4576106b3610688565b5b80840192508235915067ffffffffffffffff8211156106d6576106d561068d565b5b6020830192506001820236038313156106f2576106f1610692565b5b509250929050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061077b57607f821691505b60208210810361078e5761078d610734565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026107f67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826107b9565b61080086836107b9565b95508019841693508086168417925050509392505050565b6000819050919050565b600061083d61083861083384610467565b610818565b610467565b9050919050565b6000819050919050565b61085783610822565b61086b61086382610844565b8484546107c6565b825550505050565b600090565b610880610873565b61088b81848461084e565b505050565b5b818110156108af576108a4600082610878565b600181019050610891565b5050565b601f8211156108f4576108c581610794565b6108ce846107a9565b810160208510156108dd578190505b6108f16108e9856107a9565b830182610890565b50505b505050565b600082821c905092915050565b6000610917600019846008026108f9565b1980831691505092915050565b60006109308383610906565b9150826002028217905092915050565b61094a83836106fa565b67ffffffffffffffff81111561096357610962610705565b5b61096d8254610763565b6109788282856108b3565b6000601f8311600181146109a75760008415610995578287013590505b61099f8582610924565b865550610a07565b601f1984166109b586610794565b60005b828110156109dd578489013582556001820191506020850194506020810190506109b8565b868310156109fa57848901356109f6601f891682610906565b8355505b6001600288020188555050505b50505050505050565b610a198161059a565b8114610a2457600080fd5b50565b600081359050610a3681610a10565b92915050565b600060208284031215610a5257610a5161049b565b5b6000610a6084828501610a27565b91505092915050565b60008160601b9050919050565b6000610a8182610a69565b9050919050565b6000610a9382610a76565b9050919050565b610aab610aa68261059a565b610a88565b82525050565b6000610abd8284610a9a565b60148201915081905092915050565b610ad5826105d6565b67ffffffffffffffff811115610aee57610aed610705565b5b610af88254610763565b610b038282856108b3565b600060209050601f831160018114610b365760008415610b24578287015190505b610b2e8582610924565b865550610b96565b601f198416610b4486610794565b60005b82811015610b6c57848901518255600182019150602085019450602081019050610b47565b86831015610b895784890151610b85601f891682610906565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b82818337600083830152505050565b6000610bc48385610b9e565b9350610bd1838584610ba9565b82840190509392505050565b6000610bea828486610bb8565b9150819050939250505056fea26469706673582212207c5ed9b805f7e22d563799330b1c6e310dd5b1625dc35c9598846e17a8a5686664736f6c63430008190033 +608060405234801561001057600080fd5b50604051806020016040528060008152506000908161002f91906102fe565b5060006001819055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600381905550600060048190555060405180602001604052806000815250600590816100a891906102fe565b506103d0565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061012f57607f821691505b602082108103610142576101416100e8565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026101aa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261016d565b6101b4868361016d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006101fb6101f66101f1846101cc565b6101d6565b6101cc565b9050919050565b6000819050919050565b610215836101e0565b61022961022182610202565b84845461017a565b825550505050565b600090565b61023e610231565b61024981848461020c565b505050565b5b8181101561026d57610262600082610236565b60018101905061024f565b5050565b601f8211156102b25761028381610148565b61028c8461015d565b8101602085101561029b578190505b6102af6102a78561015d565b83018261024e565b50505b505050565b600082821c905092915050565b60006102d5600019846008026102b7565b1980831691505092915050565b60006102ee83836102c4565b9150826002028217905092915050565b610307826100ae565b67ffffffffffffffff8111156103205761031f6100b9565b5b61032a8254610117565b610335828285610271565b600060209050601f8311600181146103685760008415610356578287015190505b61036085826102e2565b8655506103c8565b601f19841661037686610148565b60005b8281101561039e57848901518255600182019150602085019450602081019050610379565b868310156103bb57848901516103b7601f8916826102c4565b8355505b6001600288020188555050505b505050505050565b610c2c806103df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063b07506111161005b578063b075061114610101578063ca3254691461011f578063e21f37ce1461013d578063ed6b866b1461015b57610088565b8063050337a21461008d5780631544298e146100ab5780633749c51a146100c95780633ff0693c146100e5575b600080fd5b610095610179565b6040516100a29190610480565b60405180910390f35b6100b361017f565b6040516100c09190610480565b60405180910390f35b6100e360048036038101906100de91906104c9565b610185565b005b6100ff60048036038101906100fa9190610531565b610231565b005b61010961031f565b6040516101169190610480565b60405180910390f35b610127610325565b60405161013491906105bb565b60405180910390f35b61014561034b565b6040516101529190610666565b60405180910390f35b6101636103d9565b6040516101709190610666565b60405180910390f35b60045481565b60015481565b8080600001906101959190610697565b600091826101a4929190610940565b5080602001356001819055508060400160208101906101c39190610a3c565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806060013560048190555080806080019061021e9190610697565b6005918261022d929190610940565b5050565b8060000160208101906102449190610a3c565b6040516020016102549190610ab1565b604051602081830303815290604052600090816102719190610acc565b50806020013560018190555080806040019061028d9190610697565b60405161029b929190610bdd565b604051809103902060001c600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080606001356003819055508060800135600481905550808060a0019061030c9190610697565b6005918261031b929190610940565b5050565b60035481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6005805461035890610763565b80601f016020809104026020016040519081016040528092919081815260200182805461038490610763565b80156103d15780601f106103a6576101008083540402835291602001916103d1565b820191906000526020600020905b8154815290600101906020018083116103b457829003601f168201915b505050505081565b600080546103e690610763565b80601f016020809104026020016040519081016040528092919081815260200182805461041290610763565b801561045f5780601f106104345761010080835404028352916020019161045f565b820191906000526020600020905b81548152906001019060200180831161044257829003601f168201915b505050505081565b6000819050919050565b61047a81610467565b82525050565b60006020820190506104956000830184610471565b92915050565b600080fd5b600080fd5b600080fd5b600060a082840312156104c0576104bf6104a5565b5b81905092915050565b6000602082840312156104df576104de61049b565b5b600082013567ffffffffffffffff8111156104fd576104fc6104a0565b5b610509848285016104aa565b91505092915050565b600060c08284031215610528576105276104a5565b5b81905092915050565b6000602082840312156105475761054661049b565b5b600082013567ffffffffffffffff811115610565576105646104a0565b5b61057184828501610512565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105a58261057a565b9050919050565b6105b58161059a565b82525050565b60006020820190506105d060008301846105ac565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156106105780820151818401526020810190506105f5565b60008484015250505050565b6000601f19601f8301169050919050565b6000610638826105d6565b61064281856105e1565b93506106528185602086016105f2565b61065b8161061c565b840191505092915050565b60006020820190508181036000830152610680818461062d565b905092915050565b600080fd5b600080fd5b600080fd5b600080833560016020038436030381126106b4576106b3610688565b5b80840192508235915067ffffffffffffffff8211156106d6576106d561068d565b5b6020830192506001820236038313156106f2576106f1610692565b5b509250929050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061077b57607f821691505b60208210810361078e5761078d610734565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026107f67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826107b9565b61080086836107b9565b95508019841693508086168417925050509392505050565b6000819050919050565b600061083d61083861083384610467565b610818565b610467565b9050919050565b6000819050919050565b61085783610822565b61086b61086382610844565b8484546107c6565b825550505050565b600090565b610880610873565b61088b81848461084e565b505050565b5b818110156108af576108a4600082610878565b600181019050610891565b5050565b601f8211156108f4576108c581610794565b6108ce846107a9565b810160208510156108dd578190505b6108f16108e9856107a9565b830182610890565b50505b505050565b600082821c905092915050565b6000610917600019846008026108f9565b1980831691505092915050565b60006109308383610906565b9150826002028217905092915050565b61094a83836106fa565b67ffffffffffffffff81111561096357610962610705565b5b61096d8254610763565b6109788282856108b3565b6000601f8311600181146109a75760008415610995578287013590505b61099f8582610924565b865550610a07565b601f1984166109b586610794565b60005b828110156109dd578489013582556001820191506020850194506020810190506109b8565b868310156109fa57848901356109f6601f891682610906565b8355505b6001600288020188555050505b50505050505050565b610a198161059a565b8114610a2457600080fd5b50565b600081359050610a3681610a10565b92915050565b600060208284031215610a5257610a5161049b565b5b6000610a6084828501610a27565b91505092915050565b60008160601b9050919050565b6000610a8182610a69565b9050919050565b6000610a9382610a76565b9050919050565b610aab610aa68261059a565b610a88565b82525050565b6000610abd8284610a9a565b60148201915081905092915050565b610ad5826105d6565b67ffffffffffffffff811115610aee57610aed610705565b5b610af88254610763565b610b038282856108b3565b600060209050601f831160018114610b365760008415610b24578287015190505b610b2e8582610924565b865550610b96565b601f198416610b4486610794565b60005b82811015610b6c57848901518255600182019150602085019450602081019050610b47565b86831015610b895784890151610b85601f891682610906565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b82818337600083830152505050565b6000610bc48385610b9e565b9350610bd1838584610ba9565b82840190509392505050565b6000610bea828486610bb8565b9150819050939250505056fea2646970667358221220b5c3d474ece2d04357014c6153b994833ac21400c3f28ff64e448685f91008ff64736f6c634300081a0033 diff --git a/testutil/contracts/Dapp.go b/testutil/contracts/Dapp.go index 075e1d24dc..cfd07f12e4 100644 --- a/testutil/contracts/Dapp.go +++ b/testutil/contracts/Dapp.go @@ -26,6 +26,7 @@ var ( _ = common.Big1 _ = types.BloomLookup _ = event.NewSubscription + _ = abi.ConvertType ) // ZetaInterfacesZetaMessage is an auto generated low-level Go binding around an user-defined struct. @@ -50,7 +51,7 @@ type ZetaInterfacesZetaRevert struct { // DappMetaData contains all meta data concerning the Dapp contract. var DappMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"destinationAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"destinationChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"message\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"zetaTxSenderAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"sourceChainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"destinationAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"zetaValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"internalType\":\"structZetaInterfaces.ZetaMessage\",\"name\":\"zetaMessage\",\"type\":\"tuple\"}],\"name\":\"onZetaMessage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"zetaTxSenderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sourceChainId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"destinationAddress\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"destinationChainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"remainingZetaValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"internalType\":\"structZetaInterfaces.ZetaRevert\",\"name\":\"zetaRevert\",\"type\":\"tuple\"}],\"name\":\"onZetaRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sourceChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zetaTxSenderAddress\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zetaValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", - Bin: "0x608060405234801561001057600080fd5b50604051806020016040528060008152506000908161002f91906102fe565b5060006001819055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600381905550600060048190555060405180602001604052806000815250600590816100a891906102fe565b506103d0565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061012f57607f821691505b602082108103610142576101416100e8565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026101aa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261016d565b6101b4868361016d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006101fb6101f66101f1846101cc565b6101d6565b6101cc565b9050919050565b6000819050919050565b610215836101e0565b61022961022182610202565b84845461017a565b825550505050565b600090565b61023e610231565b61024981848461020c565b505050565b5b8181101561026d57610262600082610236565b60018101905061024f565b5050565b601f8211156102b25761028381610148565b61028c8461015d565b8101602085101561029b578190505b6102af6102a78561015d565b83018261024e565b50505b505050565b600082821c905092915050565b60006102d5600019846008026102b7565b1980831691505092915050565b60006102ee83836102c4565b9150826002028217905092915050565b610307826100ae565b67ffffffffffffffff8111156103205761031f6100b9565b5b61032a8254610117565b610335828285610271565b600060209050601f8311600181146103685760008415610356578287015190505b61036085826102e2565b8655506103c8565b601f19841661037686610148565b60005b8281101561039e57848901518255600182019150602085019450602081019050610379565b868310156103bb57848901516103b7601f8916826102c4565b8355505b6001600288020188555050505b505050505050565b610c2c806103df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063b07506111161005b578063b075061114610101578063ca3254691461011f578063e21f37ce1461013d578063ed6b866b1461015b57610088565b8063050337a21461008d5780631544298e146100ab5780633749c51a146100c95780633ff0693c146100e5575b600080fd5b610095610179565b6040516100a29190610480565b60405180910390f35b6100b361017f565b6040516100c09190610480565b60405180910390f35b6100e360048036038101906100de91906104c9565b610185565b005b6100ff60048036038101906100fa9190610531565b610231565b005b61010961031f565b6040516101169190610480565b60405180910390f35b610127610325565b60405161013491906105bb565b60405180910390f35b61014561034b565b6040516101529190610666565b60405180910390f35b6101636103d9565b6040516101709190610666565b60405180910390f35b60045481565b60015481565b8080600001906101959190610697565b600091826101a4929190610940565b5080602001356001819055508060400160208101906101c39190610a3c565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806060013560048190555080806080019061021e9190610697565b6005918261022d929190610940565b5050565b8060000160208101906102449190610a3c565b6040516020016102549190610ab1565b604051602081830303815290604052600090816102719190610acc565b50806020013560018190555080806040019061028d9190610697565b60405161029b929190610bdd565b604051809103902060001c600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080606001356003819055508060800135600481905550808060a0019061030c9190610697565b6005918261031b929190610940565b5050565b60035481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6005805461035890610763565b80601f016020809104026020016040519081016040528092919081815260200182805461038490610763565b80156103d15780601f106103a6576101008083540402835291602001916103d1565b820191906000526020600020905b8154815290600101906020018083116103b457829003601f168201915b505050505081565b600080546103e690610763565b80601f016020809104026020016040519081016040528092919081815260200182805461041290610763565b801561045f5780601f106104345761010080835404028352916020019161045f565b820191906000526020600020905b81548152906001019060200180831161044257829003601f168201915b505050505081565b6000819050919050565b61047a81610467565b82525050565b60006020820190506104956000830184610471565b92915050565b600080fd5b600080fd5b600080fd5b600060a082840312156104c0576104bf6104a5565b5b81905092915050565b6000602082840312156104df576104de61049b565b5b600082013567ffffffffffffffff8111156104fd576104fc6104a0565b5b610509848285016104aa565b91505092915050565b600060c08284031215610528576105276104a5565b5b81905092915050565b6000602082840312156105475761054661049b565b5b600082013567ffffffffffffffff811115610565576105646104a0565b5b61057184828501610512565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105a58261057a565b9050919050565b6105b58161059a565b82525050565b60006020820190506105d060008301846105ac565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156106105780820151818401526020810190506105f5565b60008484015250505050565b6000601f19601f8301169050919050565b6000610638826105d6565b61064281856105e1565b93506106528185602086016105f2565b61065b8161061c565b840191505092915050565b60006020820190508181036000830152610680818461062d565b905092915050565b600080fd5b600080fd5b600080fd5b600080833560016020038436030381126106b4576106b3610688565b5b80840192508235915067ffffffffffffffff8211156106d6576106d561068d565b5b6020830192506001820236038313156106f2576106f1610692565b5b509250929050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061077b57607f821691505b60208210810361078e5761078d610734565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026107f67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826107b9565b61080086836107b9565b95508019841693508086168417925050509392505050565b6000819050919050565b600061083d61083861083384610467565b610818565b610467565b9050919050565b6000819050919050565b61085783610822565b61086b61086382610844565b8484546107c6565b825550505050565b600090565b610880610873565b61088b81848461084e565b505050565b5b818110156108af576108a4600082610878565b600181019050610891565b5050565b601f8211156108f4576108c581610794565b6108ce846107a9565b810160208510156108dd578190505b6108f16108e9856107a9565b830182610890565b50505b505050565b600082821c905092915050565b6000610917600019846008026108f9565b1980831691505092915050565b60006109308383610906565b9150826002028217905092915050565b61094a83836106fa565b67ffffffffffffffff81111561096357610962610705565b5b61096d8254610763565b6109788282856108b3565b6000601f8311600181146109a75760008415610995578287013590505b61099f8582610924565b865550610a07565b601f1984166109b586610794565b60005b828110156109dd578489013582556001820191506020850194506020810190506109b8565b868310156109fa57848901356109f6601f891682610906565b8355505b6001600288020188555050505b50505050505050565b610a198161059a565b8114610a2457600080fd5b50565b600081359050610a3681610a10565b92915050565b600060208284031215610a5257610a5161049b565b5b6000610a6084828501610a27565b91505092915050565b60008160601b9050919050565b6000610a8182610a69565b9050919050565b6000610a9382610a76565b9050919050565b610aab610aa68261059a565b610a88565b82525050565b6000610abd8284610a9a565b60148201915081905092915050565b610ad5826105d6565b67ffffffffffffffff811115610aee57610aed610705565b5b610af88254610763565b610b038282856108b3565b600060209050601f831160018114610b365760008415610b24578287015190505b610b2e8582610924565b865550610b96565b601f198416610b4486610794565b60005b82811015610b6c57848901518255600182019150602085019450602081019050610b47565b86831015610b895784890151610b85601f891682610906565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b82818337600083830152505050565b6000610bc48385610b9e565b9350610bd1838584610ba9565b82840190509392505050565b6000610bea828486610bb8565b9150819050939250505056fea26469706673582212207c5ed9b805f7e22d563799330b1c6e310dd5b1625dc35c9598846e17a8a5686664736f6c63430008190033", + Bin: "0x608060405234801561001057600080fd5b50604051806020016040528060008152506000908161002f91906102fe565b5060006001819055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600381905550600060048190555060405180602001604052806000815250600590816100a891906102fe565b506103d0565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061012f57607f821691505b602082108103610142576101416100e8565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026101aa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261016d565b6101b4868361016d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006101fb6101f66101f1846101cc565b6101d6565b6101cc565b9050919050565b6000819050919050565b610215836101e0565b61022961022182610202565b84845461017a565b825550505050565b600090565b61023e610231565b61024981848461020c565b505050565b5b8181101561026d57610262600082610236565b60018101905061024f565b5050565b601f8211156102b25761028381610148565b61028c8461015d565b8101602085101561029b578190505b6102af6102a78561015d565b83018261024e565b50505b505050565b600082821c905092915050565b60006102d5600019846008026102b7565b1980831691505092915050565b60006102ee83836102c4565b9150826002028217905092915050565b610307826100ae565b67ffffffffffffffff8111156103205761031f6100b9565b5b61032a8254610117565b610335828285610271565b600060209050601f8311600181146103685760008415610356578287015190505b61036085826102e2565b8655506103c8565b601f19841661037686610148565b60005b8281101561039e57848901518255600182019150602085019450602081019050610379565b868310156103bb57848901516103b7601f8916826102c4565b8355505b6001600288020188555050505b505050505050565b610c2c806103df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063b07506111161005b578063b075061114610101578063ca3254691461011f578063e21f37ce1461013d578063ed6b866b1461015b57610088565b8063050337a21461008d5780631544298e146100ab5780633749c51a146100c95780633ff0693c146100e5575b600080fd5b610095610179565b6040516100a29190610480565b60405180910390f35b6100b361017f565b6040516100c09190610480565b60405180910390f35b6100e360048036038101906100de91906104c9565b610185565b005b6100ff60048036038101906100fa9190610531565b610231565b005b61010961031f565b6040516101169190610480565b60405180910390f35b610127610325565b60405161013491906105bb565b60405180910390f35b61014561034b565b6040516101529190610666565b60405180910390f35b6101636103d9565b6040516101709190610666565b60405180910390f35b60045481565b60015481565b8080600001906101959190610697565b600091826101a4929190610940565b5080602001356001819055508060400160208101906101c39190610a3c565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806060013560048190555080806080019061021e9190610697565b6005918261022d929190610940565b5050565b8060000160208101906102449190610a3c565b6040516020016102549190610ab1565b604051602081830303815290604052600090816102719190610acc565b50806020013560018190555080806040019061028d9190610697565b60405161029b929190610bdd565b604051809103902060001c600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080606001356003819055508060800135600481905550808060a0019061030c9190610697565b6005918261031b929190610940565b5050565b60035481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6005805461035890610763565b80601f016020809104026020016040519081016040528092919081815260200182805461038490610763565b80156103d15780601f106103a6576101008083540402835291602001916103d1565b820191906000526020600020905b8154815290600101906020018083116103b457829003601f168201915b505050505081565b600080546103e690610763565b80601f016020809104026020016040519081016040528092919081815260200182805461041290610763565b801561045f5780601f106104345761010080835404028352916020019161045f565b820191906000526020600020905b81548152906001019060200180831161044257829003601f168201915b505050505081565b6000819050919050565b61047a81610467565b82525050565b60006020820190506104956000830184610471565b92915050565b600080fd5b600080fd5b600080fd5b600060a082840312156104c0576104bf6104a5565b5b81905092915050565b6000602082840312156104df576104de61049b565b5b600082013567ffffffffffffffff8111156104fd576104fc6104a0565b5b610509848285016104aa565b91505092915050565b600060c08284031215610528576105276104a5565b5b81905092915050565b6000602082840312156105475761054661049b565b5b600082013567ffffffffffffffff811115610565576105646104a0565b5b61057184828501610512565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105a58261057a565b9050919050565b6105b58161059a565b82525050565b60006020820190506105d060008301846105ac565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156106105780820151818401526020810190506105f5565b60008484015250505050565b6000601f19601f8301169050919050565b6000610638826105d6565b61064281856105e1565b93506106528185602086016105f2565b61065b8161061c565b840191505092915050565b60006020820190508181036000830152610680818461062d565b905092915050565b600080fd5b600080fd5b600080fd5b600080833560016020038436030381126106b4576106b3610688565b5b80840192508235915067ffffffffffffffff8211156106d6576106d561068d565b5b6020830192506001820236038313156106f2576106f1610692565b5b509250929050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061077b57607f821691505b60208210810361078e5761078d610734565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026107f67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826107b9565b61080086836107b9565b95508019841693508086168417925050509392505050565b6000819050919050565b600061083d61083861083384610467565b610818565b610467565b9050919050565b6000819050919050565b61085783610822565b61086b61086382610844565b8484546107c6565b825550505050565b600090565b610880610873565b61088b81848461084e565b505050565b5b818110156108af576108a4600082610878565b600181019050610891565b5050565b601f8211156108f4576108c581610794565b6108ce846107a9565b810160208510156108dd578190505b6108f16108e9856107a9565b830182610890565b50505b505050565b600082821c905092915050565b6000610917600019846008026108f9565b1980831691505092915050565b60006109308383610906565b9150826002028217905092915050565b61094a83836106fa565b67ffffffffffffffff81111561096357610962610705565b5b61096d8254610763565b6109788282856108b3565b6000601f8311600181146109a75760008415610995578287013590505b61099f8582610924565b865550610a07565b601f1984166109b586610794565b60005b828110156109dd578489013582556001820191506020850194506020810190506109b8565b868310156109fa57848901356109f6601f891682610906565b8355505b6001600288020188555050505b50505050505050565b610a198161059a565b8114610a2457600080fd5b50565b600081359050610a3681610a10565b92915050565b600060208284031215610a5257610a5161049b565b5b6000610a6084828501610a27565b91505092915050565b60008160601b9050919050565b6000610a8182610a69565b9050919050565b6000610a9382610a76565b9050919050565b610aab610aa68261059a565b610a88565b82525050565b6000610abd8284610a9a565b60148201915081905092915050565b610ad5826105d6565b67ffffffffffffffff811115610aee57610aed610705565b5b610af88254610763565b610b038282856108b3565b600060209050601f831160018114610b365760008415610b24578287015190505b610b2e8582610924565b865550610b96565b601f198416610b4486610794565b60005b82811015610b6c57848901518255600182019150602085019450602081019050610b47565b86831015610b895784890151610b85601f891682610906565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b82818337600083830152505050565b6000610bc48385610b9e565b9350610bd1838584610ba9565b82840190509392505050565b6000610bea828486610bb8565b9150819050939250505056fea2646970667358221220b5c3d474ece2d04357014c6153b994833ac21400c3f28ff64e448685f91008ff64736f6c634300081a0033", } // DappABI is the input ABI used to generate the binding from. @@ -175,11 +176,11 @@ func NewDappFilterer(address common.Address, filterer bind.ContractFilterer) (*D // bindDapp binds a generic wrapper to an already deployed contract. func bindDapp(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := abi.JSON(strings.NewReader(DappABI)) + parsed, err := DappMetaData.GetAbi() if err != nil { return nil, err } - return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil + return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and diff --git a/testutil/contracts/Dapp.json b/testutil/contracts/Dapp.json index b2bbb3a299..450c5e3850 100644 --- a/testutil/contracts/Dapp.json +++ b/testutil/contracts/Dapp.json @@ -169,5 +169,5 @@ "type": "function" } ], - "bin": "608060405234801561001057600080fd5b50604051806020016040528060008152506000908161002f91906102fe565b5060006001819055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600381905550600060048190555060405180602001604052806000815250600590816100a891906102fe565b506103d0565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061012f57607f821691505b602082108103610142576101416100e8565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026101aa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261016d565b6101b4868361016d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006101fb6101f66101f1846101cc565b6101d6565b6101cc565b9050919050565b6000819050919050565b610215836101e0565b61022961022182610202565b84845461017a565b825550505050565b600090565b61023e610231565b61024981848461020c565b505050565b5b8181101561026d57610262600082610236565b60018101905061024f565b5050565b601f8211156102b25761028381610148565b61028c8461015d565b8101602085101561029b578190505b6102af6102a78561015d565b83018261024e565b50505b505050565b600082821c905092915050565b60006102d5600019846008026102b7565b1980831691505092915050565b60006102ee83836102c4565b9150826002028217905092915050565b610307826100ae565b67ffffffffffffffff8111156103205761031f6100b9565b5b61032a8254610117565b610335828285610271565b600060209050601f8311600181146103685760008415610356578287015190505b61036085826102e2565b8655506103c8565b601f19841661037686610148565b60005b8281101561039e57848901518255600182019150602085019450602081019050610379565b868310156103bb57848901516103b7601f8916826102c4565b8355505b6001600288020188555050505b505050505050565b610c2c806103df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063b07506111161005b578063b075061114610101578063ca3254691461011f578063e21f37ce1461013d578063ed6b866b1461015b57610088565b8063050337a21461008d5780631544298e146100ab5780633749c51a146100c95780633ff0693c146100e5575b600080fd5b610095610179565b6040516100a29190610480565b60405180910390f35b6100b361017f565b6040516100c09190610480565b60405180910390f35b6100e360048036038101906100de91906104c9565b610185565b005b6100ff60048036038101906100fa9190610531565b610231565b005b61010961031f565b6040516101169190610480565b60405180910390f35b610127610325565b60405161013491906105bb565b60405180910390f35b61014561034b565b6040516101529190610666565b60405180910390f35b6101636103d9565b6040516101709190610666565b60405180910390f35b60045481565b60015481565b8080600001906101959190610697565b600091826101a4929190610940565b5080602001356001819055508060400160208101906101c39190610a3c565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806060013560048190555080806080019061021e9190610697565b6005918261022d929190610940565b5050565b8060000160208101906102449190610a3c565b6040516020016102549190610ab1565b604051602081830303815290604052600090816102719190610acc565b50806020013560018190555080806040019061028d9190610697565b60405161029b929190610bdd565b604051809103902060001c600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080606001356003819055508060800135600481905550808060a0019061030c9190610697565b6005918261031b929190610940565b5050565b60035481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6005805461035890610763565b80601f016020809104026020016040519081016040528092919081815260200182805461038490610763565b80156103d15780601f106103a6576101008083540402835291602001916103d1565b820191906000526020600020905b8154815290600101906020018083116103b457829003601f168201915b505050505081565b600080546103e690610763565b80601f016020809104026020016040519081016040528092919081815260200182805461041290610763565b801561045f5780601f106104345761010080835404028352916020019161045f565b820191906000526020600020905b81548152906001019060200180831161044257829003601f168201915b505050505081565b6000819050919050565b61047a81610467565b82525050565b60006020820190506104956000830184610471565b92915050565b600080fd5b600080fd5b600080fd5b600060a082840312156104c0576104bf6104a5565b5b81905092915050565b6000602082840312156104df576104de61049b565b5b600082013567ffffffffffffffff8111156104fd576104fc6104a0565b5b610509848285016104aa565b91505092915050565b600060c08284031215610528576105276104a5565b5b81905092915050565b6000602082840312156105475761054661049b565b5b600082013567ffffffffffffffff811115610565576105646104a0565b5b61057184828501610512565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105a58261057a565b9050919050565b6105b58161059a565b82525050565b60006020820190506105d060008301846105ac565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156106105780820151818401526020810190506105f5565b60008484015250505050565b6000601f19601f8301169050919050565b6000610638826105d6565b61064281856105e1565b93506106528185602086016105f2565b61065b8161061c565b840191505092915050565b60006020820190508181036000830152610680818461062d565b905092915050565b600080fd5b600080fd5b600080fd5b600080833560016020038436030381126106b4576106b3610688565b5b80840192508235915067ffffffffffffffff8211156106d6576106d561068d565b5b6020830192506001820236038313156106f2576106f1610692565b5b509250929050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061077b57607f821691505b60208210810361078e5761078d610734565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026107f67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826107b9565b61080086836107b9565b95508019841693508086168417925050509392505050565b6000819050919050565b600061083d61083861083384610467565b610818565b610467565b9050919050565b6000819050919050565b61085783610822565b61086b61086382610844565b8484546107c6565b825550505050565b600090565b610880610873565b61088b81848461084e565b505050565b5b818110156108af576108a4600082610878565b600181019050610891565b5050565b601f8211156108f4576108c581610794565b6108ce846107a9565b810160208510156108dd578190505b6108f16108e9856107a9565b830182610890565b50505b505050565b600082821c905092915050565b6000610917600019846008026108f9565b1980831691505092915050565b60006109308383610906565b9150826002028217905092915050565b61094a83836106fa565b67ffffffffffffffff81111561096357610962610705565b5b61096d8254610763565b6109788282856108b3565b6000601f8311600181146109a75760008415610995578287013590505b61099f8582610924565b865550610a07565b601f1984166109b586610794565b60005b828110156109dd578489013582556001820191506020850194506020810190506109b8565b868310156109fa57848901356109f6601f891682610906565b8355505b6001600288020188555050505b50505050505050565b610a198161059a565b8114610a2457600080fd5b50565b600081359050610a3681610a10565b92915050565b600060208284031215610a5257610a5161049b565b5b6000610a6084828501610a27565b91505092915050565b60008160601b9050919050565b6000610a8182610a69565b9050919050565b6000610a9382610a76565b9050919050565b610aab610aa68261059a565b610a88565b82525050565b6000610abd8284610a9a565b60148201915081905092915050565b610ad5826105d6565b67ffffffffffffffff811115610aee57610aed610705565b5b610af88254610763565b610b038282856108b3565b600060209050601f831160018114610b365760008415610b24578287015190505b610b2e8582610924565b865550610b96565b601f198416610b4486610794565b60005b82811015610b6c57848901518255600182019150602085019450602081019050610b47565b86831015610b895784890151610b85601f891682610906565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b82818337600083830152505050565b6000610bc48385610b9e565b9350610bd1838584610ba9565b82840190509392505050565b6000610bea828486610bb8565b9150819050939250505056fea26469706673582212207c5ed9b805f7e22d563799330b1c6e310dd5b1625dc35c9598846e17a8a5686664736f6c63430008190033" + "bin": "608060405234801561001057600080fd5b50604051806020016040528060008152506000908161002f91906102fe565b5060006001819055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600381905550600060048190555060405180602001604052806000815250600590816100a891906102fe565b506103d0565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061012f57607f821691505b602082108103610142576101416100e8565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026101aa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261016d565b6101b4868361016d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006101fb6101f66101f1846101cc565b6101d6565b6101cc565b9050919050565b6000819050919050565b610215836101e0565b61022961022182610202565b84845461017a565b825550505050565b600090565b61023e610231565b61024981848461020c565b505050565b5b8181101561026d57610262600082610236565b60018101905061024f565b5050565b601f8211156102b25761028381610148565b61028c8461015d565b8101602085101561029b578190505b6102af6102a78561015d565b83018261024e565b50505b505050565b600082821c905092915050565b60006102d5600019846008026102b7565b1980831691505092915050565b60006102ee83836102c4565b9150826002028217905092915050565b610307826100ae565b67ffffffffffffffff8111156103205761031f6100b9565b5b61032a8254610117565b610335828285610271565b600060209050601f8311600181146103685760008415610356578287015190505b61036085826102e2565b8655506103c8565b601f19841661037686610148565b60005b8281101561039e57848901518255600182019150602085019450602081019050610379565b868310156103bb57848901516103b7601f8916826102c4565b8355505b6001600288020188555050505b505050505050565b610c2c806103df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063b07506111161005b578063b075061114610101578063ca3254691461011f578063e21f37ce1461013d578063ed6b866b1461015b57610088565b8063050337a21461008d5780631544298e146100ab5780633749c51a146100c95780633ff0693c146100e5575b600080fd5b610095610179565b6040516100a29190610480565b60405180910390f35b6100b361017f565b6040516100c09190610480565b60405180910390f35b6100e360048036038101906100de91906104c9565b610185565b005b6100ff60048036038101906100fa9190610531565b610231565b005b61010961031f565b6040516101169190610480565b60405180910390f35b610127610325565b60405161013491906105bb565b60405180910390f35b61014561034b565b6040516101529190610666565b60405180910390f35b6101636103d9565b6040516101709190610666565b60405180910390f35b60045481565b60015481565b8080600001906101959190610697565b600091826101a4929190610940565b5080602001356001819055508060400160208101906101c39190610a3c565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806060013560048190555080806080019061021e9190610697565b6005918261022d929190610940565b5050565b8060000160208101906102449190610a3c565b6040516020016102549190610ab1565b604051602081830303815290604052600090816102719190610acc565b50806020013560018190555080806040019061028d9190610697565b60405161029b929190610bdd565b604051809103902060001c600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080606001356003819055508060800135600481905550808060a0019061030c9190610697565b6005918261031b929190610940565b5050565b60035481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6005805461035890610763565b80601f016020809104026020016040519081016040528092919081815260200182805461038490610763565b80156103d15780601f106103a6576101008083540402835291602001916103d1565b820191906000526020600020905b8154815290600101906020018083116103b457829003601f168201915b505050505081565b600080546103e690610763565b80601f016020809104026020016040519081016040528092919081815260200182805461041290610763565b801561045f5780601f106104345761010080835404028352916020019161045f565b820191906000526020600020905b81548152906001019060200180831161044257829003601f168201915b505050505081565b6000819050919050565b61047a81610467565b82525050565b60006020820190506104956000830184610471565b92915050565b600080fd5b600080fd5b600080fd5b600060a082840312156104c0576104bf6104a5565b5b81905092915050565b6000602082840312156104df576104de61049b565b5b600082013567ffffffffffffffff8111156104fd576104fc6104a0565b5b610509848285016104aa565b91505092915050565b600060c08284031215610528576105276104a5565b5b81905092915050565b6000602082840312156105475761054661049b565b5b600082013567ffffffffffffffff811115610565576105646104a0565b5b61057184828501610512565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105a58261057a565b9050919050565b6105b58161059a565b82525050565b60006020820190506105d060008301846105ac565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156106105780820151818401526020810190506105f5565b60008484015250505050565b6000601f19601f8301169050919050565b6000610638826105d6565b61064281856105e1565b93506106528185602086016105f2565b61065b8161061c565b840191505092915050565b60006020820190508181036000830152610680818461062d565b905092915050565b600080fd5b600080fd5b600080fd5b600080833560016020038436030381126106b4576106b3610688565b5b80840192508235915067ffffffffffffffff8211156106d6576106d561068d565b5b6020830192506001820236038313156106f2576106f1610692565b5b509250929050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061077b57607f821691505b60208210810361078e5761078d610734565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026107f67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826107b9565b61080086836107b9565b95508019841693508086168417925050509392505050565b6000819050919050565b600061083d61083861083384610467565b610818565b610467565b9050919050565b6000819050919050565b61085783610822565b61086b61086382610844565b8484546107c6565b825550505050565b600090565b610880610873565b61088b81848461084e565b505050565b5b818110156108af576108a4600082610878565b600181019050610891565b5050565b601f8211156108f4576108c581610794565b6108ce846107a9565b810160208510156108dd578190505b6108f16108e9856107a9565b830182610890565b50505b505050565b600082821c905092915050565b6000610917600019846008026108f9565b1980831691505092915050565b60006109308383610906565b9150826002028217905092915050565b61094a83836106fa565b67ffffffffffffffff81111561096357610962610705565b5b61096d8254610763565b6109788282856108b3565b6000601f8311600181146109a75760008415610995578287013590505b61099f8582610924565b865550610a07565b601f1984166109b586610794565b60005b828110156109dd578489013582556001820191506020850194506020810190506109b8565b868310156109fa57848901356109f6601f891682610906565b8355505b6001600288020188555050505b50505050505050565b610a198161059a565b8114610a2457600080fd5b50565b600081359050610a3681610a10565b92915050565b600060208284031215610a5257610a5161049b565b5b6000610a6084828501610a27565b91505092915050565b60008160601b9050919050565b6000610a8182610a69565b9050919050565b6000610a9382610a76565b9050919050565b610aab610aa68261059a565b610a88565b82525050565b6000610abd8284610a9a565b60148201915081905092915050565b610ad5826105d6565b67ffffffffffffffff811115610aee57610aed610705565b5b610af88254610763565b610b038282856108b3565b600060209050601f831160018114610b365760008415610b24578287015190505b610b2e8582610924565b865550610b96565b601f198416610b4486610794565b60005b82811015610b6c57848901518255600182019150602085019450602081019050610b47565b86831015610b895784890151610b85601f891682610906565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b82818337600083830152505050565b6000610bc48385610b9e565b9350610bd1838584610ba9565b82840190509392505050565b6000610bea828486610bb8565b9150819050939250505056fea2646970667358221220b5c3d474ece2d04357014c6153b994833ac21400c3f28ff64e448685f91008ff64736f6c634300081a0033" } diff --git a/testutil/contracts/DappReverter.bin b/testutil/contracts/DappReverter.bin index 8971240dc6..9cc5274cc2 100644 --- a/testutil/contracts/DappReverter.bin +++ b/testutil/contracts/DappReverter.bin @@ -1 +1 @@ -6080604052348015600f57600080fd5b50608180601d6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c8063705847b71460375780639a19074914603f575b600080fd5b603d6047565b005b60456049565b005b565b56fea26469706673582212202ae32d3809d629fd01d309562a51297d761f547f4633bf45c73bf33c9955651164736f6c63430008190033 +6080604052348015600f57600080fd5b50608180601d6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c8063705847b71460375780639a19074914603f575b600080fd5b603d6047565b005b60456049565b005b565b56fea26469706673582212203f2101e4f3eedc7d132d603655b2788dd769162db0d6c7d36058cb6cb2be4c3964736f6c634300081a0033 diff --git a/testutil/contracts/DappReverter.go b/testutil/contracts/DappReverter.go index 590b28f515..450f44173c 100644 --- a/testutil/contracts/DappReverter.go +++ b/testutil/contracts/DappReverter.go @@ -26,12 +26,13 @@ var ( _ = common.Big1 _ = types.BloomLookup _ = event.NewSubscription + _ = abi.ConvertType ) // DappReverterMetaData contains all meta data concerning the DappReverter contract. var DappReverterMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"name\":\"onZetaMessage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"onZetaRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x6080604052348015600f57600080fd5b50608180601d6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c8063705847b71460375780639a19074914603f575b600080fd5b603d6047565b005b60456049565b005b565b56fea26469706673582212202ae32d3809d629fd01d309562a51297d761f547f4633bf45c73bf33c9955651164736f6c63430008190033", + Bin: "0x6080604052348015600f57600080fd5b50608180601d6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c8063705847b71460375780639a19074914603f575b600080fd5b603d6047565b005b60456049565b005b565b56fea26469706673582212203f2101e4f3eedc7d132d603655b2788dd769162db0d6c7d36058cb6cb2be4c3964736f6c634300081a0033", } // DappReverterABI is the input ABI used to generate the binding from. @@ -156,11 +157,11 @@ func NewDappReverterFilterer(address common.Address, filterer bind.ContractFilte // bindDappReverter binds a generic wrapper to an already deployed contract. func bindDappReverter(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := abi.JSON(strings.NewReader(DappReverterABI)) + parsed, err := DappReverterMetaData.GetAbi() if err != nil { return nil, err } - return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil + return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and diff --git a/testutil/contracts/DappReverter.json b/testutil/contracts/DappReverter.json index 25f594b048..adfd1e6c9a 100644 --- a/testutil/contracts/DappReverter.json +++ b/testutil/contracts/DappReverter.json @@ -15,5 +15,5 @@ "type": "function" } ], - "bin": "6080604052348015600f57600080fd5b50608180601d6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c8063705847b71460375780639a19074914603f575b600080fd5b603d6047565b005b60456049565b005b565b56fea26469706673582212202ae32d3809d629fd01d309562a51297d761f547f4633bf45c73bf33c9955651164736f6c63430008190033" + "bin": "6080604052348015600f57600080fd5b50608180601d6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c8063705847b71460375780639a19074914603f575b600080fd5b603d6047565b005b60456049565b005b565b56fea26469706673582212203f2101e4f3eedc7d132d603655b2788dd769162db0d6c7d36058cb6cb2be4c3964736f6c634300081a0033" } diff --git a/testutil/contracts/Depositor.bin b/testutil/contracts/Depositor.bin index ecf83280fc..7b37bb3e46 100644 --- a/testutil/contracts/Depositor.bin +++ b/testutil/contracts/Depositor.bin @@ -1 +1 @@ -60a060405234801561001057600080fd5b5060405161073c38038061073c833981810160405281019061003291906100cf565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050506100fc565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061009c82610071565b9050919050565b6100ac81610091565b81146100b757600080fd5b50565b6000815190506100c9816100a3565b92915050565b6000602082840312156100e5576100e461006c565b5b60006100f3848285016100ba565b91505092915050565b60805161061f61011d6000396000818160e4015261016b015261061f6000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80633d496c9314610030575b600080fd5b61004a6004803603810190610045919061032a565b61004c565b005b8473ffffffffffffffffffffffffffffffffffffffff166323b872dd333084886100769190610415565b6040518463ffffffff1660e01b815260040161009493929190610475565b600060405180830381600087803b1580156100ae57600080fd5b505af11580156100c2573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000838761010f9190610415565b6040518363ffffffff1660e01b815260040161012c9291906104ac565b600060405180830381600087803b15801561014657600080fd5b505af115801561015a573d6000803e3d6000fd5b5050505060005b8181101561020b577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e609055e8989898989896040518763ffffffff1660e01b81526004016101cc96959493929190610592565b600060405180830381600087803b1580156101e657600080fd5b505af11580156101fa573d6000803e3d6000fd5b505050508080600101915050610161565b5050505050505050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126102445761024361021f565b5b8235905067ffffffffffffffff81111561026157610260610224565b5b60208301915083600182028301111561027d5761027c610229565b5b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102af82610284565b9050919050565b60006102c1826102a4565b9050919050565b6102d1816102b6565b81146102dc57600080fd5b50565b6000813590506102ee816102c8565b92915050565b6000819050919050565b610307816102f4565b811461031257600080fd5b50565b600081359050610324816102fe565b92915050565b600080600080600080600060a0888a03121561034957610348610215565b5b600088013567ffffffffffffffff8111156103675761036661021a565b5b6103738a828b0161022e565b975097505060206103868a828b016102df565b95505060406103978a828b01610315565b945050606088013567ffffffffffffffff8111156103b8576103b761021a565b5b6103c48a828b0161022e565b935093505060806103d78a828b01610315565b91505092959891949750929550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610420826102f4565b915061042b836102f4565b9250828202610439816102f4565b915082820484148315176104505761044f6103e6565b5b5092915050565b610460816102a4565b82525050565b61046f816102f4565b82525050565b600060608201905061048a6000830186610457565b6104976020830185610457565b6104a46040830184610466565b949350505050565b60006040820190506104c16000830185610457565b6104ce6020830184610466565b9392505050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b600061051283856104d5565b935061051f8385846104e6565b610528836104f5565b840190509392505050565b6000819050919050565b600061055861055361054e84610284565b610533565b610284565b9050919050565b600061056a8261053d565b9050919050565b600061057c8261055f565b9050919050565b61058c81610571565b82525050565b600060808201905081810360008301526105ad81888a610506565b90506105bc6020830187610583565b6105c96040830186610466565b81810360608301526105dc818486610506565b905097965050505050505056fea2646970667358221220a5a92c8f323a5a31ee98d3f743848cbaba73616e237bfd5f78b15847c3c0abb864736f6c63430008190033 +60a060405234801561001057600080fd5b5060405161073c38038061073c833981810160405281019061003291906100cf565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050506100fc565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061009c82610071565b9050919050565b6100ac81610091565b81146100b757600080fd5b50565b6000815190506100c9816100a3565b92915050565b6000602082840312156100e5576100e461006c565b5b60006100f3848285016100ba565b91505092915050565b60805161061f61011d6000396000818160e4015261016b015261061f6000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80633d496c9314610030575b600080fd5b61004a6004803603810190610045919061032a565b61004c565b005b8473ffffffffffffffffffffffffffffffffffffffff166323b872dd333084886100769190610415565b6040518463ffffffff1660e01b815260040161009493929190610475565b600060405180830381600087803b1580156100ae57600080fd5b505af11580156100c2573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000838761010f9190610415565b6040518363ffffffff1660e01b815260040161012c9291906104ac565b600060405180830381600087803b15801561014657600080fd5b505af115801561015a573d6000803e3d6000fd5b5050505060005b8181101561020b577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e609055e8989898989896040518763ffffffff1660e01b81526004016101cc96959493929190610592565b600060405180830381600087803b1580156101e657600080fd5b505af11580156101fa573d6000803e3d6000fd5b505050508080600101915050610161565b5050505050505050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126102445761024361021f565b5b8235905067ffffffffffffffff81111561026157610260610224565b5b60208301915083600182028301111561027d5761027c610229565b5b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102af82610284565b9050919050565b60006102c1826102a4565b9050919050565b6102d1816102b6565b81146102dc57600080fd5b50565b6000813590506102ee816102c8565b92915050565b6000819050919050565b610307816102f4565b811461031257600080fd5b50565b600081359050610324816102fe565b92915050565b600080600080600080600060a0888a03121561034957610348610215565b5b600088013567ffffffffffffffff8111156103675761036661021a565b5b6103738a828b0161022e565b975097505060206103868a828b016102df565b95505060406103978a828b01610315565b945050606088013567ffffffffffffffff8111156103b8576103b761021a565b5b6103c48a828b0161022e565b935093505060806103d78a828b01610315565b91505092959891949750929550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610420826102f4565b915061042b836102f4565b9250828202610439816102f4565b915082820484148315176104505761044f6103e6565b5b5092915050565b610460816102a4565b82525050565b61046f816102f4565b82525050565b600060608201905061048a6000830186610457565b6104976020830185610457565b6104a46040830184610466565b949350505050565b60006040820190506104c16000830185610457565b6104ce6020830184610466565b9392505050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b600061051283856104d5565b935061051f8385846104e6565b610528836104f5565b840190509392505050565b6000819050919050565b600061055861055361054e84610284565b610533565b610284565b9050919050565b600061056a8261053d565b9050919050565b600061057c8261055f565b9050919050565b61058c81610571565b82525050565b600060808201905081810360008301526105ad81888a610506565b90506105bc6020830187610583565b6105c96040830186610466565b81810360608301526105dc818486610506565b905097965050505050505056fea2646970667358221220228a2792d46a7120b8563a7f501b848c2d4e48097ddbfd9d997d323e87e9d15b64736f6c634300081a0033 diff --git a/testutil/contracts/Depositor.go b/testutil/contracts/Depositor.go index 6c85c24c5e..b545be3e03 100644 --- a/testutil/contracts/Depositor.go +++ b/testutil/contracts/Depositor.go @@ -26,12 +26,13 @@ var ( _ = common.Big1 _ = types.BloomLookup _ = event.NewSubscription + _ = abi.ConvertType ) // DepositorMetaData contains all meta data concerning the Depositor contract. var DepositorMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"custody_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"recipient\",\"type\":\"bytes\"},{\"internalType\":\"contractIERC20\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"name\":\"runDeposits\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x60a060405234801561001057600080fd5b5060405161073c38038061073c833981810160405281019061003291906100cf565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050506100fc565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061009c82610071565b9050919050565b6100ac81610091565b81146100b757600080fd5b50565b6000815190506100c9816100a3565b92915050565b6000602082840312156100e5576100e461006c565b5b60006100f3848285016100ba565b91505092915050565b60805161061f61011d6000396000818160e4015261016b015261061f6000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80633d496c9314610030575b600080fd5b61004a6004803603810190610045919061032a565b61004c565b005b8473ffffffffffffffffffffffffffffffffffffffff166323b872dd333084886100769190610415565b6040518463ffffffff1660e01b815260040161009493929190610475565b600060405180830381600087803b1580156100ae57600080fd5b505af11580156100c2573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000838761010f9190610415565b6040518363ffffffff1660e01b815260040161012c9291906104ac565b600060405180830381600087803b15801561014657600080fd5b505af115801561015a573d6000803e3d6000fd5b5050505060005b8181101561020b577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e609055e8989898989896040518763ffffffff1660e01b81526004016101cc96959493929190610592565b600060405180830381600087803b1580156101e657600080fd5b505af11580156101fa573d6000803e3d6000fd5b505050508080600101915050610161565b5050505050505050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126102445761024361021f565b5b8235905067ffffffffffffffff81111561026157610260610224565b5b60208301915083600182028301111561027d5761027c610229565b5b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102af82610284565b9050919050565b60006102c1826102a4565b9050919050565b6102d1816102b6565b81146102dc57600080fd5b50565b6000813590506102ee816102c8565b92915050565b6000819050919050565b610307816102f4565b811461031257600080fd5b50565b600081359050610324816102fe565b92915050565b600080600080600080600060a0888a03121561034957610348610215565b5b600088013567ffffffffffffffff8111156103675761036661021a565b5b6103738a828b0161022e565b975097505060206103868a828b016102df565b95505060406103978a828b01610315565b945050606088013567ffffffffffffffff8111156103b8576103b761021a565b5b6103c48a828b0161022e565b935093505060806103d78a828b01610315565b91505092959891949750929550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610420826102f4565b915061042b836102f4565b9250828202610439816102f4565b915082820484148315176104505761044f6103e6565b5b5092915050565b610460816102a4565b82525050565b61046f816102f4565b82525050565b600060608201905061048a6000830186610457565b6104976020830185610457565b6104a46040830184610466565b949350505050565b60006040820190506104c16000830185610457565b6104ce6020830184610466565b9392505050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b600061051283856104d5565b935061051f8385846104e6565b610528836104f5565b840190509392505050565b6000819050919050565b600061055861055361054e84610284565b610533565b610284565b9050919050565b600061056a8261053d565b9050919050565b600061057c8261055f565b9050919050565b61058c81610571565b82525050565b600060808201905081810360008301526105ad81888a610506565b90506105bc6020830187610583565b6105c96040830186610466565b81810360608301526105dc818486610506565b905097965050505050505056fea2646970667358221220a5a92c8f323a5a31ee98d3f743848cbaba73616e237bfd5f78b15847c3c0abb864736f6c63430008190033", + Bin: "0x60a060405234801561001057600080fd5b5060405161073c38038061073c833981810160405281019061003291906100cf565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050506100fc565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061009c82610071565b9050919050565b6100ac81610091565b81146100b757600080fd5b50565b6000815190506100c9816100a3565b92915050565b6000602082840312156100e5576100e461006c565b5b60006100f3848285016100ba565b91505092915050565b60805161061f61011d6000396000818160e4015261016b015261061f6000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80633d496c9314610030575b600080fd5b61004a6004803603810190610045919061032a565b61004c565b005b8473ffffffffffffffffffffffffffffffffffffffff166323b872dd333084886100769190610415565b6040518463ffffffff1660e01b815260040161009493929190610475565b600060405180830381600087803b1580156100ae57600080fd5b505af11580156100c2573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000838761010f9190610415565b6040518363ffffffff1660e01b815260040161012c9291906104ac565b600060405180830381600087803b15801561014657600080fd5b505af115801561015a573d6000803e3d6000fd5b5050505060005b8181101561020b577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e609055e8989898989896040518763ffffffff1660e01b81526004016101cc96959493929190610592565b600060405180830381600087803b1580156101e657600080fd5b505af11580156101fa573d6000803e3d6000fd5b505050508080600101915050610161565b5050505050505050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126102445761024361021f565b5b8235905067ffffffffffffffff81111561026157610260610224565b5b60208301915083600182028301111561027d5761027c610229565b5b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102af82610284565b9050919050565b60006102c1826102a4565b9050919050565b6102d1816102b6565b81146102dc57600080fd5b50565b6000813590506102ee816102c8565b92915050565b6000819050919050565b610307816102f4565b811461031257600080fd5b50565b600081359050610324816102fe565b92915050565b600080600080600080600060a0888a03121561034957610348610215565b5b600088013567ffffffffffffffff8111156103675761036661021a565b5b6103738a828b0161022e565b975097505060206103868a828b016102df565b95505060406103978a828b01610315565b945050606088013567ffffffffffffffff8111156103b8576103b761021a565b5b6103c48a828b0161022e565b935093505060806103d78a828b01610315565b91505092959891949750929550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610420826102f4565b915061042b836102f4565b9250828202610439816102f4565b915082820484148315176104505761044f6103e6565b5b5092915050565b610460816102a4565b82525050565b61046f816102f4565b82525050565b600060608201905061048a6000830186610457565b6104976020830185610457565b6104a46040830184610466565b949350505050565b60006040820190506104c16000830185610457565b6104ce6020830184610466565b9392505050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b600061051283856104d5565b935061051f8385846104e6565b610528836104f5565b840190509392505050565b6000819050919050565b600061055861055361054e84610284565b610533565b610284565b9050919050565b600061056a8261053d565b9050919050565b600061057c8261055f565b9050919050565b61058c81610571565b82525050565b600060808201905081810360008301526105ad81888a610506565b90506105bc6020830187610583565b6105c96040830186610466565b81810360608301526105dc818486610506565b905097965050505050505056fea2646970667358221220228a2792d46a7120b8563a7f501b848c2d4e48097ddbfd9d997d323e87e9d15b64736f6c634300081a0033", } // DepositorABI is the input ABI used to generate the binding from. @@ -156,11 +157,11 @@ func NewDepositorFilterer(address common.Address, filterer bind.ContractFilterer // bindDepositor binds a generic wrapper to an already deployed contract. func bindDepositor(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := abi.JSON(strings.NewReader(DepositorABI)) + parsed, err := DepositorMetaData.GetAbi() if err != nil { return nil, err } - return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil + return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and diff --git a/testutil/contracts/Depositor.json b/testutil/contracts/Depositor.json index f54b3e932f..045652b02d 100644 --- a/testutil/contracts/Depositor.json +++ b/testutil/contracts/Depositor.json @@ -45,5 +45,5 @@ "type": "function" } ], - "bin": "60a060405234801561001057600080fd5b5060405161073c38038061073c833981810160405281019061003291906100cf565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050506100fc565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061009c82610071565b9050919050565b6100ac81610091565b81146100b757600080fd5b50565b6000815190506100c9816100a3565b92915050565b6000602082840312156100e5576100e461006c565b5b60006100f3848285016100ba565b91505092915050565b60805161061f61011d6000396000818160e4015261016b015261061f6000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80633d496c9314610030575b600080fd5b61004a6004803603810190610045919061032a565b61004c565b005b8473ffffffffffffffffffffffffffffffffffffffff166323b872dd333084886100769190610415565b6040518463ffffffff1660e01b815260040161009493929190610475565b600060405180830381600087803b1580156100ae57600080fd5b505af11580156100c2573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000838761010f9190610415565b6040518363ffffffff1660e01b815260040161012c9291906104ac565b600060405180830381600087803b15801561014657600080fd5b505af115801561015a573d6000803e3d6000fd5b5050505060005b8181101561020b577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e609055e8989898989896040518763ffffffff1660e01b81526004016101cc96959493929190610592565b600060405180830381600087803b1580156101e657600080fd5b505af11580156101fa573d6000803e3d6000fd5b505050508080600101915050610161565b5050505050505050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126102445761024361021f565b5b8235905067ffffffffffffffff81111561026157610260610224565b5b60208301915083600182028301111561027d5761027c610229565b5b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102af82610284565b9050919050565b60006102c1826102a4565b9050919050565b6102d1816102b6565b81146102dc57600080fd5b50565b6000813590506102ee816102c8565b92915050565b6000819050919050565b610307816102f4565b811461031257600080fd5b50565b600081359050610324816102fe565b92915050565b600080600080600080600060a0888a03121561034957610348610215565b5b600088013567ffffffffffffffff8111156103675761036661021a565b5b6103738a828b0161022e565b975097505060206103868a828b016102df565b95505060406103978a828b01610315565b945050606088013567ffffffffffffffff8111156103b8576103b761021a565b5b6103c48a828b0161022e565b935093505060806103d78a828b01610315565b91505092959891949750929550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610420826102f4565b915061042b836102f4565b9250828202610439816102f4565b915082820484148315176104505761044f6103e6565b5b5092915050565b610460816102a4565b82525050565b61046f816102f4565b82525050565b600060608201905061048a6000830186610457565b6104976020830185610457565b6104a46040830184610466565b949350505050565b60006040820190506104c16000830185610457565b6104ce6020830184610466565b9392505050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b600061051283856104d5565b935061051f8385846104e6565b610528836104f5565b840190509392505050565b6000819050919050565b600061055861055361054e84610284565b610533565b610284565b9050919050565b600061056a8261053d565b9050919050565b600061057c8261055f565b9050919050565b61058c81610571565b82525050565b600060808201905081810360008301526105ad81888a610506565b90506105bc6020830187610583565b6105c96040830186610466565b81810360608301526105dc818486610506565b905097965050505050505056fea2646970667358221220a5a92c8f323a5a31ee98d3f743848cbaba73616e237bfd5f78b15847c3c0abb864736f6c63430008190033" + "bin": "60a060405234801561001057600080fd5b5060405161073c38038061073c833981810160405281019061003291906100cf565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050506100fc565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061009c82610071565b9050919050565b6100ac81610091565b81146100b757600080fd5b50565b6000815190506100c9816100a3565b92915050565b6000602082840312156100e5576100e461006c565b5b60006100f3848285016100ba565b91505092915050565b60805161061f61011d6000396000818160e4015261016b015261061f6000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80633d496c9314610030575b600080fd5b61004a6004803603810190610045919061032a565b61004c565b005b8473ffffffffffffffffffffffffffffffffffffffff166323b872dd333084886100769190610415565b6040518463ffffffff1660e01b815260040161009493929190610475565b600060405180830381600087803b1580156100ae57600080fd5b505af11580156100c2573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000838761010f9190610415565b6040518363ffffffff1660e01b815260040161012c9291906104ac565b600060405180830381600087803b15801561014657600080fd5b505af115801561015a573d6000803e3d6000fd5b5050505060005b8181101561020b577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e609055e8989898989896040518763ffffffff1660e01b81526004016101cc96959493929190610592565b600060405180830381600087803b1580156101e657600080fd5b505af11580156101fa573d6000803e3d6000fd5b505050508080600101915050610161565b5050505050505050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126102445761024361021f565b5b8235905067ffffffffffffffff81111561026157610260610224565b5b60208301915083600182028301111561027d5761027c610229565b5b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102af82610284565b9050919050565b60006102c1826102a4565b9050919050565b6102d1816102b6565b81146102dc57600080fd5b50565b6000813590506102ee816102c8565b92915050565b6000819050919050565b610307816102f4565b811461031257600080fd5b50565b600081359050610324816102fe565b92915050565b600080600080600080600060a0888a03121561034957610348610215565b5b600088013567ffffffffffffffff8111156103675761036661021a565b5b6103738a828b0161022e565b975097505060206103868a828b016102df565b95505060406103978a828b01610315565b945050606088013567ffffffffffffffff8111156103b8576103b761021a565b5b6103c48a828b0161022e565b935093505060806103d78a828b01610315565b91505092959891949750929550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610420826102f4565b915061042b836102f4565b9250828202610439816102f4565b915082820484148315176104505761044f6103e6565b5b5092915050565b610460816102a4565b82525050565b61046f816102f4565b82525050565b600060608201905061048a6000830186610457565b6104976020830185610457565b6104a46040830184610466565b949350505050565b60006040820190506104c16000830185610457565b6104ce6020830184610466565b9392505050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b600061051283856104d5565b935061051f8385846104e6565b610528836104f5565b840190509392505050565b6000819050919050565b600061055861055361054e84610284565b610533565b610284565b9050919050565b600061056a8261053d565b9050919050565b600061057c8261055f565b9050919050565b61058c81610571565b82525050565b600060808201905081810360008301526105ad81888a610506565b90506105bc6020830187610583565b6105c96040830186610466565b81810360608301526105dc818486610506565b905097965050505050505056fea2646970667358221220228a2792d46a7120b8563a7f501b848c2d4e48097ddbfd9d997d323e87e9d15b64736f6c634300081a0033" } diff --git a/testutil/contracts/Example.abi b/testutil/contracts/Example.abi index ccf6aa55a9..ee94a37127 100644 --- a/testutil/contracts/Example.abi +++ b/testutil/contracts/Example.abi @@ -63,6 +63,51 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes", + "name": "origin", + "type": "bytes" + }, + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "chainID", + "type": "uint256" + } + ], + "internalType": "struct Example.zContext", + "name": "context", + "type": "tuple" + }, + { + "internalType": "address", + "name": "zrc20", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "onCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { diff --git a/testutil/contracts/Example.bin b/testutil/contracts/Example.bin index e7a2293644..7ddabaa4a3 100644 --- a/testutil/contracts/Example.bin +++ b/testutil/contracts/Example.bin @@ -1 +1 @@ -6080604052348015600f57600080fd5b50600080819055506108e0806100266000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063dd8e556c1161005b578063dd8e556c146100b4578063de43156e146100be578063fd5ad965146100da578063febb0f7e146100e45761007d565b80633297071014610082578063afc874d2146100a0578063d720cb45146100aa575b600080fd5b61008a610102565b6040516100979190610300565b60405180910390f35b6100a8610190565b005b6100b26101c2565b005b6100bc6101fd565b005b6100d860048036038101906100d39190610449565b610240565b005b6100e2610260565b005b6100ec61026a565b6040516100f991906104fc565b60405180910390f35b6001805461010f90610546565b80601f016020809104026020016040519081016040528092919081815260200182805461013b90610546565b80156101885780601f1061015d57610100808354040283529160200191610188565b820191906000526020600020905b81548152906001019060200180831161016b57829003601f168201915b505050505081565b6040517fbfb4ebcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f4906105d4565b60405180910390fd5b600061023e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610235906105d4565b60405180910390fd5b565b826000819055508181600191826102589291906107da565b505050505050565b6001600081905550565b60005481565b600081519050919050565b600082825260208201905092915050565b60005b838110156102aa57808201518184015260208101905061028f565b60008484015250505050565b6000601f19601f8301169050919050565b60006102d282610270565b6102dc818561027b565b93506102ec81856020860161028c565b6102f5816102b6565b840191505092915050565b6000602082019050818103600083015261031a81846102c7565b905092915050565b600080fd5b600080fd5b600080fd5b6000606082840312156103475761034661032c565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061037b82610350565b9050919050565b61038b81610370565b811461039657600080fd5b50565b6000813590506103a881610382565b92915050565b6000819050919050565b6103c1816103ae565b81146103cc57600080fd5b50565b6000813590506103de816103b8565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610409576104086103e4565b5b8235905067ffffffffffffffff811115610426576104256103e9565b5b602083019150836001820283011115610442576104416103ee565b5b9250929050565b60008060008060006080868803121561046557610464610322565b5b600086013567ffffffffffffffff81111561048357610482610327565b5b61048f88828901610331565b95505060206104a088828901610399565b94505060406104b1888289016103cf565b935050606086013567ffffffffffffffff8111156104d2576104d1610327565b5b6104de888289016103f3565b92509250509295509295909350565b6104f6816103ae565b82525050565b600060208201905061051160008301846104ed565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061055e57607f821691505b60208210810361057157610570610517565b5b50919050565b600082825260208201905092915050565b7f666f6f0000000000000000000000000000000000000000000000000000000000600082015250565b60006105be600383610577565b91506105c982610588565b602082019050919050565b600060208201905081810360008301526105ed816105b1565b9050919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026106907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610653565b61069a8683610653565b95508019841693508086168417925050509392505050565b6000819050919050565b60006106d76106d26106cd846103ae565b6106b2565b6103ae565b9050919050565b6000819050919050565b6106f1836106bc565b6107056106fd826106de565b848454610660565b825550505050565b600090565b61071a61070d565b6107258184846106e8565b505050565b5b818110156107495761073e600082610712565b60018101905061072b565b5050565b601f82111561078e5761075f8161062e565b61076884610643565b81016020851015610777578190505b61078b61078385610643565b83018261072a565b50505b505050565b600082821c905092915050565b60006107b160001984600802610793565b1980831691505092915050565b60006107ca83836107a0565b9150826002028217905092915050565b6107e483836105f4565b67ffffffffffffffff8111156107fd576107fc6105ff565b5b6108078254610546565b61081282828561074d565b6000601f831160018114610841576000841561082f578287013590505b61083985826107be565b8655506108a1565b601f19841661084f8661062e565b60005b8281101561087757848901358255600182019150602085019450602081019050610852565b868310156108945784890135610890601f8916826107a0565b8355505b6001600288020188555050505b5050505050505056fea26469706673582212202506bee512af2f3acd98556baafd9afc04b2d8c95f09bbb5e387fce570c9a32764736f6c634300081a0033 +6080604052348015600f57600080fd5b506000808190555061091b806100266000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063dd8e556c1161005b578063dd8e556c146100db578063de43156e146100e5578063fd5ad96514610101578063febb0f7e1461010b57610088565b8063329707101461008d5780635bcfd616146100ab578063afc874d2146100c7578063d720cb45146100d1575b600080fd5b610095610129565b6040516100a2919061033b565b60405180910390f35b6100c560048036038101906100c09190610484565b6101b7565b005b6100cf6101d7565b005b6100d9610209565b005b6100e3610244565b005b6100ff60048036038101906100fa9190610484565b610287565b005b61010961029b565b005b6101136102a5565b6040516101209190610537565b60405180910390f35b6001805461013690610581565b80601f016020809104026020016040519081016040528092919081815260200182805461016290610581565b80156101af5780601f10610184576101008083540402835291602001916101af565b820191906000526020600020905b81548152906001019060200180831161019257829003601f168201915b505050505081565b826000819055508181600191826101cf929190610798565b505050505050565b6040517fbfb4ebcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023b906108c5565b60405180910390fd5b6000610285576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027c906108c5565b60405180910390fd5b565b61029485858585856101b7565b5050505050565b6001600081905550565b60005481565b600081519050919050565b600082825260208201905092915050565b60005b838110156102e55780820151818401526020810190506102ca565b60008484015250505050565b6000601f19601f8301169050919050565b600061030d826102ab565b61031781856102b6565b93506103278185602086016102c7565b610330816102f1565b840191505092915050565b600060208201905081810360008301526103558184610302565b905092915050565b600080fd5b600080fd5b600080fd5b60006060828403121561038257610381610367565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103b68261038b565b9050919050565b6103c6816103ab565b81146103d157600080fd5b50565b6000813590506103e3816103bd565b92915050565b6000819050919050565b6103fc816103e9565b811461040757600080fd5b50565b600081359050610419816103f3565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126104445761044361041f565b5b8235905067ffffffffffffffff81111561046157610460610424565b5b60208301915083600182028301111561047d5761047c610429565b5b9250929050565b6000806000806000608086880312156104a05761049f61035d565b5b600086013567ffffffffffffffff8111156104be576104bd610362565b5b6104ca8882890161036c565b95505060206104db888289016103d4565b94505060406104ec8882890161040a565b935050606086013567ffffffffffffffff81111561050d5761050c610362565b5b6105198882890161042e565b92509250509295509295909350565b610531816103e9565b82525050565b600060208201905061054c6000830184610528565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061059957607f821691505b6020821081036105ac576105ab610552565b5b50919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261064e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610611565b6106588683610611565b95508019841693508086168417925050509392505050565b6000819050919050565b600061069561069061068b846103e9565b610670565b6103e9565b9050919050565b6000819050919050565b6106af8361067a565b6106c36106bb8261069c565b84845461061e565b825550505050565b600090565b6106d86106cb565b6106e38184846106a6565b505050565b5b81811015610707576106fc6000826106d0565b6001810190506106e9565b5050565b601f82111561074c5761071d816105ec565b61072684610601565b81016020851015610735578190505b61074961074185610601565b8301826106e8565b50505b505050565b600082821c905092915050565b600061076f60001984600802610751565b1980831691505092915050565b6000610788838361075e565b9150826002028217905092915050565b6107a283836105b2565b67ffffffffffffffff8111156107bb576107ba6105bd565b5b6107c58254610581565b6107d082828561070b565b6000601f8311600181146107ff57600084156107ed578287013590505b6107f7858261077c565b86555061085f565b601f19841661080d866105ec565b60005b8281101561083557848901358255600182019150602085019450602081019050610810565b86831015610852578489013561084e601f89168261075e565b8355505b6001600288020188555050505b50505050505050565b600082825260208201905092915050565b7f666f6f0000000000000000000000000000000000000000000000000000000000600082015250565b60006108af600383610868565b91506108ba82610879565b602082019050919050565b600060208201905081810360008301526108de816108a2565b905091905056fea26469706673582212209cfc763a2051af7ae03bd5c8a8765e80a09469a9bb8875cda4c3917306b2238264736f6c634300081a0033 diff --git a/testutil/contracts/Example.go b/testutil/contracts/Example.go index 62ff9a3530..1ded198bc4 100644 --- a/testutil/contracts/Example.go +++ b/testutil/contracts/Example.go @@ -38,8 +38,8 @@ type ExamplezContext struct { // ExampleMetaData contains all meta data concerning the Example contract. var ExampleMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"Foo\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"bar\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"doRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"doRevertWithMessage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"doRevertWithRequire\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"doSucceed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastMessage\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"origin\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"chainID\",\"type\":\"uint256\"}],\"internalType\":\"structExample.zContext\",\"name\":\"context\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"zrc20\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"onCrossChainCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x6080604052348015600f57600080fd5b50600080819055506108e0806100266000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063dd8e556c1161005b578063dd8e556c146100b4578063de43156e146100be578063fd5ad965146100da578063febb0f7e146100e45761007d565b80633297071014610082578063afc874d2146100a0578063d720cb45146100aa575b600080fd5b61008a610102565b6040516100979190610300565b60405180910390f35b6100a8610190565b005b6100b26101c2565b005b6100bc6101fd565b005b6100d860048036038101906100d39190610449565b610240565b005b6100e2610260565b005b6100ec61026a565b6040516100f991906104fc565b60405180910390f35b6001805461010f90610546565b80601f016020809104026020016040519081016040528092919081815260200182805461013b90610546565b80156101885780601f1061015d57610100808354040283529160200191610188565b820191906000526020600020905b81548152906001019060200180831161016b57829003601f168201915b505050505081565b6040517fbfb4ebcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f4906105d4565b60405180910390fd5b600061023e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610235906105d4565b60405180910390fd5b565b826000819055508181600191826102589291906107da565b505050505050565b6001600081905550565b60005481565b600081519050919050565b600082825260208201905092915050565b60005b838110156102aa57808201518184015260208101905061028f565b60008484015250505050565b6000601f19601f8301169050919050565b60006102d282610270565b6102dc818561027b565b93506102ec81856020860161028c565b6102f5816102b6565b840191505092915050565b6000602082019050818103600083015261031a81846102c7565b905092915050565b600080fd5b600080fd5b600080fd5b6000606082840312156103475761034661032c565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061037b82610350565b9050919050565b61038b81610370565b811461039657600080fd5b50565b6000813590506103a881610382565b92915050565b6000819050919050565b6103c1816103ae565b81146103cc57600080fd5b50565b6000813590506103de816103b8565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610409576104086103e4565b5b8235905067ffffffffffffffff811115610426576104256103e9565b5b602083019150836001820283011115610442576104416103ee565b5b9250929050565b60008060008060006080868803121561046557610464610322565b5b600086013567ffffffffffffffff81111561048357610482610327565b5b61048f88828901610331565b95505060206104a088828901610399565b94505060406104b1888289016103cf565b935050606086013567ffffffffffffffff8111156104d2576104d1610327565b5b6104de888289016103f3565b92509250509295509295909350565b6104f6816103ae565b82525050565b600060208201905061051160008301846104ed565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061055e57607f821691505b60208210810361057157610570610517565b5b50919050565b600082825260208201905092915050565b7f666f6f0000000000000000000000000000000000000000000000000000000000600082015250565b60006105be600383610577565b91506105c982610588565b602082019050919050565b600060208201905081810360008301526105ed816105b1565b9050919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026106907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610653565b61069a8683610653565b95508019841693508086168417925050509392505050565b6000819050919050565b60006106d76106d26106cd846103ae565b6106b2565b6103ae565b9050919050565b6000819050919050565b6106f1836106bc565b6107056106fd826106de565b848454610660565b825550505050565b600090565b61071a61070d565b6107258184846106e8565b505050565b5b818110156107495761073e600082610712565b60018101905061072b565b5050565b601f82111561078e5761075f8161062e565b61076884610643565b81016020851015610777578190505b61078b61078385610643565b83018261072a565b50505b505050565b600082821c905092915050565b60006107b160001984600802610793565b1980831691505092915050565b60006107ca83836107a0565b9150826002028217905092915050565b6107e483836105f4565b67ffffffffffffffff8111156107fd576107fc6105ff565b5b6108078254610546565b61081282828561074d565b6000601f831160018114610841576000841561082f578287013590505b61083985826107be565b8655506108a1565b601f19841661084f8661062e565b60005b8281101561087757848901358255600182019150602085019450602081019050610852565b868310156108945784890135610890601f8916826107a0565b8355505b6001600288020188555050505b5050505050505056fea26469706673582212202506bee512af2f3acd98556baafd9afc04b2d8c95f09bbb5e387fce570c9a32764736f6c634300081a0033", + ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"Foo\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"bar\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"doRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"doRevertWithMessage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"doRevertWithRequire\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"doSucceed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastMessage\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"origin\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"chainID\",\"type\":\"uint256\"}],\"internalType\":\"structExample.zContext\",\"name\":\"context\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"zrc20\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"onCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"origin\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"chainID\",\"type\":\"uint256\"}],\"internalType\":\"structExample.zContext\",\"name\":\"context\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"zrc20\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"onCrossChainCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", + Bin: "0x6080604052348015600f57600080fd5b506000808190555061091b806100266000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063dd8e556c1161005b578063dd8e556c146100db578063de43156e146100e5578063fd5ad96514610101578063febb0f7e1461010b57610088565b8063329707101461008d5780635bcfd616146100ab578063afc874d2146100c7578063d720cb45146100d1575b600080fd5b610095610129565b6040516100a2919061033b565b60405180910390f35b6100c560048036038101906100c09190610484565b6101b7565b005b6100cf6101d7565b005b6100d9610209565b005b6100e3610244565b005b6100ff60048036038101906100fa9190610484565b610287565b005b61010961029b565b005b6101136102a5565b6040516101209190610537565b60405180910390f35b6001805461013690610581565b80601f016020809104026020016040519081016040528092919081815260200182805461016290610581565b80156101af5780601f10610184576101008083540402835291602001916101af565b820191906000526020600020905b81548152906001019060200180831161019257829003601f168201915b505050505081565b826000819055508181600191826101cf929190610798565b505050505050565b6040517fbfb4ebcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023b906108c5565b60405180910390fd5b6000610285576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027c906108c5565b60405180910390fd5b565b61029485858585856101b7565b5050505050565b6001600081905550565b60005481565b600081519050919050565b600082825260208201905092915050565b60005b838110156102e55780820151818401526020810190506102ca565b60008484015250505050565b6000601f19601f8301169050919050565b600061030d826102ab565b61031781856102b6565b93506103278185602086016102c7565b610330816102f1565b840191505092915050565b600060208201905081810360008301526103558184610302565b905092915050565b600080fd5b600080fd5b600080fd5b60006060828403121561038257610381610367565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103b68261038b565b9050919050565b6103c6816103ab565b81146103d157600080fd5b50565b6000813590506103e3816103bd565b92915050565b6000819050919050565b6103fc816103e9565b811461040757600080fd5b50565b600081359050610419816103f3565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126104445761044361041f565b5b8235905067ffffffffffffffff81111561046157610460610424565b5b60208301915083600182028301111561047d5761047c610429565b5b9250929050565b6000806000806000608086880312156104a05761049f61035d565b5b600086013567ffffffffffffffff8111156104be576104bd610362565b5b6104ca8882890161036c565b95505060206104db888289016103d4565b94505060406104ec8882890161040a565b935050606086013567ffffffffffffffff81111561050d5761050c610362565b5b6105198882890161042e565b92509250509295509295909350565b610531816103e9565b82525050565b600060208201905061054c6000830184610528565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061059957607f821691505b6020821081036105ac576105ab610552565b5b50919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261064e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610611565b6106588683610611565b95508019841693508086168417925050509392505050565b6000819050919050565b600061069561069061068b846103e9565b610670565b6103e9565b9050919050565b6000819050919050565b6106af8361067a565b6106c36106bb8261069c565b84845461061e565b825550505050565b600090565b6106d86106cb565b6106e38184846106a6565b505050565b5b81811015610707576106fc6000826106d0565b6001810190506106e9565b5050565b601f82111561074c5761071d816105ec565b61072684610601565b81016020851015610735578190505b61074961074185610601565b8301826106e8565b50505b505050565b600082821c905092915050565b600061076f60001984600802610751565b1980831691505092915050565b6000610788838361075e565b9150826002028217905092915050565b6107a283836105b2565b67ffffffffffffffff8111156107bb576107ba6105bd565b5b6107c58254610581565b6107d082828561070b565b6000601f8311600181146107ff57600084156107ed578287013590505b6107f7858261077c565b86555061085f565b601f19841661080d866105ec565b60005b8281101561083557848901358255600182019150602085019450602081019050610810565b86831015610852578489013561084e601f89168261075e565b8355505b6001600288020188555050505b50505050505050565b600082825260208201905092915050565b7f666f6f0000000000000000000000000000000000000000000000000000000000600082015250565b60006108af600383610868565b91506108ba82610879565b602082019050919050565b600060208201905081810360008301526108de816108a2565b905091905056fea26469706673582212209cfc763a2051af7ae03bd5c8a8765e80a09469a9bb8875cda4c3917306b2238264736f6c634300081a0033", } // ExampleABI is the input ABI used to generate the binding from. @@ -355,6 +355,27 @@ func (_Example *ExampleTransactorSession) DoSucceed() (*types.Transaction, error return _Example.Contract.DoSucceed(&_Example.TransactOpts) } +// OnCall is a paid mutator transaction binding the contract method 0x5bcfd616. +// +// Solidity: function onCall((bytes,address,uint256) context, address zrc20, uint256 amount, bytes message) returns() +func (_Example *ExampleTransactor) OnCall(opts *bind.TransactOpts, context ExamplezContext, zrc20 common.Address, amount *big.Int, message []byte) (*types.Transaction, error) { + return _Example.contract.Transact(opts, "onCall", context, zrc20, amount, message) +} + +// OnCall is a paid mutator transaction binding the contract method 0x5bcfd616. +// +// Solidity: function onCall((bytes,address,uint256) context, address zrc20, uint256 amount, bytes message) returns() +func (_Example *ExampleSession) OnCall(context ExamplezContext, zrc20 common.Address, amount *big.Int, message []byte) (*types.Transaction, error) { + return _Example.Contract.OnCall(&_Example.TransactOpts, context, zrc20, amount, message) +} + +// OnCall is a paid mutator transaction binding the contract method 0x5bcfd616. +// +// Solidity: function onCall((bytes,address,uint256) context, address zrc20, uint256 amount, bytes message) returns() +func (_Example *ExampleTransactorSession) OnCall(context ExamplezContext, zrc20 common.Address, amount *big.Int, message []byte) (*types.Transaction, error) { + return _Example.Contract.OnCall(&_Example.TransactOpts, context, zrc20, amount, message) +} + // OnCrossChainCall is a paid mutator transaction binding the contract method 0xde43156e. // // Solidity: function onCrossChainCall((bytes,address,uint256) context, address zrc20, uint256 amount, bytes message) returns() diff --git a/testutil/contracts/Example.json b/testutil/contracts/Example.json index c41132ea94..8334c4f97f 100644 --- a/testutil/contracts/Example.json +++ b/testutil/contracts/Example.json @@ -64,6 +64,51 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes", + "name": "origin", + "type": "bytes" + }, + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "chainID", + "type": "uint256" + } + ], + "internalType": "struct Example.zContext", + "name": "context", + "type": "tuple" + }, + { + "internalType": "address", + "name": "zrc20", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "message", + "type": "bytes" + } + ], + "name": "onCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -110,5 +155,5 @@ "type": "function" } ], - "bin": "6080604052348015600f57600080fd5b50600080819055506108e0806100266000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063dd8e556c1161005b578063dd8e556c146100b4578063de43156e146100be578063fd5ad965146100da578063febb0f7e146100e45761007d565b80633297071014610082578063afc874d2146100a0578063d720cb45146100aa575b600080fd5b61008a610102565b6040516100979190610300565b60405180910390f35b6100a8610190565b005b6100b26101c2565b005b6100bc6101fd565b005b6100d860048036038101906100d39190610449565b610240565b005b6100e2610260565b005b6100ec61026a565b6040516100f991906104fc565b60405180910390f35b6001805461010f90610546565b80601f016020809104026020016040519081016040528092919081815260200182805461013b90610546565b80156101885780601f1061015d57610100808354040283529160200191610188565b820191906000526020600020905b81548152906001019060200180831161016b57829003601f168201915b505050505081565b6040517fbfb4ebcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f4906105d4565b60405180910390fd5b600061023e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610235906105d4565b60405180910390fd5b565b826000819055508181600191826102589291906107da565b505050505050565b6001600081905550565b60005481565b600081519050919050565b600082825260208201905092915050565b60005b838110156102aa57808201518184015260208101905061028f565b60008484015250505050565b6000601f19601f8301169050919050565b60006102d282610270565b6102dc818561027b565b93506102ec81856020860161028c565b6102f5816102b6565b840191505092915050565b6000602082019050818103600083015261031a81846102c7565b905092915050565b600080fd5b600080fd5b600080fd5b6000606082840312156103475761034661032c565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061037b82610350565b9050919050565b61038b81610370565b811461039657600080fd5b50565b6000813590506103a881610382565b92915050565b6000819050919050565b6103c1816103ae565b81146103cc57600080fd5b50565b6000813590506103de816103b8565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610409576104086103e4565b5b8235905067ffffffffffffffff811115610426576104256103e9565b5b602083019150836001820283011115610442576104416103ee565b5b9250929050565b60008060008060006080868803121561046557610464610322565b5b600086013567ffffffffffffffff81111561048357610482610327565b5b61048f88828901610331565b95505060206104a088828901610399565b94505060406104b1888289016103cf565b935050606086013567ffffffffffffffff8111156104d2576104d1610327565b5b6104de888289016103f3565b92509250509295509295909350565b6104f6816103ae565b82525050565b600060208201905061051160008301846104ed565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061055e57607f821691505b60208210810361057157610570610517565b5b50919050565b600082825260208201905092915050565b7f666f6f0000000000000000000000000000000000000000000000000000000000600082015250565b60006105be600383610577565b91506105c982610588565b602082019050919050565b600060208201905081810360008301526105ed816105b1565b9050919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026106907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610653565b61069a8683610653565b95508019841693508086168417925050509392505050565b6000819050919050565b60006106d76106d26106cd846103ae565b6106b2565b6103ae565b9050919050565b6000819050919050565b6106f1836106bc565b6107056106fd826106de565b848454610660565b825550505050565b600090565b61071a61070d565b6107258184846106e8565b505050565b5b818110156107495761073e600082610712565b60018101905061072b565b5050565b601f82111561078e5761075f8161062e565b61076884610643565b81016020851015610777578190505b61078b61078385610643565b83018261072a565b50505b505050565b600082821c905092915050565b60006107b160001984600802610793565b1980831691505092915050565b60006107ca83836107a0565b9150826002028217905092915050565b6107e483836105f4565b67ffffffffffffffff8111156107fd576107fc6105ff565b5b6108078254610546565b61081282828561074d565b6000601f831160018114610841576000841561082f578287013590505b61083985826107be565b8655506108a1565b601f19841661084f8661062e565b60005b8281101561087757848901358255600182019150602085019450602081019050610852565b868310156108945784890135610890601f8916826107a0565b8355505b6001600288020188555050505b5050505050505056fea26469706673582212202506bee512af2f3acd98556baafd9afc04b2d8c95f09bbb5e387fce570c9a32764736f6c634300081a0033" + "bin": "6080604052348015600f57600080fd5b506000808190555061091b806100266000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063dd8e556c1161005b578063dd8e556c146100db578063de43156e146100e5578063fd5ad96514610101578063febb0f7e1461010b57610088565b8063329707101461008d5780635bcfd616146100ab578063afc874d2146100c7578063d720cb45146100d1575b600080fd5b610095610129565b6040516100a2919061033b565b60405180910390f35b6100c560048036038101906100c09190610484565b6101b7565b005b6100cf6101d7565b005b6100d9610209565b005b6100e3610244565b005b6100ff60048036038101906100fa9190610484565b610287565b005b61010961029b565b005b6101136102a5565b6040516101209190610537565b60405180910390f35b6001805461013690610581565b80601f016020809104026020016040519081016040528092919081815260200182805461016290610581565b80156101af5780601f10610184576101008083540402835291602001916101af565b820191906000526020600020905b81548152906001019060200180831161019257829003601f168201915b505050505081565b826000819055508181600191826101cf929190610798565b505050505050565b6040517fbfb4ebcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023b906108c5565b60405180910390fd5b6000610285576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027c906108c5565b60405180910390fd5b565b61029485858585856101b7565b5050505050565b6001600081905550565b60005481565b600081519050919050565b600082825260208201905092915050565b60005b838110156102e55780820151818401526020810190506102ca565b60008484015250505050565b6000601f19601f8301169050919050565b600061030d826102ab565b61031781856102b6565b93506103278185602086016102c7565b610330816102f1565b840191505092915050565b600060208201905081810360008301526103558184610302565b905092915050565b600080fd5b600080fd5b600080fd5b60006060828403121561038257610381610367565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103b68261038b565b9050919050565b6103c6816103ab565b81146103d157600080fd5b50565b6000813590506103e3816103bd565b92915050565b6000819050919050565b6103fc816103e9565b811461040757600080fd5b50565b600081359050610419816103f3565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126104445761044361041f565b5b8235905067ffffffffffffffff81111561046157610460610424565b5b60208301915083600182028301111561047d5761047c610429565b5b9250929050565b6000806000806000608086880312156104a05761049f61035d565b5b600086013567ffffffffffffffff8111156104be576104bd610362565b5b6104ca8882890161036c565b95505060206104db888289016103d4565b94505060406104ec8882890161040a565b935050606086013567ffffffffffffffff81111561050d5761050c610362565b5b6105198882890161042e565b92509250509295509295909350565b610531816103e9565b82525050565b600060208201905061054c6000830184610528565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061059957607f821691505b6020821081036105ac576105ab610552565b5b50919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261064e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610611565b6106588683610611565b95508019841693508086168417925050509392505050565b6000819050919050565b600061069561069061068b846103e9565b610670565b6103e9565b9050919050565b6000819050919050565b6106af8361067a565b6106c36106bb8261069c565b84845461061e565b825550505050565b600090565b6106d86106cb565b6106e38184846106a6565b505050565b5b81811015610707576106fc6000826106d0565b6001810190506106e9565b5050565b601f82111561074c5761071d816105ec565b61072684610601565b81016020851015610735578190505b61074961074185610601565b8301826106e8565b50505b505050565b600082821c905092915050565b600061076f60001984600802610751565b1980831691505092915050565b6000610788838361075e565b9150826002028217905092915050565b6107a283836105b2565b67ffffffffffffffff8111156107bb576107ba6105bd565b5b6107c58254610581565b6107d082828561070b565b6000601f8311600181146107ff57600084156107ed578287013590505b6107f7858261077c565b86555061085f565b601f19841661080d866105ec565b60005b8281101561083557848901358255600182019150602085019450602081019050610810565b86831015610852578489013561084e601f89168261075e565b8355505b6001600288020188555050505b50505050505050565b600082825260208201905092915050565b7f666f6f0000000000000000000000000000000000000000000000000000000000600082015250565b60006108af600383610868565b91506108ba82610879565b602082019050919050565b600060208201905081810360008301526108de816108a2565b905091905056fea26469706673582212209cfc763a2051af7ae03bd5c8a8765e80a09469a9bb8875cda4c3917306b2238264736f6c634300081a0033" } diff --git a/testutil/contracts/Example.sol b/testutil/contracts/Example.sol index 7109ebc60a..365a37c295 100644 --- a/testutil/contracts/Example.sol +++ b/testutil/contracts/Example.sol @@ -40,6 +40,15 @@ contract Example { uint256 amount, bytes calldata message ) external { + onCall(context, zrc20, amount, message); + } + + function onCall( + zContext calldata context, + address zrc20, + uint256 amount, + bytes calldata message + ) public { bar = amount; lastMessage = message; } diff --git a/testutil/contracts/Reverter.bin b/testutil/contracts/Reverter.bin index 582d94be71..cc4c1254cb 100644 --- a/testutil/contracts/Reverter.bin +++ b/testutil/contracts/Reverter.bin @@ -1 +1 @@ -6080604052348015600f57600080fd5b5061027f8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063de43156e14610030575b600080fd5b61004a600480360381019061004591906101a5565b61004c565b005b6040517fbfb4ebcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080fd5b600080fd5b600080fd5b6000606082840312156100a3576100a2610088565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100d7826100ac565b9050919050565b6100e7816100cc565b81146100f257600080fd5b50565b600081359050610104816100de565b92915050565b6000819050919050565b61011d8161010a565b811461012857600080fd5b50565b60008135905061013a81610114565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261016557610164610140565b5b8235905067ffffffffffffffff81111561018257610181610145565b5b60208301915083600182028301111561019e5761019d61014a565b5b9250929050565b6000806000806000608086880312156101c1576101c061007e565b5b600086013567ffffffffffffffff8111156101df576101de610083565b5b6101eb8882890161008d565b95505060206101fc888289016100f5565b945050604061020d8882890161012b565b935050606086013567ffffffffffffffff81111561022e5761022d610083565b5b61023a8882890161014f565b9250925050929550929590935056fea26469706673582212209d6fef8c2cffe61b2d6b1a5bf4d6f71d1ade0e1a1e6a8c8e9f09fe1c28a520d164736f6c63430008190033 +6080604052348015600f57600080fd5b5061027f8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063de43156e14610030575b600080fd5b61004a600480360381019061004591906101a5565b61004c565b005b6040517fbfb4ebcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080fd5b600080fd5b600080fd5b6000606082840312156100a3576100a2610088565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100d7826100ac565b9050919050565b6100e7816100cc565b81146100f257600080fd5b50565b600081359050610104816100de565b92915050565b6000819050919050565b61011d8161010a565b811461012857600080fd5b50565b60008135905061013a81610114565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261016557610164610140565b5b8235905067ffffffffffffffff81111561018257610181610145565b5b60208301915083600182028301111561019e5761019d61014a565b5b9250929050565b6000806000806000608086880312156101c1576101c061007e565b5b600086013567ffffffffffffffff8111156101df576101de610083565b5b6101eb8882890161008d565b95505060206101fc888289016100f5565b945050604061020d8882890161012b565b935050606086013567ffffffffffffffff81111561022e5761022d610083565b5b61023a8882890161014f565b9250925050929550929590935056fea2646970667358221220bc9e93b2d3f5e1969fc6b9d1d00d7fb28bdcb33a4e9f24aeb392acacc895146464736f6c634300081a0033 diff --git a/testutil/contracts/Reverter.go b/testutil/contracts/Reverter.go index 1e551e9362..806ebeed0f 100644 --- a/testutil/contracts/Reverter.go +++ b/testutil/contracts/Reverter.go @@ -26,6 +26,7 @@ var ( _ = common.Big1 _ = types.BloomLookup _ = event.NewSubscription + _ = abi.ConvertType ) // ReverterzContext is an auto generated low-level Go binding around an user-defined struct. @@ -38,7 +39,7 @@ type ReverterzContext struct { // ReverterMetaData contains all meta data concerning the Reverter contract. var ReverterMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"name\":\"Foo\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"origin\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"chainID\",\"type\":\"uint256\"}],\"internalType\":\"structReverter.zContext\",\"name\":\"context\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"zrc20\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"onCrossChainCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x6080604052348015600f57600080fd5b5061027f8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063de43156e14610030575b600080fd5b61004a600480360381019061004591906101a5565b61004c565b005b6040517fbfb4ebcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080fd5b600080fd5b600080fd5b6000606082840312156100a3576100a2610088565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100d7826100ac565b9050919050565b6100e7816100cc565b81146100f257600080fd5b50565b600081359050610104816100de565b92915050565b6000819050919050565b61011d8161010a565b811461012857600080fd5b50565b60008135905061013a81610114565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261016557610164610140565b5b8235905067ffffffffffffffff81111561018257610181610145565b5b60208301915083600182028301111561019e5761019d61014a565b5b9250929050565b6000806000806000608086880312156101c1576101c061007e565b5b600086013567ffffffffffffffff8111156101df576101de610083565b5b6101eb8882890161008d565b95505060206101fc888289016100f5565b945050604061020d8882890161012b565b935050606086013567ffffffffffffffff81111561022e5761022d610083565b5b61023a8882890161014f565b9250925050929550929590935056fea26469706673582212209d6fef8c2cffe61b2d6b1a5bf4d6f71d1ade0e1a1e6a8c8e9f09fe1c28a520d164736f6c63430008190033", + Bin: "0x6080604052348015600f57600080fd5b5061027f8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063de43156e14610030575b600080fd5b61004a600480360381019061004591906101a5565b61004c565b005b6040517fbfb4ebcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080fd5b600080fd5b600080fd5b6000606082840312156100a3576100a2610088565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100d7826100ac565b9050919050565b6100e7816100cc565b81146100f257600080fd5b50565b600081359050610104816100de565b92915050565b6000819050919050565b61011d8161010a565b811461012857600080fd5b50565b60008135905061013a81610114565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261016557610164610140565b5b8235905067ffffffffffffffff81111561018257610181610145565b5b60208301915083600182028301111561019e5761019d61014a565b5b9250929050565b6000806000806000608086880312156101c1576101c061007e565b5b600086013567ffffffffffffffff8111156101df576101de610083565b5b6101eb8882890161008d565b95505060206101fc888289016100f5565b945050604061020d8882890161012b565b935050606086013567ffffffffffffffff81111561022e5761022d610083565b5b61023a8882890161014f565b9250925050929550929590935056fea2646970667358221220bc9e93b2d3f5e1969fc6b9d1d00d7fb28bdcb33a4e9f24aeb392acacc895146464736f6c634300081a0033", } // ReverterABI is the input ABI used to generate the binding from. @@ -163,11 +164,11 @@ func NewReverterFilterer(address common.Address, filterer bind.ContractFilterer) // bindReverter binds a generic wrapper to an already deployed contract. func bindReverter(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := abi.JSON(strings.NewReader(ReverterABI)) + parsed, err := ReverterMetaData.GetAbi() if err != nil { return nil, err } - return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil + return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and diff --git a/testutil/contracts/Reverter.json b/testutil/contracts/Reverter.json index c6ac51dde4..2e935c52bb 100644 --- a/testutil/contracts/Reverter.json +++ b/testutil/contracts/Reverter.json @@ -51,5 +51,5 @@ "type": "function" } ], - "bin": "6080604052348015600f57600080fd5b5061027f8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063de43156e14610030575b600080fd5b61004a600480360381019061004591906101a5565b61004c565b005b6040517fbfb4ebcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080fd5b600080fd5b600080fd5b6000606082840312156100a3576100a2610088565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100d7826100ac565b9050919050565b6100e7816100cc565b81146100f257600080fd5b50565b600081359050610104816100de565b92915050565b6000819050919050565b61011d8161010a565b811461012857600080fd5b50565b60008135905061013a81610114565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261016557610164610140565b5b8235905067ffffffffffffffff81111561018257610181610145565b5b60208301915083600182028301111561019e5761019d61014a565b5b9250929050565b6000806000806000608086880312156101c1576101c061007e565b5b600086013567ffffffffffffffff8111156101df576101de610083565b5b6101eb8882890161008d565b95505060206101fc888289016100f5565b945050604061020d8882890161012b565b935050606086013567ffffffffffffffff81111561022e5761022d610083565b5b61023a8882890161014f565b9250925050929550929590935056fea26469706673582212209d6fef8c2cffe61b2d6b1a5bf4d6f71d1ade0e1a1e6a8c8e9f09fe1c28a520d164736f6c63430008190033" + "bin": "6080604052348015600f57600080fd5b5061027f8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063de43156e14610030575b600080fd5b61004a600480360381019061004591906101a5565b61004c565b005b6040517fbfb4ebcf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080fd5b600080fd5b600080fd5b6000606082840312156100a3576100a2610088565b5b81905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100d7826100ac565b9050919050565b6100e7816100cc565b81146100f257600080fd5b50565b600081359050610104816100de565b92915050565b6000819050919050565b61011d8161010a565b811461012857600080fd5b50565b60008135905061013a81610114565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261016557610164610140565b5b8235905067ffffffffffffffff81111561018257610181610145565b5b60208301915083600182028301111561019e5761019d61014a565b5b9250929050565b6000806000806000608086880312156101c1576101c061007e565b5b600086013567ffffffffffffffff8111156101df576101de610083565b5b6101eb8882890161008d565b95505060206101fc888289016100f5565b945050604061020d8882890161012b565b935050606086013567ffffffffffffffff81111561022e5761022d610083565b5b61023a8882890161014f565b9250925050929550929590935056fea2646970667358221220bc9e93b2d3f5e1969fc6b9d1d00d7fb28bdcb33a4e9f24aeb392acacc895146464736f6c634300081a0033" } diff --git a/testutil/contracts/Withdrawer.bin b/testutil/contracts/Withdrawer.bin index b618dfb11d..7f7647be18 100644 --- a/testutil/contracts/Withdrawer.bin +++ b/testutil/contracts/Withdrawer.bin @@ -1 +1 @@ -6080604052348015600f57600080fd5b506107568061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e3be6f6814610030575b600080fd5b61004a600480360381019061004591906103ff565b61004c565b005b6000808473ffffffffffffffffffffffffffffffffffffffff1663d9eeebed6040518163ffffffff1660e01b815260040160408051808303816000875af115801561009b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100bf91906104c8565b915091508173ffffffffffffffffffffffffffffffffffffffff166323b872dd33306001876100ee9190610537565b856100f9919061056b565b6040518463ffffffff1660e01b8152600401610117939291906105cb565b600060405180830381600087803b15801561013157600080fd5b505af1158015610145573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663095ea7b3866001866101739190610537565b8461017e919061056b565b6040518363ffffffff1660e01b815260040161019b929190610602565b600060405180830381600087803b1580156101b557600080fd5b505af11580156101c9573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff166323b872dd333086886101f7919061056b565b6040518463ffffffff1660e01b8152600401610215939291906105cb565b600060405180830381600087803b15801561022f57600080fd5b505af1158015610243573d6000803e3d6000fd5b5050505060005b838110156102e0578573ffffffffffffffffffffffffffffffffffffffff1663c70126268989886040518463ffffffff1660e01b815260040161028f93929190610689565b6020604051808303816000875af11580156102ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d291906106f3565b50808060010191505061024a565b5050505050505050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610319576103186102f4565b5b8235905067ffffffffffffffff811115610336576103356102f9565b5b602083019150836001820283011115610352576103516102fe565b5b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061038482610359565b9050919050565b600061039682610379565b9050919050565b6103a68161038b565b81146103b157600080fd5b50565b6000813590506103c38161039d565b92915050565b6000819050919050565b6103dc816103c9565b81146103e757600080fd5b50565b6000813590506103f9816103d3565b92915050565b60008060008060006080868803121561041b5761041a6102ea565b5b600086013567ffffffffffffffff811115610439576104386102ef565b5b61044588828901610303565b95509550506020610458888289016103b4565b9350506040610469888289016103ea565b925050606061047a888289016103ea565b9150509295509295909350565b61049081610379565b811461049b57600080fd5b50565b6000815190506104ad81610487565b92915050565b6000815190506104c2816103d3565b92915050565b600080604083850312156104df576104de6102ea565b5b60006104ed8582860161049e565b92505060206104fe858286016104b3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610542826103c9565b915061054d836103c9565b925082820190508082111561056557610564610508565b5b92915050565b6000610576826103c9565b9150610581836103c9565b925082820261058f816103c9565b915082820484148315176105a6576105a5610508565b5b5092915050565b6105b681610379565b82525050565b6105c5816103c9565b82525050565b60006060820190506105e060008301866105ad565b6105ed60208301856105ad565b6105fa60408301846105bc565b949350505050565b600060408201905061061760008301856105ad565b61062460208301846105bc565b9392505050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b6000610668838561062b565b935061067583858461063c565b61067e8361064b565b840190509392505050565b600060408201905081810360008301526106a481858761065c565b90506106b360208301846105bc565b949350505050565b60008115159050919050565b6106d0816106bb565b81146106db57600080fd5b50565b6000815190506106ed816106c7565b92915050565b600060208284031215610709576107086102ea565b5b6000610717848285016106de565b9150509291505056fea264697066735822122041c37b70ead002476ecfdd58a860341299d12b3a46089a50bd573e25dbb8af3a64736f6c63430008190033 +6080604052348015600f57600080fd5b506107568061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e3be6f6814610030575b600080fd5b61004a600480360381019061004591906103ff565b61004c565b005b6000808473ffffffffffffffffffffffffffffffffffffffff1663d9eeebed6040518163ffffffff1660e01b815260040160408051808303816000875af115801561009b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100bf91906104c8565b915091508173ffffffffffffffffffffffffffffffffffffffff166323b872dd33306001876100ee9190610537565b856100f9919061056b565b6040518463ffffffff1660e01b8152600401610117939291906105cb565b600060405180830381600087803b15801561013157600080fd5b505af1158015610145573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663095ea7b3866001866101739190610537565b8461017e919061056b565b6040518363ffffffff1660e01b815260040161019b929190610602565b600060405180830381600087803b1580156101b557600080fd5b505af11580156101c9573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff166323b872dd333086886101f7919061056b565b6040518463ffffffff1660e01b8152600401610215939291906105cb565b600060405180830381600087803b15801561022f57600080fd5b505af1158015610243573d6000803e3d6000fd5b5050505060005b838110156102e0578573ffffffffffffffffffffffffffffffffffffffff1663c70126268989886040518463ffffffff1660e01b815260040161028f93929190610689565b6020604051808303816000875af11580156102ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d291906106f3565b50808060010191505061024a565b5050505050505050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610319576103186102f4565b5b8235905067ffffffffffffffff811115610336576103356102f9565b5b602083019150836001820283011115610352576103516102fe565b5b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061038482610359565b9050919050565b600061039682610379565b9050919050565b6103a68161038b565b81146103b157600080fd5b50565b6000813590506103c38161039d565b92915050565b6000819050919050565b6103dc816103c9565b81146103e757600080fd5b50565b6000813590506103f9816103d3565b92915050565b60008060008060006080868803121561041b5761041a6102ea565b5b600086013567ffffffffffffffff811115610439576104386102ef565b5b61044588828901610303565b95509550506020610458888289016103b4565b9350506040610469888289016103ea565b925050606061047a888289016103ea565b9150509295509295909350565b61049081610379565b811461049b57600080fd5b50565b6000815190506104ad81610487565b92915050565b6000815190506104c2816103d3565b92915050565b600080604083850312156104df576104de6102ea565b5b60006104ed8582860161049e565b92505060206104fe858286016104b3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610542826103c9565b915061054d836103c9565b925082820190508082111561056557610564610508565b5b92915050565b6000610576826103c9565b9150610581836103c9565b925082820261058f816103c9565b915082820484148315176105a6576105a5610508565b5b5092915050565b6105b681610379565b82525050565b6105c5816103c9565b82525050565b60006060820190506105e060008301866105ad565b6105ed60208301856105ad565b6105fa60408301846105bc565b949350505050565b600060408201905061061760008301856105ad565b61062460208301846105bc565b9392505050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b6000610668838561062b565b935061067583858461063c565b61067e8361064b565b840190509392505050565b600060408201905081810360008301526106a481858761065c565b90506106b360208301846105bc565b949350505050565b60008115159050919050565b6106d0816106bb565b81146106db57600080fd5b50565b6000815190506106ed816106c7565b92915050565b600060208284031215610709576107086102ea565b5b6000610717848285016106de565b9150509291505056fea264697066735822122033078b0e7edd03713aac7b1ea4af78a8bbb265244bacc401ddfadb2e31303c4564736f6c634300081a0033 diff --git a/testutil/contracts/Withdrawer.go b/testutil/contracts/Withdrawer.go index 3fb88de4aa..2e3c6aad5a 100644 --- a/testutil/contracts/Withdrawer.go +++ b/testutil/contracts/Withdrawer.go @@ -26,12 +26,13 @@ var ( _ = common.Big1 _ = types.BloomLookup _ = event.NewSubscription + _ = abi.ConvertType ) // WithdrawerMetaData contains all meta data concerning the Withdrawer contract. var WithdrawerMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"recipient\",\"type\":\"bytes\"},{\"internalType\":\"contractIZRC20\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"name\":\"runWithdraws\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x6080604052348015600f57600080fd5b506107568061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e3be6f6814610030575b600080fd5b61004a600480360381019061004591906103ff565b61004c565b005b6000808473ffffffffffffffffffffffffffffffffffffffff1663d9eeebed6040518163ffffffff1660e01b815260040160408051808303816000875af115801561009b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100bf91906104c8565b915091508173ffffffffffffffffffffffffffffffffffffffff166323b872dd33306001876100ee9190610537565b856100f9919061056b565b6040518463ffffffff1660e01b8152600401610117939291906105cb565b600060405180830381600087803b15801561013157600080fd5b505af1158015610145573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663095ea7b3866001866101739190610537565b8461017e919061056b565b6040518363ffffffff1660e01b815260040161019b929190610602565b600060405180830381600087803b1580156101b557600080fd5b505af11580156101c9573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff166323b872dd333086886101f7919061056b565b6040518463ffffffff1660e01b8152600401610215939291906105cb565b600060405180830381600087803b15801561022f57600080fd5b505af1158015610243573d6000803e3d6000fd5b5050505060005b838110156102e0578573ffffffffffffffffffffffffffffffffffffffff1663c70126268989886040518463ffffffff1660e01b815260040161028f93929190610689565b6020604051808303816000875af11580156102ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d291906106f3565b50808060010191505061024a565b5050505050505050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610319576103186102f4565b5b8235905067ffffffffffffffff811115610336576103356102f9565b5b602083019150836001820283011115610352576103516102fe565b5b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061038482610359565b9050919050565b600061039682610379565b9050919050565b6103a68161038b565b81146103b157600080fd5b50565b6000813590506103c38161039d565b92915050565b6000819050919050565b6103dc816103c9565b81146103e757600080fd5b50565b6000813590506103f9816103d3565b92915050565b60008060008060006080868803121561041b5761041a6102ea565b5b600086013567ffffffffffffffff811115610439576104386102ef565b5b61044588828901610303565b95509550506020610458888289016103b4565b9350506040610469888289016103ea565b925050606061047a888289016103ea565b9150509295509295909350565b61049081610379565b811461049b57600080fd5b50565b6000815190506104ad81610487565b92915050565b6000815190506104c2816103d3565b92915050565b600080604083850312156104df576104de6102ea565b5b60006104ed8582860161049e565b92505060206104fe858286016104b3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610542826103c9565b915061054d836103c9565b925082820190508082111561056557610564610508565b5b92915050565b6000610576826103c9565b9150610581836103c9565b925082820261058f816103c9565b915082820484148315176105a6576105a5610508565b5b5092915050565b6105b681610379565b82525050565b6105c5816103c9565b82525050565b60006060820190506105e060008301866105ad565b6105ed60208301856105ad565b6105fa60408301846105bc565b949350505050565b600060408201905061061760008301856105ad565b61062460208301846105bc565b9392505050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b6000610668838561062b565b935061067583858461063c565b61067e8361064b565b840190509392505050565b600060408201905081810360008301526106a481858761065c565b90506106b360208301846105bc565b949350505050565b60008115159050919050565b6106d0816106bb565b81146106db57600080fd5b50565b6000815190506106ed816106c7565b92915050565b600060208284031215610709576107086102ea565b5b6000610717848285016106de565b9150509291505056fea264697066735822122041c37b70ead002476ecfdd58a860341299d12b3a46089a50bd573e25dbb8af3a64736f6c63430008190033", + Bin: "0x6080604052348015600f57600080fd5b506107568061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e3be6f6814610030575b600080fd5b61004a600480360381019061004591906103ff565b61004c565b005b6000808473ffffffffffffffffffffffffffffffffffffffff1663d9eeebed6040518163ffffffff1660e01b815260040160408051808303816000875af115801561009b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100bf91906104c8565b915091508173ffffffffffffffffffffffffffffffffffffffff166323b872dd33306001876100ee9190610537565b856100f9919061056b565b6040518463ffffffff1660e01b8152600401610117939291906105cb565b600060405180830381600087803b15801561013157600080fd5b505af1158015610145573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663095ea7b3866001866101739190610537565b8461017e919061056b565b6040518363ffffffff1660e01b815260040161019b929190610602565b600060405180830381600087803b1580156101b557600080fd5b505af11580156101c9573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff166323b872dd333086886101f7919061056b565b6040518463ffffffff1660e01b8152600401610215939291906105cb565b600060405180830381600087803b15801561022f57600080fd5b505af1158015610243573d6000803e3d6000fd5b5050505060005b838110156102e0578573ffffffffffffffffffffffffffffffffffffffff1663c70126268989886040518463ffffffff1660e01b815260040161028f93929190610689565b6020604051808303816000875af11580156102ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d291906106f3565b50808060010191505061024a565b5050505050505050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610319576103186102f4565b5b8235905067ffffffffffffffff811115610336576103356102f9565b5b602083019150836001820283011115610352576103516102fe565b5b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061038482610359565b9050919050565b600061039682610379565b9050919050565b6103a68161038b565b81146103b157600080fd5b50565b6000813590506103c38161039d565b92915050565b6000819050919050565b6103dc816103c9565b81146103e757600080fd5b50565b6000813590506103f9816103d3565b92915050565b60008060008060006080868803121561041b5761041a6102ea565b5b600086013567ffffffffffffffff811115610439576104386102ef565b5b61044588828901610303565b95509550506020610458888289016103b4565b9350506040610469888289016103ea565b925050606061047a888289016103ea565b9150509295509295909350565b61049081610379565b811461049b57600080fd5b50565b6000815190506104ad81610487565b92915050565b6000815190506104c2816103d3565b92915050565b600080604083850312156104df576104de6102ea565b5b60006104ed8582860161049e565b92505060206104fe858286016104b3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610542826103c9565b915061054d836103c9565b925082820190508082111561056557610564610508565b5b92915050565b6000610576826103c9565b9150610581836103c9565b925082820261058f816103c9565b915082820484148315176105a6576105a5610508565b5b5092915050565b6105b681610379565b82525050565b6105c5816103c9565b82525050565b60006060820190506105e060008301866105ad565b6105ed60208301856105ad565b6105fa60408301846105bc565b949350505050565b600060408201905061061760008301856105ad565b61062460208301846105bc565b9392505050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b6000610668838561062b565b935061067583858461063c565b61067e8361064b565b840190509392505050565b600060408201905081810360008301526106a481858761065c565b90506106b360208301846105bc565b949350505050565b60008115159050919050565b6106d0816106bb565b81146106db57600080fd5b50565b6000815190506106ed816106c7565b92915050565b600060208284031215610709576107086102ea565b5b6000610717848285016106de565b9150509291505056fea264697066735822122033078b0e7edd03713aac7b1ea4af78a8bbb265244bacc401ddfadb2e31303c4564736f6c634300081a0033", } // WithdrawerABI is the input ABI used to generate the binding from. @@ -156,11 +157,11 @@ func NewWithdrawerFilterer(address common.Address, filterer bind.ContractFiltere // bindWithdrawer binds a generic wrapper to an already deployed contract. func bindWithdrawer(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := abi.JSON(strings.NewReader(WithdrawerABI)) + parsed, err := WithdrawerMetaData.GetAbi() if err != nil { return nil, err } - return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil + return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and diff --git a/testutil/contracts/Withdrawer.json b/testutil/contracts/Withdrawer.json index 75e65977fa..93e8a80bfe 100644 --- a/testutil/contracts/Withdrawer.json +++ b/testutil/contracts/Withdrawer.json @@ -29,5 +29,5 @@ "type": "function" } ], - "bin": "6080604052348015600f57600080fd5b506107568061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e3be6f6814610030575b600080fd5b61004a600480360381019061004591906103ff565b61004c565b005b6000808473ffffffffffffffffffffffffffffffffffffffff1663d9eeebed6040518163ffffffff1660e01b815260040160408051808303816000875af115801561009b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100bf91906104c8565b915091508173ffffffffffffffffffffffffffffffffffffffff166323b872dd33306001876100ee9190610537565b856100f9919061056b565b6040518463ffffffff1660e01b8152600401610117939291906105cb565b600060405180830381600087803b15801561013157600080fd5b505af1158015610145573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663095ea7b3866001866101739190610537565b8461017e919061056b565b6040518363ffffffff1660e01b815260040161019b929190610602565b600060405180830381600087803b1580156101b557600080fd5b505af11580156101c9573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff166323b872dd333086886101f7919061056b565b6040518463ffffffff1660e01b8152600401610215939291906105cb565b600060405180830381600087803b15801561022f57600080fd5b505af1158015610243573d6000803e3d6000fd5b5050505060005b838110156102e0578573ffffffffffffffffffffffffffffffffffffffff1663c70126268989886040518463ffffffff1660e01b815260040161028f93929190610689565b6020604051808303816000875af11580156102ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d291906106f3565b50808060010191505061024a565b5050505050505050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610319576103186102f4565b5b8235905067ffffffffffffffff811115610336576103356102f9565b5b602083019150836001820283011115610352576103516102fe565b5b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061038482610359565b9050919050565b600061039682610379565b9050919050565b6103a68161038b565b81146103b157600080fd5b50565b6000813590506103c38161039d565b92915050565b6000819050919050565b6103dc816103c9565b81146103e757600080fd5b50565b6000813590506103f9816103d3565b92915050565b60008060008060006080868803121561041b5761041a6102ea565b5b600086013567ffffffffffffffff811115610439576104386102ef565b5b61044588828901610303565b95509550506020610458888289016103b4565b9350506040610469888289016103ea565b925050606061047a888289016103ea565b9150509295509295909350565b61049081610379565b811461049b57600080fd5b50565b6000815190506104ad81610487565b92915050565b6000815190506104c2816103d3565b92915050565b600080604083850312156104df576104de6102ea565b5b60006104ed8582860161049e565b92505060206104fe858286016104b3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610542826103c9565b915061054d836103c9565b925082820190508082111561056557610564610508565b5b92915050565b6000610576826103c9565b9150610581836103c9565b925082820261058f816103c9565b915082820484148315176105a6576105a5610508565b5b5092915050565b6105b681610379565b82525050565b6105c5816103c9565b82525050565b60006060820190506105e060008301866105ad565b6105ed60208301856105ad565b6105fa60408301846105bc565b949350505050565b600060408201905061061760008301856105ad565b61062460208301846105bc565b9392505050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b6000610668838561062b565b935061067583858461063c565b61067e8361064b565b840190509392505050565b600060408201905081810360008301526106a481858761065c565b90506106b360208301846105bc565b949350505050565b60008115159050919050565b6106d0816106bb565b81146106db57600080fd5b50565b6000815190506106ed816106c7565b92915050565b600060208284031215610709576107086102ea565b5b6000610717848285016106de565b9150509291505056fea264697066735822122041c37b70ead002476ecfdd58a860341299d12b3a46089a50bd573e25dbb8af3a64736f6c63430008190033" + "bin": "6080604052348015600f57600080fd5b506107568061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e3be6f6814610030575b600080fd5b61004a600480360381019061004591906103ff565b61004c565b005b6000808473ffffffffffffffffffffffffffffffffffffffff1663d9eeebed6040518163ffffffff1660e01b815260040160408051808303816000875af115801561009b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100bf91906104c8565b915091508173ffffffffffffffffffffffffffffffffffffffff166323b872dd33306001876100ee9190610537565b856100f9919061056b565b6040518463ffffffff1660e01b8152600401610117939291906105cb565b600060405180830381600087803b15801561013157600080fd5b505af1158015610145573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663095ea7b3866001866101739190610537565b8461017e919061056b565b6040518363ffffffff1660e01b815260040161019b929190610602565b600060405180830381600087803b1580156101b557600080fd5b505af11580156101c9573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff166323b872dd333086886101f7919061056b565b6040518463ffffffff1660e01b8152600401610215939291906105cb565b600060405180830381600087803b15801561022f57600080fd5b505af1158015610243573d6000803e3d6000fd5b5050505060005b838110156102e0578573ffffffffffffffffffffffffffffffffffffffff1663c70126268989886040518463ffffffff1660e01b815260040161028f93929190610689565b6020604051808303816000875af11580156102ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d291906106f3565b50808060010191505061024a565b5050505050505050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610319576103186102f4565b5b8235905067ffffffffffffffff811115610336576103356102f9565b5b602083019150836001820283011115610352576103516102fe565b5b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061038482610359565b9050919050565b600061039682610379565b9050919050565b6103a68161038b565b81146103b157600080fd5b50565b6000813590506103c38161039d565b92915050565b6000819050919050565b6103dc816103c9565b81146103e757600080fd5b50565b6000813590506103f9816103d3565b92915050565b60008060008060006080868803121561041b5761041a6102ea565b5b600086013567ffffffffffffffff811115610439576104386102ef565b5b61044588828901610303565b95509550506020610458888289016103b4565b9350506040610469888289016103ea565b925050606061047a888289016103ea565b9150509295509295909350565b61049081610379565b811461049b57600080fd5b50565b6000815190506104ad81610487565b92915050565b6000815190506104c2816103d3565b92915050565b600080604083850312156104df576104de6102ea565b5b60006104ed8582860161049e565b92505060206104fe858286016104b3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610542826103c9565b915061054d836103c9565b925082820190508082111561056557610564610508565b5b92915050565b6000610576826103c9565b9150610581836103c9565b925082820261058f816103c9565b915082820484148315176105a6576105a5610508565b5b5092915050565b6105b681610379565b82525050565b6105c5816103c9565b82525050565b60006060820190506105e060008301866105ad565b6105ed60208301856105ad565b6105fa60408301846105bc565b949350505050565b600060408201905061061760008301856105ad565b61062460208301846105bc565b9392505050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b6000610668838561062b565b935061067583858461063c565b61067e8361064b565b840190509392505050565b600060408201905081810360008301526106a481858761065c565b90506106b360208301846105bc565b949350505050565b60008115159050919050565b6106d0816106bb565b81146106db57600080fd5b50565b6000815190506106ed816106c7565b92915050565b600060208284031215610709576107086102ea565b5b6000610717848285016106de565b9150509291505056fea264697066735822122033078b0e7edd03713aac7b1ea4af78a8bbb265244bacc401ddfadb2e31303c4564736f6c634300081a0033" } From 71ffaa6ab8becae89e510b04ef3bdb116807db25 Mon Sep 17 00:00:00 2001 From: lumtis Date: Thu, 30 Jan 2025 17:07:52 +0100 Subject: [PATCH 3/7] changelogs --- changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelog.md b/changelog.md index c8cccee224..3d0c7401e9 100644 --- a/changelog.md +++ b/changelog.md @@ -19,7 +19,7 @@ * [3390](https://github.com/zeta-chain/node/pull/3390) - orchestrator V2: EVM observer-signer * [3326](https://github.com/zeta-chain/node/pull/3326) - improve error messages for cctx status object * [3418](https://github.com/zeta-chain/node/pull/3418) - orchestrator V2: TON observer-signer - +* [3439](https://github.com/zeta-chain/node/pull/3439) - use protocol contracts V2 with TON deposits ### Fixes From 34d3a69b1de9d3d396ae7bfabfe713bfc6f9cbb4 Mon Sep 17 00:00:00 2001 From: lumtis Date: Thu, 30 Jan 2025 17:55:43 +0100 Subject: [PATCH 4/7] fix unit tests --- .../chains/ton/observer/inbound_test.go | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/zetaclient/chains/ton/observer/inbound_test.go b/zetaclient/chains/ton/observer/inbound_test.go index eb6b737f29..009416bcc6 100644 --- a/zetaclient/chains/ton/observer/inbound_test.go +++ b/zetaclient/chains/ton/observer/inbound_test.go @@ -2,7 +2,6 @@ package observer import ( "encoding/hex" - "fmt" "testing" "github.com/pkg/errors" @@ -163,7 +162,9 @@ func TestInbound(t *testing.T) { assert.Equal(t, "", cctx.Asset) assert.Equal(t, deposit.Amount.Uint64(), cctx.Amount.Uint64()) - assert.Equal(t, hex.EncodeToString(deposit.Recipient.Bytes()), cctx.Message) + assert.Equal(t, "", cctx.Message) + assert.Equal(t, deposit.Recipient.Hex(), cctx.Receiver) + assert.False(t, cctx.IsCrossChainCall) // Check hash & block height expectedHash := liteapi.TransactionHashToString(depositTX.Lt, txHash(depositTX)) @@ -225,13 +226,9 @@ func TestInbound(t *testing.T) { assert.Equal(t, "", cctx.Asset) assert.Equal(t, depositAndCall.Amount.Uint64(), cctx.Amount.Uint64()) - - expectedMessage := hex.EncodeToString(append( - depositAndCall.Recipient.Bytes(), - []byte(callData)..., - )) - - assert.Equal(t, expectedMessage, cctx.Message) + assert.Equal(t, hex.EncodeToString([]byte(callData)), cctx.Message) + assert.Equal(t, depositAndCall.Recipient.Hex(), cctx.Receiver) + assert.True(t, cctx.IsCrossChainCall) // Check hash & block height expectedHash := liteapi.TransactionHashToString(depositAndCallTX.Lt, txHash(depositAndCallTX)) @@ -436,9 +433,8 @@ func TestInboundTracker(t *testing.T) { vote := ts.votesBag[0] assert.Equal(t, deposit.Amount, vote.Amount) assert.Equal(t, deposit.Sender.ToRaw(), vote.Sender) - - // zevm recipient bytes == memo bytes - assert.Equal(t, fmt.Sprintf("%x", deposit.Recipient), vote.Message) + assert.Equal(t, "", vote.Message) + assert.Equal(t, deposit.Recipient.Hex(), vote.Receiver) } func txHash(tx ton.Transaction) ton.Bits256 { From 55a33a59cabeef4e3732f66e7d9f19efabe71eb8 Mon Sep 17 00:00:00 2001 From: lumtis Date: Tue, 18 Feb 2025 15:40:33 +0100 Subject: [PATCH 5/7] some fixes --- e2e/runner/zevm.go | 4 ++++ zetaclient/chains/ton/observer/inbound.go | 1 + 2 files changed, 5 insertions(+) diff --git a/e2e/runner/zevm.go b/e2e/runner/zevm.go index a42b8e2a4f..77cf30ce31 100644 --- a/e2e/runner/zevm.go +++ b/e2e/runner/zevm.go @@ -364,6 +364,10 @@ func (r *E2ERunner) WaitForSpecificCCTX( for i := range res.CrossChainTx { tx := res.CrossChainTx[i] + + r.Logger.Print("CCTX") + r.Logger.Print(tx.String()) + if filter(tx) { return r.waitForMinedCCTXFromIndex(tx.Index, status) } diff --git a/zetaclient/chains/ton/observer/inbound.go b/zetaclient/chains/ton/observer/inbound.go index 132065a836..a6ef5a1666 100644 --- a/zetaclient/chains/ton/observer/inbound.go +++ b/zetaclient/chains/ton/observer/inbound.go @@ -282,6 +282,7 @@ func (ob *Observer) voteDeposit( types.ProtocolContractVersion_V2, false, // not used types.InboundStatus_SUCCESS, + types.ConfirmationMode_SAFE, types.WithCrossChainCall(inboundData.isContractCall), ) From db0615d2c4c078fa7cb8eae2b470d06337c7bfa2 Mon Sep 17 00:00:00 2001 From: lumtis Date: Tue, 18 Feb 2025 17:05:08 +0100 Subject: [PATCH 6/7] fix filter --- e2e/runner/ton.go | 5 +---- e2e/runner/zevm.go | 4 ---- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/e2e/runner/ton.go b/e2e/runner/ton.go index 369bfa0df3..97b0a6d472 100644 --- a/e2e/runner/ton.go +++ b/e2e/runner/ton.go @@ -113,12 +113,9 @@ func (r *E2ERunner) TONDepositAndCall( } filter := func(cctx *cctypes.CrossChainTx) bool { - memo := zevmRecipient.Bytes() - memo = append(memo, callData...) - return cctx.InboundParams.SenderChainId == chain.ChainId && cctx.InboundParams.Sender == sender.GetAddress().ToRaw() && - cctx.RelayedMessage == hex.EncodeToString(memo) + cctx.RelayedMessage == hex.EncodeToString(callData) } // Wait for cctx diff --git a/e2e/runner/zevm.go b/e2e/runner/zevm.go index 77cf30ce31..a42b8e2a4f 100644 --- a/e2e/runner/zevm.go +++ b/e2e/runner/zevm.go @@ -364,10 +364,6 @@ func (r *E2ERunner) WaitForSpecificCCTX( for i := range res.CrossChainTx { tx := res.CrossChainTx[i] - - r.Logger.Print("CCTX") - r.Logger.Print(tx.String()) - if filter(tx) { return r.waitForMinedCCTXFromIndex(tx.Index, status) } From 0da9c92f3d817fff4cf82bb0b354b403886133f5 Mon Sep 17 00:00:00 2001 From: lumtis Date: Wed, 19 Feb 2025 12:55:13 +0100 Subject: [PATCH 7/7] remove memo --- pkg/contracts/ton/gateway_msg.go | 10 ---------- testutil/sample/ton_test.go | 2 -- zetaclient/chains/ton/observer/inbound.go | 4 ++-- 3 files changed, 2 insertions(+), 14 deletions(-) diff --git a/pkg/contracts/ton/gateway_msg.go b/pkg/contracts/ton/gateway_msg.go index c389be54c2..fd68ca0eec 100644 --- a/pkg/contracts/ton/gateway_msg.go +++ b/pkg/contracts/ton/gateway_msg.go @@ -57,11 +57,6 @@ type Deposit struct { Recipient eth.Address } -// Memo casts deposit to memo bytes -func (d Deposit) Memo() []byte { - return []byte{} -} - // AsBody casts struct as internal message body. func (d Deposit) AsBody() (*boc.Cell, error) { b := boc.NewCell() @@ -75,11 +70,6 @@ type DepositAndCall struct { CallData []byte } -// Memo casts deposit to call to memo bytes -func (d DepositAndCall) Memo() []byte { - return d.CallData -} - // AsBody casts struct to internal message body. func (d DepositAndCall) AsBody() (*boc.Cell, error) { b := boc.NewCell() diff --git a/testutil/sample/ton_test.go b/testutil/sample/ton_test.go index 73474db0d4..48e45047ff 100644 --- a/testutil/sample/ton_test.go +++ b/testutil/sample/ton_test.go @@ -59,7 +59,6 @@ func TestTONSamples(t *testing.T) { require.Equal(t, int(d.Amount.Uint64()), int(d2.Amount.Uint64())) require.Equal(t, d.Sender.ToRaw(), d2.Sender.ToRaw()) require.Equal(t, d.Recipient.Hex(), d2.Recipient.Hex()) - require.Equal(t, d.Memo(), d2.Memo()) }) t.Run("Deposit and call", func(t *testing.T) { @@ -88,7 +87,6 @@ func TestTONSamples(t *testing.T) { require.Equal(t, d.Sender.ToRaw(), d2.Sender.ToRaw()) require.Equal(t, d.Recipient.Hex(), d2.Recipient.Hex()) require.Equal(t, d.CallData, d2.CallData) - require.Equal(t, d.Memo(), d2.Memo()) }) } diff --git a/zetaclient/chains/ton/observer/inbound.go b/zetaclient/chains/ton/observer/inbound.go index a6ef5a1666..de0510dd18 100644 --- a/zetaclient/chains/ton/observer/inbound.go +++ b/zetaclient/chains/ton/observer/inbound.go @@ -224,7 +224,7 @@ func extractInboundData(tx *toncontracts.Transaction) (inboundData, error) { sender: d.Sender.ToRaw(), amount: d.Amount, receiver: d.Recipient.Hex(), - message: d.Memo(), + message: []byte{}, isContractCall: false, }, nil case toncontracts.OpDepositAndCall: @@ -236,7 +236,7 @@ func extractInboundData(tx *toncontracts.Transaction) (inboundData, error) { sender: d.Sender.ToRaw(), amount: d.Amount, receiver: d.Recipient.Hex(), - message: d.Memo(), + message: d.CallData, isContractCall: true, }, nil default: