From 076ec9b371a5add9504bab4807ffad92e1a7132e Mon Sep 17 00:00:00 2001 From: viveksharmapoudel Date: Wed, 19 Jul 2023 16:25:52 +0545 Subject: [PATCH 1/5] fix: generalize archway module as wasm module --- cmd/config.go | 8 +- .../{ibc-archway.json => ibc-wasm.json} | 8 +- go.mod | 1 - relayer/chains/{archway => wasm}/accounts.go | 12 +- .../archway_chain_processor.go | 42 +++--- .../{archway => wasm}/archway_prefix.go | 6 +- relayer/chains/{archway => wasm}/codec.go | 6 +- relayer/chains/{archway => wasm}/consts.go | 2 +- .../chains/{archway => wasm}/event_parser.go | 4 +- .../{archway => wasm}/event_parser_test.go | 2 +- .../chains/{archway => wasm}/grpc_query.go | 14 +- .../{archway => wasm}/helper_debug_msg.go | 4 +- relayer/chains/{archway => wasm}/keys.go | 26 ++-- .../{archway => wasm}/message_handler.go | 24 +-- .../{archway => wasm}/module/app_module.go | 2 +- relayer/chains/{archway => wasm}/msg.go | 18 +-- relayer/chains/{archway => wasm}/provider.go | 84 +++++------ .../chains/{archway => wasm}/provider_test.go | 92 +++++------- relayer/chains/{archway => wasm}/query.go | 134 ++++++++--------- .../chains/{archway => wasm}/storage_key.go | 2 +- .../{archway => wasm}/storage_key_test.go | 2 +- relayer/chains/{archway => wasm}/tx.go | 138 +++++++++--------- .../chains/{archway => wasm}/types/types.go | 0 relayer/chains/{archway => wasm}/utils.go | 2 +- relayer/common/const.go | 2 +- relayer/strategies.go | 6 +- 26 files changed, 312 insertions(+), 329 deletions(-) rename examples/demo/configs/chains/{ibc-archway.json => ibc-wasm.json} (71%) rename relayer/chains/{archway => wasm}/accounts.go (79%) rename relayer/chains/{archway => wasm}/archway_chain_processor.go (90%) rename relayer/chains/{archway => wasm}/archway_prefix.go (91%) rename relayer/chains/{archway => wasm}/codec.go (91%) rename relayer/chains/{archway => wasm}/consts.go (98%) rename relayer/chains/{archway => wasm}/event_parser.go (99%) rename relayer/chains/{archway => wasm}/event_parser_test.go (99%) rename relayer/chains/{archway => wasm}/grpc_query.go (88%) rename relayer/chains/{archway => wasm}/helper_debug_msg.go (94%) rename relayer/chains/{archway => wasm}/keys.go (84%) rename relayer/chains/{archway => wasm}/message_handler.go (83%) rename relayer/chains/{archway => wasm}/module/app_module.go (97%) rename relayer/chains/{archway => wasm}/msg.go (69%) rename relayer/chains/{archway => wasm}/provider.go (82%) rename relayer/chains/{archway => wasm}/provider_test.go (93%) rename relayer/chains/{archway => wasm}/query.go (70%) rename relayer/chains/{archway => wasm}/storage_key.go (98%) rename relayer/chains/{archway => wasm}/storage_key_test.go (93%) rename relayer/chains/{archway => wasm}/tx.go (82%) rename relayer/chains/{archway => wasm}/types/types.go (100%) rename relayer/chains/{archway => wasm}/utils.go (98%) diff --git a/cmd/config.go b/cmd/config.go index fa692decd..50c17c0f8 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -30,10 +30,10 @@ import ( "time" "github.com/cosmos/relayer/v2/relayer" - archway "github.com/cosmos/relayer/v2/relayer/chains/archway" "github.com/cosmos/relayer/v2/relayer/chains/cosmos" "github.com/cosmos/relayer/v2/relayer/chains/icon" "github.com/cosmos/relayer/v2/relayer/chains/penumbra" + wasm "github.com/cosmos/relayer/v2/relayer/chains/wasm" "github.com/cosmos/relayer/v2/relayer/provider" "github.com/spf13/cobra" "go.uber.org/zap" @@ -378,7 +378,7 @@ func (pcw *ProviderConfigWrapper) UnmarshalJSON(data []byte) error { customTypes := map[string]reflect.Type{ "cosmos": reflect.TypeOf(cosmos.CosmosProviderConfig{}), "icon": reflect.TypeOf(icon.IconProviderConfig{}), - "archway": reflect.TypeOf(archway.ArchwayProviderConfig{}), + "wasm": reflect.TypeOf(wasm.WasmProviderConfig{}), "penumbra": reflect.TypeOf(penumbra.PenumbraProviderConfig{}), } val, err := UnmarshalJSONProviderConfig(data, customTypes) @@ -434,8 +434,8 @@ func (iw *ProviderConfigYAMLWrapper) UnmarshalYAML(n *yaml.Node) error { iw.Value = new(cosmos.CosmosProviderConfig) case "icon": iw.Value = new(icon.IconProviderConfig) - case "archway": - iw.Value = new(archway.ArchwayProviderConfig) + case "wasm": + iw.Value = new(wasm.WasmProviderConfig) case "penumbra": iw.Value = new(penumbra.PenumbraProviderConfig) default: diff --git a/examples/demo/configs/chains/ibc-archway.json b/examples/demo/configs/chains/ibc-wasm.json similarity index 71% rename from examples/demo/configs/chains/ibc-archway.json rename to examples/demo/configs/chains/ibc-wasm.json index 9a408bad0..9dc37f1b5 100644 --- a/examples/demo/configs/chains/ibc-archway.json +++ b/examples/demo/configs/chains/ibc-wasm.json @@ -1,12 +1,12 @@ { - "type": "archway", + "type": "wasm", "value": { "key": "default", - "chain-id": "constantine-2", + "chain-id": "test-1", "rpc-addr": "https://rpc.constantine-2.archway.tech:443", - "key-directory":"/Users/viveksharmapoudel/.relayer/keys/archway", + "key-directory":"/Users/viveksharmapoudel/.relayer/keys/test-1", "grpc-addr": "", - "account-prefix": "archway", + "account-prefix": "neutron", "keyring-backend": "test", "gas-adjustment": 1.5, "gas-prices": "0.02uconst", diff --git a/go.mod b/go.mod index 13f8c691f..9e5ac372c 100644 --- a/go.mod +++ b/go.mod @@ -208,7 +208,6 @@ require ( replace ( github.com/ChainSafe/go-schnorrkel => github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d github.com/CosmWasm/wasmd => github.com/cosmwasm/wasmd v0.40.0-rc.1.0.20230424144037-55647a1fd1f9 - // github.com/CosmWasm/wasmd => github.com/archway-network/archway-wasmd v0.29.2-archway github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 github.com/icon-project/IBC-Integration => github.com/icon-project/ibc-integration v0.0.0-20230619065023-ddc96101b9b1 ) diff --git a/relayer/chains/archway/accounts.go b/relayer/chains/wasm/accounts.go similarity index 79% rename from relayer/chains/archway/accounts.go rename to relayer/chains/wasm/accounts.go index db0a8c544..85a910fa9 100644 --- a/relayer/chains/archway/accounts.go +++ b/relayer/chains/wasm/accounts.go @@ -1,4 +1,4 @@ -package archway +package wasm import ( "context" @@ -13,11 +13,11 @@ import ( "google.golang.org/grpc/metadata" ) -var _ client.AccountRetriever = &ArchwayProvider{} +var _ client.AccountRetriever = &WasmProvider{} // GetAccount queries for an account given an address and a block height. An // error is returned if the query or decoding fails. -func (cc *ArchwayProvider) GetAccount(clientCtx client.Context, addr sdk.AccAddress) (client.Account, error) { +func (cc *WasmProvider) GetAccount(clientCtx client.Context, addr sdk.AccAddress) (client.Account, error) { account, _, err := cc.GetAccountWithHeight(clientCtx, addr) return account, err } @@ -25,7 +25,7 @@ func (cc *ArchwayProvider) GetAccount(clientCtx client.Context, addr sdk.AccAddr // GetAccountWithHeight queries for an account given an address. Returns the // height of the query with the account. An error is returned if the query // or decoding fails. -func (cc *ArchwayProvider) GetAccountWithHeight(clientCtx client.Context, addr sdk.AccAddress) (client.Account, int64, error) { +func (cc *WasmProvider) GetAccountWithHeight(clientCtx client.Context, addr sdk.AccAddress) (client.Account, int64, error) { var header metadata.MD address, err := cc.EncodeBech32AccAddr(addr) if err != nil { @@ -57,7 +57,7 @@ func (cc *ArchwayProvider) GetAccountWithHeight(clientCtx client.Context, addr s } // EnsureExists returns an error if no account exists for the given address else nil. -func (cc *ArchwayProvider) EnsureExists(clientCtx client.Context, addr sdk.AccAddress) error { +func (cc *WasmProvider) EnsureExists(clientCtx client.Context, addr sdk.AccAddress) error { if _, err := cc.GetAccount(clientCtx, addr); err != nil { return err } @@ -66,7 +66,7 @@ func (cc *ArchwayProvider) EnsureExists(clientCtx client.Context, addr sdk.AccAd // GetAccountNumberSequence returns sequence and account number for the given address. // It returns an error if the account couldn't be retrieved from the state. -func (cc *ArchwayProvider) GetAccountNumberSequence(clientCtx client.Context, addr sdk.AccAddress) (uint64, uint64, error) { +func (cc *WasmProvider) GetAccountNumberSequence(clientCtx client.Context, addr sdk.AccAddress) (uint64, uint64, error) { acc, err := cc.GetAccount(clientCtx, addr) if err != nil { return 0, 0, err diff --git a/relayer/chains/archway/archway_chain_processor.go b/relayer/chains/wasm/archway_chain_processor.go similarity index 90% rename from relayer/chains/archway/archway_chain_processor.go rename to relayer/chains/wasm/archway_chain_processor.go index fcd88dd40..629472ba7 100644 --- a/relayer/chains/archway/archway_chain_processor.go +++ b/relayer/chains/wasm/archway_chain_processor.go @@ -1,4 +1,4 @@ -package archway +package wasm import ( "context" @@ -20,10 +20,10 @@ import ( "golang.org/x/sync/errgroup" ) -type ArchwayChainProcessor struct { +type WasmChainProcessor struct { log *zap.Logger - chainProvider *ArchwayProvider + chainProvider *WasmProvider pathProcessors processor.PathProcessors @@ -55,8 +55,8 @@ type ArchwayChainProcessor struct { parsedGasPrices *sdk.DecCoins } -func NewArchwayChainProcessor(log *zap.Logger, provider *ArchwayProvider, metrics *processor.PrometheusMetrics) *ArchwayChainProcessor { - return &ArchwayChainProcessor{ +func NewWasmChainProcessor(log *zap.Logger, provider *WasmProvider, metrics *processor.PrometheusMetrics) *WasmChainProcessor { + return &WasmChainProcessor{ log: log.With(zap.String("chain_name", provider.ChainName()), zap.String("chain_id", provider.ChainId())), chainProvider: provider, latestClientState: make(latestClientState), @@ -82,7 +82,7 @@ const ( // latestClientState is a map of clientID to the latest clientInfo for that client. type latestClientState map[string]provider.ClientState -func (l latestClientState) update(ctx context.Context, clientInfo clientInfo, ccp *ArchwayChainProcessor) { +func (l latestClientState) update(ctx context.Context, clientInfo clientInfo, ccp *WasmChainProcessor) { existingClientInfo, ok := l[clientInfo.clientID] var trustingPeriod time.Duration if ok { @@ -112,19 +112,19 @@ func (l latestClientState) update(ctx context.Context, clientInfo clientInfo, cc } // Provider returns the ChainProvider, which provides the methods for querying, assembling IBC messages, and sending transactions. -func (ccp *ArchwayChainProcessor) Provider() provider.ChainProvider { +func (ccp *WasmChainProcessor) Provider() provider.ChainProvider { return ccp.chainProvider } // Set the PathProcessors that this ChainProcessor should publish relevant IBC events to. // ChainProcessors need reference to their PathProcessors and vice-versa, handled by EventProcessorBuilder.Build(). -func (ccp *ArchwayChainProcessor) SetPathProcessors(pathProcessors processor.PathProcessors) { +func (ccp *WasmChainProcessor) SetPathProcessors(pathProcessors processor.PathProcessors) { ccp.pathProcessors = pathProcessors } // latestHeightWithRetry will query for the latest height, retrying in case of failure. // It will delay by latestHeightQueryRetryDelay between attempts, up to latestHeightQueryRetries. -func (ccp *ArchwayChainProcessor) latestHeightWithRetry(ctx context.Context) (latestHeight int64, err error) { +func (ccp *WasmChainProcessor) latestHeightWithRetry(ctx context.Context) (latestHeight int64, err error) { return latestHeight, retry.Do(func() error { latestHeightQueryCtx, cancelLatestHeightQueryCtx := context.WithTimeout(ctx, queryTimeout) defer cancelLatestHeightQueryCtx() @@ -143,7 +143,7 @@ func (ccp *ArchwayChainProcessor) latestHeightWithRetry(ctx context.Context) (la // nodeStatusWithRetry will query for the latest node status, retrying in case of failure. // It will delay by latestHeightQueryRetryDelay between attempts, up to latestHeightQueryRetries. -func (ccp *ArchwayChainProcessor) nodeStatusWithRetry(ctx context.Context) (status *ctypes.ResultStatus, err error) { +func (ccp *WasmChainProcessor) nodeStatusWithRetry(ctx context.Context) (status *ctypes.ResultStatus, err error) { return status, retry.Do(func() error { latestHeightQueryCtx, cancelLatestHeightQueryCtx := context.WithTimeout(ctx, queryTimeout) defer cancelLatestHeightQueryCtx() @@ -162,7 +162,7 @@ func (ccp *ArchwayChainProcessor) nodeStatusWithRetry(ctx context.Context) (stat // clientState will return the most recent client state if client messages // have already been observed for the clientID, otherwise it will query for it. -func (ccp *ArchwayChainProcessor) clientState(ctx context.Context, clientID string) (provider.ClientState, error) { +func (ccp *WasmChainProcessor) clientState(ctx context.Context, clientID string) (provider.ClientState, error) { if state, ok := ccp.latestClientState[clientID]; ok && state.TrustingPeriod > 0 { return state, nil } @@ -191,7 +191,7 @@ type queryCyclePersistence struct { // Run starts the query loop for the chain which will gather applicable ibc messages and push events out to the relevant PathProcessors. // The initialBlockHistory parameter determines how many historical blocks should be fetched and processed before continuing with current blocks. // ChainProcessors should obey the context and return upon context cancellation. -func (ccp *ArchwayChainProcessor) Run(ctx context.Context, initialBlockHistory uint64) error { +func (ccp *WasmChainProcessor) Run(ctx context.Context, initialBlockHistory uint64) error { // this will be used for persistence across query cycle loop executions persistence := queryCyclePersistence{ minQueryLoopDuration: defaultMinQueryLoopDuration, @@ -257,7 +257,7 @@ func (ccp *ArchwayChainProcessor) Run(ctx context.Context, initialBlockHistory u } // initializeConnectionState will bootstrap the connectionStateCache with the open connection state. -func (ccp *ArchwayChainProcessor) initializeConnectionState(ctx context.Context) error { +func (ccp *WasmChainProcessor) initializeConnectionState(ctx context.Context) error { ctx, cancel := context.WithTimeout(ctx, queryTimeout) defer cancel() connections, err := ccp.chainProvider.QueryConnections(ctx) @@ -277,7 +277,7 @@ func (ccp *ArchwayChainProcessor) initializeConnectionState(ctx context.Context) } // initializeChannelState will bootstrap the channelStateCache with the open channel state. -func (ccp *ArchwayChainProcessor) initializeChannelState(ctx context.Context) error { +func (ccp *WasmChainProcessor) initializeChannelState(ctx context.Context) error { ctx, cancel := context.WithTimeout(ctx, queryTimeout) defer cancel() channels, err := ccp.chainProvider.QueryChannels(ctx) @@ -304,10 +304,10 @@ func (ccp *ArchwayChainProcessor) initializeChannelState(ctx context.Context) er return nil } -func (ccp *ArchwayChainProcessor) queryCycle(ctx context.Context, persistence *queryCyclePersistence) error { +func (ccp *WasmChainProcessor) queryCycle(ctx context.Context, persistence *queryCyclePersistence) error { status, err := ccp.nodeStatusWithRetry(ctx) if err != nil { - // don't want to cause ArchwayChainProcessor to quit here, can retry again next cycle. + // don't want to cause WasmChainProcessor to quit here, can retry again next cycle. ccp.log.Error( "Failed to query node status after max attempts", zap.Uint("attempts", latestHeightQueryRetries), @@ -349,7 +349,7 @@ func (ccp *ArchwayChainProcessor) queryCycle(ctx context.Context, persistence *q ppChanged := false - var latestHeader ArchwayIBCHeader + var latestHeader WasmIBCHeader newLatestQueriedBlock := persistence.latestQueriedBlock @@ -379,7 +379,7 @@ func (ccp *ArchwayChainProcessor) queryCycle(ctx context.Context, persistence *q break } - latestHeader = ibcHeader.(ArchwayIBCHeader) + latestHeader = ibcHeader.(WasmIBCHeader) heightUint64 := uint64(i) @@ -451,7 +451,7 @@ func (ccp *ArchwayChainProcessor) queryCycle(ctx context.Context, persistence *q return nil } -func (ccp *ArchwayChainProcessor) CollectMetrics(ctx context.Context, persistence *queryCyclePersistence) { +func (ccp *WasmChainProcessor) CollectMetrics(ctx context.Context, persistence *queryCyclePersistence) { ccp.CurrentBlockHeight(ctx, persistence) // Wait a while before updating the balance @@ -461,11 +461,11 @@ func (ccp *ArchwayChainProcessor) CollectMetrics(ctx context.Context, persistenc } } -func (ccp *ArchwayChainProcessor) CurrentBlockHeight(ctx context.Context, persistence *queryCyclePersistence) { +func (ccp *WasmChainProcessor) CurrentBlockHeight(ctx context.Context, persistence *queryCyclePersistence) { ccp.metrics.SetLatestHeight(ccp.chainProvider.ChainId(), persistence.latestHeight) } -// func (ccp *ArchwayChainProcessor) CurrentRelayerBalance(ctx context.Context) { +// func (ccp *WasmChainProcessor) CurrentRelayerBalance(ctx context.Context) { // // memoize the current gas prices to only show metrics for "interesting" denoms // if ccp.parsedGasPrices == nil { // gp, err := sdk.ParseDecCoins(ccp.chainProvider.PCfg.GasPrices) diff --git a/relayer/chains/archway/archway_prefix.go b/relayer/chains/wasm/archway_prefix.go similarity index 91% rename from relayer/chains/archway/archway_prefix.go rename to relayer/chains/wasm/archway_prefix.go index 31657a0e5..ed04aa8e6 100644 --- a/relayer/chains/archway/archway_prefix.go +++ b/relayer/chains/wasm/archway_prefix.go @@ -1,4 +1,4 @@ -package archway +package wasm import ( "sync" @@ -13,10 +13,10 @@ import ( var sdkConfigMutex sync.Mutex // Based on cosmos bech32_hack.go -// SetSDKContext sets the SDK config to the proper bech32 prefixes for archway. +// SetSDKContext sets the SDK config to the proper bech32 prefixes for wasm. // Don't use this unless you know what you're doing. // TODO: :dagger: :knife: :chainsaw: remove this function -func (ap *ArchwayProvider) SetSDKContext() { +func (ap *WasmProvider) SetSDKContext() { sdkConfigMutex.Lock() cfg := sdk.GetConfig() cfg.SetBech32PrefixForAccount(ap.PCfg.AccountPrefix, app.Bech32PrefixAccPub) diff --git a/relayer/chains/archway/codec.go b/relayer/chains/wasm/codec.go similarity index 91% rename from relayer/chains/archway/codec.go rename to relayer/chains/wasm/codec.go index 1fc8ab3ca..dc96060b9 100644 --- a/relayer/chains/archway/codec.go +++ b/relayer/chains/wasm/codec.go @@ -1,4 +1,4 @@ -package archway +package wasm import ( "github.com/CosmWasm/wasmd/x/wasm" @@ -10,14 +10,14 @@ import ( "github.com/cosmos/cosmos-sdk/x/auth" "github.com/cosmos/cosmos-sdk/x/auth/tx" ibc "github.com/cosmos/ibc-go/v7/modules/core" - archway_module "github.com/cosmos/relayer/v2/relayer/chains/archway/module" icon_module "github.com/cosmos/relayer/v2/relayer/chains/icon/module" + wasm_module "github.com/cosmos/relayer/v2/relayer/chains/wasm/module" ) var ModuleBasics = []module.AppModuleBasic{ auth.AppModuleBasic{}, ibc.AppModuleBasic{}, - archway_module.AppModuleBasic{}, + wasm_module.AppModuleBasic{}, wasm.AppModuleBasic{}, icon_module.AppModuleBasic{}, } diff --git a/relayer/chains/archway/consts.go b/relayer/chains/wasm/consts.go similarity index 98% rename from relayer/chains/archway/consts.go rename to relayer/chains/wasm/consts.go index bb21b923b..c09bd925d 100644 --- a/relayer/chains/archway/consts.go +++ b/relayer/chains/wasm/consts.go @@ -1,4 +1,4 @@ -package archway +package wasm const ( // External methods diff --git a/relayer/chains/archway/event_parser.go b/relayer/chains/wasm/event_parser.go similarity index 99% rename from relayer/chains/archway/event_parser.go rename to relayer/chains/wasm/event_parser.go index 288b88f2e..769d632a4 100644 --- a/relayer/chains/archway/event_parser.go +++ b/relayer/chains/wasm/event_parser.go @@ -1,4 +1,4 @@ -package archway +package wasm import ( "encoding/base64" @@ -36,7 +36,7 @@ type ibcMessageInfo interface { MarshalLogObject(enc zapcore.ObjectEncoder) error } -// func (ccp *ArchwayChainProcessor) ibcMessagesFromBlockEvents( +// func (ccp *WasmChainProcessor) ibcMessagesFromBlockEvents( // beginBlockEvents, endBlockEvents []abci.Event, // height uint64, base64Encoded bool, // ) (res []ibcMessage) { diff --git a/relayer/chains/archway/event_parser_test.go b/relayer/chains/wasm/event_parser_test.go similarity index 99% rename from relayer/chains/archway/event_parser_test.go rename to relayer/chains/wasm/event_parser_test.go index fff23a2f4..f805816a1 100644 --- a/relayer/chains/archway/event_parser_test.go +++ b/relayer/chains/wasm/event_parser_test.go @@ -1,4 +1,4 @@ -package archway +package wasm import ( "testing" diff --git a/relayer/chains/archway/grpc_query.go b/relayer/chains/wasm/grpc_query.go similarity index 88% rename from relayer/chains/archway/grpc_query.go rename to relayer/chains/wasm/grpc_query.go index 98c69c4f2..b81ac2b69 100644 --- a/relayer/chains/archway/grpc_query.go +++ b/relayer/chains/wasm/grpc_query.go @@ -1,4 +1,4 @@ -package archway +package wasm import ( "context" @@ -25,12 +25,12 @@ import ( "github.com/cosmos/cosmos-sdk/types/tx" ) -var _ gogogrpc.ClientConn = &ArchwayProvider{} +var _ gogogrpc.ClientConn = &WasmProvider{} var protoCodec = encoding.GetCodec(proto.Name) // Invoke implements the grpc ClientConn.Invoke method -func (ap *ArchwayProvider) Invoke(ctx context.Context, method string, req, reply interface{}, opts ...grpc.CallOption) (err error) { +func (ap *WasmProvider) Invoke(ctx context.Context, method string, req, reply interface{}, opts ...grpc.CallOption) (err error) { // Two things can happen here: // 1. either we're broadcasting a Tx, in which call we call Tendermint's broadcast endpoint directly, // 2. or we are querying for state, in which case we call ABCI's Querier. @@ -86,7 +86,7 @@ func (ap *ArchwayProvider) Invoke(ctx context.Context, method string, req, reply } // NewStream implements the grpc ClientConn.NewStream method -func (ap *ArchwayProvider) NewStream(context.Context, *grpc.StreamDesc, string, ...grpc.CallOption) (grpc.ClientStream, error) { +func (ap *WasmProvider) NewStream(context.Context, *grpc.StreamDesc, string, ...grpc.CallOption) (grpc.ClientStream, error) { return nil, fmt.Errorf("streaming rpc not supported") } @@ -94,7 +94,7 @@ func (ap *ArchwayProvider) NewStream(context.Context, *grpc.StreamDesc, string, // arguments for the gRPC method, and returns the ABCI response. It is used // to factorize code between client (Invoke) and server (RegisterGRPCServer) // gRPC handlers. -func (ap *ArchwayProvider) RunGRPCQuery(ctx context.Context, method string, req interface{}, md metadata.MD) (abci.ResponseQuery, metadata.MD, error) { +func (ap *WasmProvider) RunGRPCQuery(ctx context.Context, method string, req interface{}, md metadata.MD) (abci.ResponseQuery, metadata.MD, error) { reqBz, err := protoCodec.Marshal(req) if err != nil { return abci.ResponseQuery{}, nil, err @@ -147,7 +147,7 @@ func (ap *ArchwayProvider) RunGRPCQuery(ctx context.Context, method string, req // TxServiceBroadcast is a helper function to broadcast a Tx with the correct gRPC types // from the tx service. Calls `clientCtx.BroadcastTx` under the hood. -func (ap *ArchwayProvider) TxServiceBroadcast(ctx context.Context, req *tx.BroadcastTxRequest) (*tx.BroadcastTxResponse, error) { +func (ap *WasmProvider) TxServiceBroadcast(ctx context.Context, req *tx.BroadcastTxRequest) (*tx.BroadcastTxResponse, error) { if req == nil || req.TxBytes == nil { return nil, status.Error(codes.InvalidArgument, "invalid empty tx") } @@ -163,7 +163,7 @@ func (ap *ArchwayProvider) TxServiceBroadcast(ctx context.Context, req *tx.Broad if ap.PCfg.BlockTimeout != "" { blockTimeout, err = time.ParseDuration(ap.PCfg.BlockTimeout) if err != nil { - // Did you call Validate() method on ArchwayProviderConfig struct + // Did you call Validate() method on WasmProviderConfig struct // before coming here? return nil, err } diff --git a/relayer/chains/archway/helper_debug_msg.go b/relayer/chains/wasm/helper_debug_msg.go similarity index 94% rename from relayer/chains/archway/helper_debug_msg.go rename to relayer/chains/wasm/helper_debug_msg.go index 6b56179de..98108f3eb 100644 --- a/relayer/chains/archway/helper_debug_msg.go +++ b/relayer/chains/wasm/helper_debug_msg.go @@ -1,4 +1,4 @@ -package archway +package wasm import ( "encoding/json" @@ -11,7 +11,7 @@ import ( "github.com/cosmos/relayer/v2/relayer/provider" ) -var ArchwayDebugMessagePath = filepath.Join(os.Getenv("HOME"), ".relayer", "debug_archway_msg_data.json") +var WasmDebugMessagePath = filepath.Join(os.Getenv("HOME"), ".relayer", "debug_wasm_msg_data.json") // for saving data in particular format func jsonDumpDataFile(filename string, bufs interface{}) { diff --git a/relayer/chains/archway/keys.go b/relayer/chains/wasm/keys.go similarity index 84% rename from relayer/chains/archway/keys.go rename to relayer/chains/wasm/keys.go index 061a6434c..656ea1eba 100644 --- a/relayer/chains/archway/keys.go +++ b/relayer/chains/wasm/keys.go @@ -1,4 +1,4 @@ -package archway +package wasm import ( "errors" @@ -37,7 +37,7 @@ func KeyringAlgoOptions() keyring.Option { } // CreateKeystore initializes a new instance of a keyring at the specified path in the local filesystem. -func (cc *ArchwayProvider) CreateKeystore(path string) error { +func (cc *WasmProvider) CreateKeystore(path string) error { keybase, err := keyring.New(cc.PCfg.ChainID, cc.PCfg.KeyringBackend, cc.PCfg.KeyDirectory, cc.Input, cc.Cdc.Marshaler, KeyringAlgoOptions()) if err != nil { return err @@ -47,7 +47,7 @@ func (cc *ArchwayProvider) CreateKeystore(path string) error { } // KeystoreCreated returns true if there is an existing keystore instance at the specified path, it returns false otherwise. -func (cc *ArchwayProvider) KeystoreCreated(path string) bool { +func (cc *WasmProvider) KeystoreCreated(path string) bool { if _, err := os.Stat(cc.PCfg.KeyDirectory); errors.Is(err, os.ErrNotExist) { return false } else if cc.Keybase == nil { @@ -58,7 +58,7 @@ func (cc *ArchwayProvider) KeystoreCreated(path string) bool { // AddKey generates a new mnemonic which is then converted to a private key and BIP-39 HD Path and persists it to the keystore. // It fails if there is an existing key with the same address. -func (cc *ArchwayProvider) AddKey(name string, coinType uint32, signingAlgorithm string) (output *provider.KeyOutput, err error) { +func (cc *WasmProvider) AddKey(name string, coinType uint32, signingAlgorithm string) (output *provider.KeyOutput, err error) { ko, err := cc.KeyAddOrRestore(name, coinType, signingAlgorithm) if err != nil { return nil, err @@ -68,7 +68,7 @@ func (cc *ArchwayProvider) AddKey(name string, coinType uint32, signingAlgorithm // RestoreKey converts a mnemonic to a private key and BIP-39 HD Path and persists it to the keystore. // It fails if there is an existing key with the same address. -func (cc *ArchwayProvider) RestoreKey(name, mnemonic string, coinType uint32, signingAlgorithm string) (address string, err error) { +func (cc *WasmProvider) RestoreKey(name, mnemonic string, coinType uint32, signingAlgorithm string) (address string, err error) { ko, err := cc.KeyAddOrRestore(name, coinType, mnemonic) if err != nil { return "", err @@ -78,7 +78,7 @@ func (cc *ArchwayProvider) RestoreKey(name, mnemonic string, coinType uint32, si // KeyAddOrRestore either generates a new mnemonic or uses the specified mnemonic and converts it to a private key // and BIP-39 HD Path which is then persisted to the keystore. It fails if there is an existing key with the same address. -func (cc *ArchwayProvider) KeyAddOrRestore(keyName string, coinType uint32, mnemonic ...string) (*provider.KeyOutput, error) { +func (cc *WasmProvider) KeyAddOrRestore(keyName string, coinType uint32, mnemonic ...string) (*provider.KeyOutput, error) { var mnemonicStr string var err error algo := keyring.SignatureAlgo(hd.Secp256k1) @@ -110,7 +110,7 @@ func (cc *ArchwayProvider) KeyAddOrRestore(keyName string, coinType uint32, mnem } // ShowAddress retrieves a key by name from the keystore and returns the bech32 encoded string representation of that key. -func (cc *ArchwayProvider) ShowAddress(name string) (address string, err error) { +func (cc *WasmProvider) ShowAddress(name string) (address string, err error) { info, err := cc.Keybase.Key(name) if err != nil { return "", err @@ -127,7 +127,7 @@ func (cc *ArchwayProvider) ShowAddress(name string) (address string, err error) } // // ListAddresses returns a map of bech32 encoded strings representing all keys currently in the keystore. -func (cc *ArchwayProvider) ListAddresses() (map[string]string, error) { +func (cc *WasmProvider) ListAddresses() (map[string]string, error) { out := map[string]string{} info, err := cc.Keybase.List() if err != nil { @@ -148,7 +148,7 @@ func (cc *ArchwayProvider) ListAddresses() (map[string]string, error) { } // DeleteKey removes a key from the keystore for the specified name. -func (cc *ArchwayProvider) DeleteKey(name string) error { +func (cc *WasmProvider) DeleteKey(name string) error { if err := cc.Keybase.Delete(name); err != nil { return err } @@ -156,7 +156,7 @@ func (cc *ArchwayProvider) DeleteKey(name string) error { } // KeyExists returns true if a key with the specified name exists in the keystore, it returns false otherwise. -func (cc *ArchwayProvider) KeyExists(name string) bool { +func (cc *WasmProvider) KeyExists(name string) bool { k, err := cc.Keybase.Key(name) if err != nil { return false @@ -167,12 +167,12 @@ func (cc *ArchwayProvider) KeyExists(name string) bool { // ExportPrivKeyArmor returns a private key in ASCII armored format. // It returns an error if the key does not exist or a wrong encryption passphrase is supplied. -func (cc *ArchwayProvider) ExportPrivKeyArmor(keyName string) (armor string, err error) { +func (cc *WasmProvider) ExportPrivKeyArmor(keyName string) (armor string, err error) { return cc.Keybase.ExportPrivKeyArmor(keyName, ckeys.DefaultKeyPass) } // GetKeyAddress returns the account address representation for the currently configured key. -func (cc *ArchwayProvider) GetKeyAddress() (sdk.AccAddress, error) { +func (cc *WasmProvider) GetKeyAddress() (sdk.AccAddress, error) { info, err := cc.Keybase.Key(cc.PCfg.Key) if err != nil { return nil, err @@ -196,6 +196,6 @@ func CreateMnemonic() (string, error) { // EncodeBech32AccAddr returns the string bech32 representation for the specified account address. // It returns an empty sting if the byte slice is 0-length. // It returns an error if the bech32 conversion fails or the prefix is empty. -func (cc *ArchwayProvider) EncodeBech32AccAddr(addr sdk.AccAddress) (string, error) { +func (cc *WasmProvider) EncodeBech32AccAddr(addr sdk.AccAddress) (string, error) { return sdk.Bech32ifyAddressBytes(cc.PCfg.AccountPrefix, addr) } diff --git a/relayer/chains/archway/message_handler.go b/relayer/chains/wasm/message_handler.go similarity index 83% rename from relayer/chains/archway/message_handler.go rename to relayer/chains/wasm/message_handler.go index 0dffdf54e..64f0638aa 100644 --- a/relayer/chains/archway/message_handler.go +++ b/relayer/chains/wasm/message_handler.go @@ -1,4 +1,4 @@ -package archway +package wasm import ( "context" @@ -12,7 +12,7 @@ import ( "go.uber.org/zap/zapcore" ) -func (ccp *ArchwayChainProcessor) handleMessage(ctx context.Context, m ibcMessage, c processor.IBCMessagesCache) { +func (ccp *WasmChainProcessor) handleMessage(ctx context.Context, m ibcMessage, c processor.IBCMessagesCache) { switch t := m.info.(type) { case *packetInfo: ccp.handlePacketMessage(m.eventType, provider.PacketInfo(*t), c) @@ -27,7 +27,7 @@ func (ccp *ArchwayChainProcessor) handleMessage(ctx context.Context, m ibcMessag } } -func (ccp *ArchwayChainProcessor) handlePacketMessage(eventType string, pi provider.PacketInfo, c processor.IBCMessagesCache) { +func (ccp *WasmChainProcessor) handlePacketMessage(eventType string, pi provider.PacketInfo, c processor.IBCMessagesCache) { k, err := processor.PacketInfoChannelKey(eventType, pi) if err != nil { ccp.log.Error("Unexpected error handling packet message", @@ -62,7 +62,7 @@ func (ccp *ArchwayChainProcessor) handlePacketMessage(eventType string, pi provi ccp.logPacketMessage(eventType, pi) } -func (ccp *ArchwayChainProcessor) handleChannelMessage(eventType string, ci provider.ChannelInfo, ibcMessagesCache processor.IBCMessagesCache) { +func (ccp *WasmChainProcessor) handleChannelMessage(eventType string, ci provider.ChannelInfo, ibcMessagesCache processor.IBCMessagesCache) { ccp.channelConnections[ci.ChannelID] = ci.ConnID channelKey := processor.ChannelInfoChannelKey(ci) @@ -103,7 +103,7 @@ func (ccp *ArchwayChainProcessor) handleChannelMessage(eventType string, ci prov ccp.logChannelMessage(eventType, ci) } -func (ccp *ArchwayChainProcessor) handleConnectionMessage(eventType string, ci provider.ConnectionInfo, ibcMessagesCache processor.IBCMessagesCache) { +func (ccp *WasmChainProcessor) handleConnectionMessage(eventType string, ci provider.ConnectionInfo, ibcMessagesCache processor.IBCMessagesCache) { ccp.connectionClients[ci.ConnID] = ci.ClientID connectionKey := processor.ConnectionInfoConnectionKey(ci) if eventType == conntypes.EventTypeConnectionOpenInit { @@ -131,12 +131,12 @@ func (ccp *ArchwayChainProcessor) handleConnectionMessage(eventType string, ci p ccp.logConnectionMessage(eventType, ci) } -func (ccp *ArchwayChainProcessor) handleClientMessage(ctx context.Context, eventType string, ci clientInfo) { +func (ccp *WasmChainProcessor) handleClientMessage(ctx context.Context, eventType string, ci clientInfo) { ccp.latestClientState.update(ctx, ci, ccp) ccp.logObservedIBCMessage(eventType, zap.String("client_id", ci.clientID)) } -func (ccp *ArchwayChainProcessor) handleClientICQMessage( +func (ccp *WasmChainProcessor) handleClientICQMessage( eventType string, ci provider.ClientICQInfo, c processor.IBCMessagesCache, @@ -145,11 +145,11 @@ func (ccp *ArchwayChainProcessor) handleClientICQMessage( ccp.logClientICQMessage(eventType, ci) } -func (ccp *ArchwayChainProcessor) logObservedIBCMessage(m string, fields ...zap.Field) { +func (ccp *WasmChainProcessor) logObservedIBCMessage(m string, fields ...zap.Field) { ccp.log.With(zap.String("event_type", m)).Debug("Observed IBC message", fields...) } -func (ccp *ArchwayChainProcessor) logPacketMessage(message string, pi provider.PacketInfo) { +func (ccp *WasmChainProcessor) logPacketMessage(message string, pi provider.PacketInfo) { if !ccp.log.Core().Enabled(zapcore.DebugLevel) { return } @@ -172,7 +172,7 @@ func (ccp *ArchwayChainProcessor) logPacketMessage(message string, pi provider.P ccp.logObservedIBCMessage(message, fields...) } -func (ccp *ArchwayChainProcessor) logChannelMessage(message string, ci provider.ChannelInfo) { +func (ccp *WasmChainProcessor) logChannelMessage(message string, ci provider.ChannelInfo) { ccp.logObservedIBCMessage(message, zap.String("channel_id", ci.ChannelID), zap.String("port_id", ci.PortID), @@ -182,7 +182,7 @@ func (ccp *ArchwayChainProcessor) logChannelMessage(message string, ci provider. ) } -func (ccp *ArchwayChainProcessor) logConnectionMessage(message string, ci provider.ConnectionInfo) { +func (ccp *WasmChainProcessor) logConnectionMessage(message string, ci provider.ConnectionInfo) { ccp.logObservedIBCMessage(message, zap.String("client_id", ci.ClientID), zap.String("connection_id", ci.ConnID), @@ -191,7 +191,7 @@ func (ccp *ArchwayChainProcessor) logConnectionMessage(message string, ci provid ) } -func (ccp *ArchwayChainProcessor) logClientICQMessage(icqType string, ci provider.ClientICQInfo) { +func (ccp *WasmChainProcessor) logClientICQMessage(icqType string, ci provider.ClientICQInfo) { ccp.logObservedIBCMessage(icqType, zap.String("type", ci.Type), zap.String("query_id", string(ci.QueryID)), diff --git a/relayer/chains/archway/module/app_module.go b/relayer/chains/wasm/module/app_module.go similarity index 97% rename from relayer/chains/archway/module/app_module.go rename to relayer/chains/wasm/module/app_module.go index a4b4d73c5..375e20b8c 100644 --- a/relayer/chains/archway/module/app_module.go +++ b/relayer/chains/wasm/module/app_module.go @@ -15,7 +15,7 @@ type AppModuleBasic struct{} // Name returns the module's name. func (AppModuleBasic) Name() string { - return "archway_chain_provider" + return "wasm_chain_provider" } // RegisterLegacyAminoCodec does nothing. IBC does not support amino. diff --git a/relayer/chains/archway/msg.go b/relayer/chains/wasm/msg.go similarity index 69% rename from relayer/chains/archway/msg.go rename to relayer/chains/wasm/msg.go index 88cf45406..eb9ae8c5c 100644 --- a/relayer/chains/archway/msg.go +++ b/relayer/chains/wasm/msg.go @@ -1,4 +1,4 @@ -package archway +package wasm import ( "fmt" @@ -7,7 +7,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/gogoproto/proto" - "github.com/cosmos/relayer/v2/relayer/chains/archway/types" + "github.com/cosmos/relayer/v2/relayer/chains/wasm/types" "github.com/cosmos/relayer/v2/relayer/provider" ) @@ -28,7 +28,7 @@ func (w *WasmContractMessage) MsgBytes() ([]byte, error) { return nil, fmt.Errorf("Invalid format") } -func (ap *ArchwayProvider) NewWasmContractMessage(method string, m codec.ProtoMarshaler) (provider.RelayerMessage, error) { +func (ap *WasmProvider) NewWasmContractMessage(method string, m codec.ProtoMarshaler) (provider.RelayerMessage, error) { signer, _ := ap.Address() contract := ap.PCfg.IbcHandlerAddress @@ -36,7 +36,7 @@ func (ap *ArchwayProvider) NewWasmContractMessage(method string, m codec.ProtoMa if err != nil { return nil, err } - // ap.log.Debug("Archway Constructed message ", zap.String("MethodName", method), zap.Any("Message", types.NewHexBytes(protoMsg))) + // ap.log.Debug("Wasm Constructed message ", zap.String("MethodName", method), zap.Any("Message", types.NewHexBytes(protoMsg))) msgParam, err := types.GenerateTxnParams(method, types.NewHexBytes(protoMsg)) @@ -55,22 +55,22 @@ func (ap *ArchwayProvider) NewWasmContractMessage(method string, m codec.ProtoMa }, nil } -type ArchwayMessage struct { +type WasmMessage struct { Msg sdk.Msg } -func (am ArchwayMessage) Type() string { +func (am WasmMessage) Type() string { return sdk.MsgTypeURL(am.Msg) } -func (am ArchwayMessage) MsgBytes() ([]byte, error) { +func (am WasmMessage) MsgBytes() ([]byte, error) { return proto.Marshal(am.Msg) } -func ArchwayMsgs(rm ...provider.RelayerMessage) []sdk.Msg { +func WasmMsgs(rm ...provider.RelayerMessage) []sdk.Msg { sdkMsgs := make([]sdk.Msg, 0) for _, rMsg := range rm { - if val, ok := rMsg.(ArchwayMessage); !ok { + if val, ok := rMsg.(WasmMessage); !ok { return nil } else { sdkMsgs = append(sdkMsgs, val.Msg) diff --git a/relayer/chains/archway/provider.go b/relayer/chains/wasm/provider.go similarity index 82% rename from relayer/chains/archway/provider.go rename to relayer/chains/wasm/provider.go index ade4acca1..3206ede07 100644 --- a/relayer/chains/archway/provider.go +++ b/relayer/chains/wasm/provider.go @@ -1,4 +1,4 @@ -package archway +package wasm import ( "context" @@ -38,12 +38,12 @@ import ( ) var ( - _ provider.ChainProvider = &ArchwayProvider{} - _ provider.KeyProvider = &ArchwayProvider{} - _ provider.ProviderConfig = &ArchwayProviderConfig{} + _ provider.ChainProvider = &WasmProvider{} + _ provider.KeyProvider = &WasmProvider{} + _ provider.ProviderConfig = &WasmProviderConfig{} ) -type ArchwayProviderConfig struct { +type WasmProviderConfig struct { KeyDirectory string `json:"key-directory" yaml:"key-directory"` Key string `json:"key" yaml:"key"` ChainName string `json:"-" yaml:"-"` @@ -67,19 +67,19 @@ type ArchwayProviderConfig struct { FirstRetryBlockAfter uint64 `json:"first-retry-block-after" yaml:"first-retry-block-after"` } -type ArchwayIBCHeader struct { +type WasmIBCHeader struct { SignedHeader *itm.SignedHeader ValidatorSet *itm.ValidatorSet } -func NewArchwayIBCHeader(header *itm.SignedHeader, validators *itm.ValidatorSet) ArchwayIBCHeader { - return ArchwayIBCHeader{ +func NewWasmIBCHeader(header *itm.SignedHeader, validators *itm.ValidatorSet) WasmIBCHeader { + return WasmIBCHeader{ SignedHeader: header, ValidatorSet: validators, } } -func NewArchwayIBCHeaderFromLightBlock(lightBlock *comettypes.LightBlock) ArchwayIBCHeader { +func NewWasmIBCHeaderFromLightBlock(lightBlock *comettypes.LightBlock) WasmIBCHeader { vSets := make([]*itm.Validator, 0) for _, v := range lightBlock.ValidatorSet.Validators { _v := &itm.Validator{ @@ -109,7 +109,7 @@ func NewArchwayIBCHeaderFromLightBlock(lightBlock *comettypes.LightBlock) Archwa signatures = append(signatures, _d) } - return ArchwayIBCHeader{ + return WasmIBCHeader{ SignedHeader: &itm.SignedHeader{ Header: &itm.LightHeader{ Version: &itm.Consensus{ @@ -159,7 +159,7 @@ func NewArchwayIBCHeaderFromLightBlock(lightBlock *comettypes.LightBlock) Archwa } } -func (h ArchwayIBCHeader) ConsensusState() ibcexported.ConsensusState { +func (h WasmIBCHeader) ConsensusState() ibcexported.ConsensusState { return &itm.ConsensusState{ Timestamp: h.SignedHeader.Header.Time, Root: &itm.MerkleRoot{Hash: h.SignedHeader.Header.AppHash}, @@ -167,23 +167,23 @@ func (h ArchwayIBCHeader) ConsensusState() ibcexported.ConsensusState { } } -func (a ArchwayIBCHeader) Height() uint64 { +func (a WasmIBCHeader) Height() uint64 { return uint64(a.SignedHeader.Header.Height) } -func (a ArchwayIBCHeader) IsCompleteBlock() bool { +func (a WasmIBCHeader) IsCompleteBlock() bool { return true } -func (a ArchwayIBCHeader) NextValidatorsHash() []byte { +func (a WasmIBCHeader) NextValidatorsHash() []byte { return a.SignedHeader.Header.NextValidatorsHash } -func (a ArchwayIBCHeader) ShouldUpdateWithZeroMessage() bool { +func (a WasmIBCHeader) ShouldUpdateWithZeroMessage() bool { return false } -func (pp *ArchwayProviderConfig) Validate() error { +func (pp *WasmProviderConfig) Validate() error { if _, err := time.ParseDuration(pp.Timeout); err != nil { return fmt.Errorf("invalid Timeout: %w", err) } @@ -194,15 +194,15 @@ func (pp *ArchwayProviderConfig) Validate() error { return nil } -func (pp *ArchwayProviderConfig) getRPCAddr() string { +func (pp *WasmProviderConfig) getRPCAddr() string { return pp.RPCAddr } -func (pp *ArchwayProviderConfig) BroadcastMode() provider.BroadcastMode { +func (pp *WasmProviderConfig) BroadcastMode() provider.BroadcastMode { return pp.Broadcast } -func (pc *ArchwayProviderConfig) NewProvider(log *zap.Logger, homepath string, debug bool, chainName string) (provider.ChainProvider, error) { +func (pc *WasmProviderConfig) NewProvider(log *zap.Logger, homepath string, debug bool, chainName string) (provider.ChainProvider, error) { if err := pc.Validate(); err != nil { return nil, err } @@ -216,7 +216,7 @@ func (pc *ArchwayProviderConfig) NewProvider(log *zap.Logger, homepath string, d pc.Broadcast = provider.BroadcastModeBatch } - cp := &ArchwayProvider{ + cp := &WasmProvider{ log: log, PCfg: pc, KeyringOptions: []keyring.Option{ethermint.EthSecp256k1Option()}, @@ -230,10 +230,10 @@ func (pc *ArchwayProviderConfig) NewProvider(log *zap.Logger, homepath string, d return cp, nil } -type ArchwayProvider struct { +type WasmProvider struct { log *zap.Logger - PCfg *ArchwayProviderConfig + PCfg *WasmProviderConfig Keybase keyring.Keyring KeyringOptions []keyring.Option RPCClient rpcclient.Client @@ -253,38 +253,38 @@ type ArchwayProvider struct { cometLegacyEncoding bool } -func (ap *ArchwayProvider) ProviderConfig() provider.ProviderConfig { +func (ap *WasmProvider) ProviderConfig() provider.ProviderConfig { return ap.PCfg } -func (ap *ArchwayProvider) ChainId() string { +func (ap *WasmProvider) ChainId() string { return ap.PCfg.ChainID } -func (ap *ArchwayProvider) ChainName() string { +func (ap *WasmProvider) ChainName() string { return ap.PCfg.ChainName } -func (ap *ArchwayProvider) Type() string { - return "archway" +func (ap *WasmProvider) Type() string { + return "wasm" } -func (ap *ArchwayProvider) Key() string { +func (ap *WasmProvider) Key() string { return ap.PCfg.Key } -func (ap *ArchwayProvider) Timeout() string { +func (ap *WasmProvider) Timeout() string { return ap.PCfg.Timeout } // CommitmentPrefix returns the commitment prefix for Cosmos -func (ap *ArchwayProvider) CommitmentPrefix() commitmenttypes.MerklePrefix { +func (ap *WasmProvider) CommitmentPrefix() commitmenttypes.MerklePrefix { ctx := context.Background() b, _ := ap.GetCommitmentPrefixFromContract(ctx) return commitmenttypes.NewMerklePrefix(b) } -func (ap *ArchwayProvider) Init(ctx context.Context) error { +func (ap *WasmProvider) Init(ctx context.Context) error { keybase, err := keyring.New(ap.PCfg.ChainID, ap.PCfg.KeyringBackend, ap.PCfg.KeyDirectory, ap.Input, ap.Cdc.Marshaler, ap.KeyringOptions...) if err != nil { return err @@ -332,7 +332,7 @@ func (ap *ArchwayProvider) Init(ctx context.Context) error { return nil } -func (ap *ArchwayProvider) Address() (string, error) { +func (ap *WasmProvider) Address() (string, error) { info, err := ap.Keybase.Key(ap.PCfg.Key) if err != nil { return "", err @@ -351,7 +351,7 @@ func (ap *ArchwayProvider) Address() (string, error) { return out, err } -func (cc *ArchwayProvider) TrustingPeriod(ctx context.Context) (time.Duration, error) { +func (cc *WasmProvider) TrustingPeriod(ctx context.Context) (time.Duration, error) { // res, err := cc.QueryStakingParams(ctx) // TODO: check and rewrite @@ -385,7 +385,7 @@ func (cc *ArchwayProvider) TrustingPeriod(ctx context.Context) (time.Duration, e return tp, nil } -func (cc *ArchwayProvider) Sprint(toPrint proto.Message) (string, error) { +func (cc *WasmProvider) Sprint(toPrint proto.Message) (string, error) { out, err := cc.Cdc.Marshaler.MarshalJSON(toPrint) if err != nil { return "", err @@ -393,7 +393,7 @@ func (cc *ArchwayProvider) Sprint(toPrint proto.Message) (string, error) { return string(out), nil } -func (cc *ArchwayProvider) QueryStatus(ctx context.Context) (*ctypes.ResultStatus, error) { +func (cc *WasmProvider) QueryStatus(ctx context.Context) (*ctypes.ResultStatus, error) { status, err := cc.RPCClient.Status(ctx) if err != nil { return nil, fmt.Errorf("failed to query node status: %w", err) @@ -402,7 +402,7 @@ func (cc *ArchwayProvider) QueryStatus(ctx context.Context) (*ctypes.ResultStatu } // WaitForNBlocks blocks until the next block on a given chain -func (cc *ArchwayProvider) WaitForNBlocks(ctx context.Context, n int64) error { +func (cc *WasmProvider) WaitForNBlocks(ctx context.Context, n int64) error { // var initial int64 // h, err := cc.RPCClient.Status(ctx) // if err != nil { @@ -430,7 +430,7 @@ func (cc *ArchwayProvider) WaitForNBlocks(ctx context.Context, n int64) error { return nil } -func (ac *ArchwayProvider) BlockTime(ctx context.Context, height int64) (time.Time, error) { +func (ac *WasmProvider) BlockTime(ctx context.Context, height int64) (time.Time, error) { resultBlock, err := ac.RPCClient.Block(ctx, &height) if err != nil { return time.Time{}, err @@ -438,25 +438,25 @@ func (ac *ArchwayProvider) BlockTime(ctx context.Context, height int64) (time.Ti return resultBlock.Block.Time, nil } -func (ac *ArchwayProvider) Codec() Codec { +func (ac *WasmProvider) Codec() Codec { return ac.Cdc } -func (ap *ArchwayProvider) ClientContext() client.Context { +func (ap *WasmProvider) ClientContext() client.Context { return ap.ClientCtx } -func (ap *ArchwayProvider) updateNextAccountSequence(seq uint64) { +func (ap *WasmProvider) updateNextAccountSequence(seq uint64) { if seq > ap.nextAccountSeq { ap.nextAccountSeq = seq } } -func (app *ArchwayProvider) MsgRegisterCounterpartyPayee(portID, channelID, relayerAddr, counterpartyPayeeAddr string) (provider.RelayerMessage, error) { +func (app *WasmProvider) MsgRegisterCounterpartyPayee(portID, channelID, relayerAddr, counterpartyPayeeAddr string) (provider.RelayerMessage, error) { return nil, fmt.Errorf("Not implemented for Icon") } -func (cc *ArchwayProvider) FirstRetryBlockAfter() uint64 { +func (cc *WasmProvider) FirstRetryBlockAfter() uint64 { if cc.PCfg.FirstRetryBlockAfter != 0 { return cc.PCfg.FirstRetryBlockAfter } diff --git a/relayer/chains/archway/provider_test.go b/relayer/chains/wasm/provider_test.go similarity index 93% rename from relayer/chains/archway/provider_test.go rename to relayer/chains/wasm/provider_test.go index 6b12a469f..8c8cb1fa4 100644 --- a/relayer/chains/archway/provider_test.go +++ b/relayer/chains/wasm/provider_test.go @@ -1,4 +1,4 @@ -package archway +package wasm import ( "context" @@ -37,42 +37,26 @@ func (err mockAccountSequenceMismatchError) Error() string { func GetProvider(ctx context.Context, handlerAddr string, local bool) (provider.ChainProvider, error) { absPath, _ := filepath.Abs("../../../env/archway/keys") - var config ArchwayProviderConfig - if local { - config = ArchwayProviderConfig{ - KeyDirectory: absPath, - Key: "testWallet", - ChainName: "archway", - ChainID: "localnet", - RPCAddr: "http://localhost:26657", - AccountPrefix: "archway", - KeyringBackend: "test", - GasAdjustment: 1.5, - GasPrices: "0.02stake", - Debug: true, - Timeout: "20s", - SignModeStr: "direct", - MinGasAmount: 1000_000, - IbcHandlerAddress: handlerAddr, - } - } else { - - config = ArchwayProviderConfig{ - KeyDirectory: absPath, - Key: "testWallet", - ChainName: "archway", - ChainID: "constantine-3", - RPCAddr: "https://rpc.constantine.archway.tech:443", - AccountPrefix: "archway", - KeyringBackend: "test", - GasAdjustment: 1.5, - GasPrices: "0.02uconst", - Debug: true, - Timeout: "20s", - SignModeStr: "direct", - MinGasAmount: 1000_000, - IbcHandlerAddress: handlerAddr, - } + var config = WasmProviderConfig{ + KeyDirectory: absPath, + Key: "testWallet", + ChainName: "archway", + ChainID: "localnet", + RPCAddr: "http://localhost:26657", + AccountPrefix: "archway", + KeyringBackend: "test", + GasAdjustment: 1.5, + GasPrices: "0.02stake", + Debug: true, + Timeout: "20s", + SignModeStr: "direct", + MinGasAmount: 1000_000, + IbcHandlerAddress: handlerAddr, + } + if !local { + config.RPCAddr = "https://rpc.constantine.archway.tech:443" + config.ChainID = "constantine-3" + config.GasPrices = "0.02uconst" } p, err := config.NewProvider(zaptest.NewLogger(&testing.T{}), "../../../env/archway", true, "archway") @@ -91,7 +75,7 @@ func TestGetAddress(t *testing.T) { ctx := context.Background() p, err := GetProvider(ctx, "archway14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9sy85n2u", false) assert.NoError(t, err) - pArch := p.(*ArchwayProvider) + pArch := p.(*WasmProvider) assert.NoError(t, err) a := "archway1jpdcgkwv7wmwaqc6lyvd82dwhkxxfvplp6u8gw" addr, err := pArch.GetKeyAddress() @@ -138,7 +122,7 @@ func (m *SendPacket) MsgBytes() ([]byte, error) { // ctx := context.Background() // contract := "archway1j2zsnnv7qpd6hqhrkg96c57wv9yff4y6amarcvsp5lkta2e4k5vstvt9j3" // p, _ := GetProvider(ctx, contract) -// pArch := p.(*ArchwayProvider) +// pArch := p.(*WasmProvider) // pArch.Init(ctx) // key := "jptKey" @@ -166,7 +150,7 @@ func (m *SendPacket) MsgBytes() ([]byte, error) { // assert.NoError(t, err) // storageKey := fmt.Sprintf("0007%x%s", []byte("packets"), key) -// _, err = pArch.QueryArchwayProof(ctx, []byte(storageKey), 1932589) +// _, err = pArch.QueryWasmProof(ctx, []byte(storageKey), 1932589) // assert.NoError(t, err) // } @@ -179,7 +163,7 @@ func (m *SendPacket) MsgBytes() ([]byte, error) { // ctx := context.Background() // p, err := GetProvider(ctx, "archway21", true) // assert.NoError(t, err) -// pArch, ok := p.(*ArchwayProvider) +// pArch, ok := p.(*WasmProvider) // assert.True(t, ok) // a := make(chan provider.RelayerTxResponse, 10) @@ -214,7 +198,7 @@ func (m *SendPacket) MsgBytes() ([]byte, error) { // p, err := GetProvider(ctx, contractAddr, true) // assert.NoError(t, err) -// archP := p.(*ArchwayProvider) +// archP := p.(*WasmProvider) // clientId := "iconclient-0" @@ -228,7 +212,7 @@ func (m *SendPacket) MsgBytes() ([]byte, error) { // ctx := context.Background() // p, _ := GetProvider(ctx, "", false) -// pArch := p.(*ArchwayProvider) +// pArch := p.(*WasmProvider) // // cl, _ := client.NewClientFromNode("http://localhost:26657") // cl, _ := client.NewClientFromNode("https://rpc.constantine-2.archway.tech:443") @@ -422,7 +406,7 @@ func GetIconProvider(network_id int) *icon.IconProvider { // ap, err := GetProvider(ctx, "archway1maqs3qvslrjaq8xz9402shucnr4wzdujty8lr7ux5z5rnj989lwsmssrzk", true) // assert.NoError(t, err) -// archwayP, ok := ap.(*ArchwayProvider) +// archwayP, ok := ap.(*WasmProvider) // if !ok { // assert.Fail(t, "failed to convert to archwayP") // } @@ -466,7 +450,7 @@ func GetIconProvider(network_id int) *icon.IconProvider { // ap, err := GetProvider(ctx, "", false) // assert.NoError(t, err) -// archwayP, ok := ap.(*ArchwayProvider) +// archwayP, ok := ap.(*WasmProvider) // if !ok { // assert.Fail(t, "failed to convert to archwayP") // } @@ -487,7 +471,7 @@ func GetIconProvider(network_id int) *icon.IconProvider { // ctx := context.Background() // ap, err := GetProvider(ctx, "archway123", false) // assert.NoError(t, err) -// archwayP, _ := ap.(*ArchwayProvider) +// archwayP, _ := ap.(*WasmProvider) // var iconee exported.ClientState // err = archwayP.Cdc.Marshaler.UnmarshalInterface(d, &iconee) @@ -500,7 +484,7 @@ func GetIconProvider(network_id int) *icon.IconProvider { // apx, err := GetProvider(ctx, "abcd", true) // assert.NoError(t, err) -// ap := apx.(*ArchwayProvider) +// ap := apx.(*WasmProvider) // tsHeight := 34055 // cl := "07-tendermint-0" @@ -585,7 +569,7 @@ func TestDecodeProto(t *testing.T) { // pro, err := GetProvider(ctx, "archway17ymdtz48qey0lpha8erch8hghj37ag4dn0qqyyrtseymvgw6lfnqgmtsrj", true) // assert.NoError(t, err) -// archwayP := pro.(*ArchwayProvider) +// archwayP := pro.(*WasmProvider) // height := int64(6343) // blockRes, err := archwayP.RPCClient.BlockResults(ctx, &height) @@ -644,7 +628,7 @@ func TestDecodeProto(t *testing.T) { // pro, err := GetProvider(ctx, contractAddr, true) // assert.NoError(t, err) -// archwayP := pro.(*ArchwayProvider) +// archwayP := pro.(*WasmProvider) // connectionKey := common.GetConnectionCommitmentKey("connection-3") @@ -653,7 +637,7 @@ func TestDecodeProto(t *testing.T) { // assert.NoError(t, err) // fmt.Printf("the main key is %x \n ", hexStrkey) -// proofConnBytes, err := archwayP.QueryArchwayProof(ctx, hexStrkey, int64(2273)) +// proofConnBytes, err := archwayP.QueryWasmProof(ctx, hexStrkey, int64(2273)) // var op icn.MerkleProof // err = proto.Unmarshal(proofConnBytes, &op) @@ -672,7 +656,7 @@ func TestDecodeProto(t *testing.T) { // contractAddr := "archway10qt8wg0n7z740ssvf3urmvgtjhxpyp74hxqvqt7z226gykuus7eqzla6h5" // pro, err := GetProvider(ctx, contractAddr, true) // assert.NoError(t, err) -// archwayP := pro.(*ArchwayProvider) +// archwayP := pro.(*WasmProvider) // height := 410 // ibcAddr, err := sdk.AccAddressFromBech32(archwayP.PCfg.IbcHandlerAddress) @@ -703,7 +687,7 @@ func TestDecodeProto(t *testing.T) { // ibcH, err := archwayP.QueryIBCHeader(ctx, req.Height+1) // assert.NoError(t, err) -// header := ibcH.(ArchwayIBCHeader) +// header := ibcH.(WasmIBCHeader) // path := commitmenttypes.MerklePath{KeyPath: []string{ // "wasm", @@ -746,7 +730,7 @@ func TestDecodeProto(t *testing.T) { // // contractAddr := "archway10qt8wg0n7z740ssvf3urmvgtjhxpyp74hxqvqt7z226gykuus7eqzla6h5" // pro, err := GetProvider(ctx, contractAddr, true) // assert.NoError(t, err) -// archwayP := pro.(*ArchwayProvider) +// archwayP := pro.(*WasmProvider) // ibcAddr, err := sdk.AccAddressFromBech32(archwayP.PCfg.IbcHandlerAddress) // assert.NoError(t, err) @@ -851,7 +835,7 @@ func TestProtoUnmarshal(t *testing.T) { // ctx := context.Background() // p, _ := GetProvider(ctx, "archway13we0myxwzlpx8l5ark8elw5gj5d59dl6cjkzmt80c5q5cv5rt54quagxpp", true) -// archwayP := p.(*ArchwayProvider) +// archwayP := p.(*WasmProvider) // _, err := archwayP.GetCommitmentPrefixFromContract(ctx) // assert.NoError(t, err) diff --git a/relayer/chains/archway/query.go b/relayer/chains/wasm/query.go similarity index 70% rename from relayer/chains/archway/query.go rename to relayer/chains/wasm/query.go index 664f7d0eb..b0020463e 100644 --- a/relayer/chains/archway/query.go +++ b/relayer/chains/wasm/query.go @@ -1,4 +1,4 @@ -package archway +package wasm import ( "context" @@ -29,14 +29,14 @@ import ( commitmenttypes "github.com/cosmos/ibc-go/v7/modules/core/23-commitment/types" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" - "github.com/cosmos/relayer/v2/relayer/chains/archway/types" + "github.com/cosmos/relayer/v2/relayer/chains/wasm/types" "github.com/cosmos/relayer/v2/relayer/common" "github.com/cosmos/relayer/v2/relayer/provider" ) const PaginationDelay = 10 * time.Millisecond -func (ap *ArchwayProvider) QueryTx(ctx context.Context, hashHex string) (*provider.RelayerTxResponse, error) { +func (ap *WasmProvider) QueryTx(ctx context.Context, hashHex string) (*provider.RelayerTxResponse, error) { hash, err := hex.DecodeString(hashHex) if err != nil { return nil, err @@ -58,7 +58,7 @@ func (ap *ArchwayProvider) QueryTx(ctx context.Context, hashHex string) (*provid }, nil } -func (ap *ArchwayProvider) QueryTxs(ctx context.Context, page, limit int, events []string) ([]*provider.RelayerTxResponse, error) { +func (ap *WasmProvider) QueryTxs(ctx context.Context, page, limit int, events []string) ([]*provider.RelayerTxResponse, error) { if len(events) == 0 { return nil, errors.New("must declare at least one event to search") } @@ -111,7 +111,7 @@ func parseEventsFromResponseDeliverTx(resp abci.ResponseDeliverTx) []provider.Re return events } -func (ap *ArchwayProvider) QueryLatestHeight(ctx context.Context) (int64, error) { +func (ap *WasmProvider) QueryLatestHeight(ctx context.Context) (int64, error) { stat, err := ap.RPCClient.Status(ctx) if err != nil { @@ -123,7 +123,7 @@ func (ap *ArchwayProvider) QueryLatestHeight(ctx context.Context) (int64, error) } // QueryIBCHeader returns the IBC compatible block header at a specific height. -func (ap *ArchwayProvider) QueryIBCHeader(ctx context.Context, h int64) (provider.IBCHeader, error) { +func (ap *WasmProvider) QueryIBCHeader(ctx context.Context, h int64) (provider.IBCHeader, error) { if h == 0 { return nil, fmt.Errorf("No header at height 0") } @@ -132,19 +132,19 @@ func (ap *ArchwayProvider) QueryIBCHeader(ctx context.Context, h int64) (provide return nil, err } - return NewArchwayIBCHeaderFromLightBlock(lightBlock), nil + return NewWasmIBCHeaderFromLightBlock(lightBlock), nil } // query packet info for sequence -func (ap *ArchwayProvider) QuerySendPacket(ctx context.Context, srcChanID, srcPortID string, sequence uint64) (provider.PacketInfo, error) { - return provider.PacketInfo{}, fmt.Errorf("Not implemented for Archway") +func (ap *WasmProvider) QuerySendPacket(ctx context.Context, srcChanID, srcPortID string, sequence uint64) (provider.PacketInfo, error) { + return provider.PacketInfo{}, fmt.Errorf("Not implemented for Wasm") } -func (ap *ArchwayProvider) QueryRecvPacket(ctx context.Context, dstChanID, dstPortID string, sequence uint64) (provider.PacketInfo, error) { - return provider.PacketInfo{}, fmt.Errorf("Not implemented for Archway") +func (ap *WasmProvider) QueryRecvPacket(ctx context.Context, dstChanID, dstPortID string, sequence uint64) (provider.PacketInfo, error) { + return provider.PacketInfo{}, fmt.Errorf("Not implemented for Wasm") } // bank -func (ap *ArchwayProvider) QueryBalance(ctx context.Context, keyName string) (sdk.Coins, error) { +func (ap *WasmProvider) QueryBalance(ctx context.Context, keyName string) (sdk.Coins, error) { addr, err := ap.ShowAddress(keyName) if err != nil { return nil, err @@ -153,7 +153,7 @@ func (ap *ArchwayProvider) QueryBalance(ctx context.Context, keyName string) (sd return ap.QueryBalanceWithAddress(ctx, addr) } -func (ap *ArchwayProvider) QueryBalanceWithAddress(ctx context.Context, address string) (sdk.Coins, error) { +func (ap *WasmProvider) QueryBalanceWithAddress(ctx context.Context, address string) (sdk.Coins, error) { qc := bankTypes.NewQueryClient(ap) p := DefaultPageRequest() coins := sdk.Coins{} @@ -189,12 +189,12 @@ func DefaultPageRequest() *querytypes.PageRequest { } // staking -func (ap *ArchwayProvider) QueryUnbondingPeriod(context.Context) (time.Duration, error) { +func (ap *WasmProvider) QueryUnbondingPeriod(context.Context) (time.Duration, error) { return 0, nil } // ics 02 - client -func (ap *ArchwayProvider) QueryClientState(ctx context.Context, height int64, clientid string) (ibcexported.ClientState, error) { +func (ap *WasmProvider) QueryClientState(ctx context.Context, height int64, clientid string) (ibcexported.ClientState, error) { clientStateRes, err := ap.QueryClientStateResponse(ctx, height, clientid) if err != nil { return nil, err @@ -207,7 +207,7 @@ func (ap *ArchwayProvider) QueryClientState(ctx context.Context, height int64, c return clientStateExported, nil } -func (ap *ArchwayProvider) QueryClientStateResponse(ctx context.Context, height int64, srcClientId string) (*clienttypes.QueryClientStateResponse, error) { +func (ap *WasmProvider) QueryClientStateResponse(ctx context.Context, height int64, srcClientId string) (*clienttypes.QueryClientStateResponse, error) { clS, err := ap.QueryClientStateContract(ctx, srcClientId) if err != nil { @@ -219,7 +219,7 @@ func (ap *ArchwayProvider) QueryClientStateResponse(ctx context.Context, height } storageKey := getStorageKeyFromPath(common.GetClientStateCommitmentKey(srcClientId)) - proof, err := ap.QueryArchwayProof(ctx, storageKey, height) + proof, err := ap.QueryWasmProof(ctx, storageKey, height) if err != nil { return nil, err } @@ -231,7 +231,7 @@ func (ap *ArchwayProvider) QueryClientStateResponse(ctx context.Context, height }, nil } -func (ap *ArchwayProvider) QueryClientStateContract(ctx context.Context, clientId string) (*icon.ClientState, error) { +func (ap *WasmProvider) QueryClientStateContract(ctx context.Context, clientId string) (*icon.ClientState, error) { clientStateParam, err := types.NewClientState(clientId).Bytes() if err != nil { return nil, err @@ -257,7 +257,7 @@ func (ap *ArchwayProvider) QueryClientStateContract(ctx context.Context, clientI return iconClientState, nil } -func (ap *ArchwayProvider) QueryConnectionContract(ctx context.Context, connId string) (*conntypes.ConnectionEnd, error) { +func (ap *WasmProvider) QueryConnectionContract(ctx context.Context, connId string) (*conntypes.ConnectionEnd, error) { connStateParam, err := types.NewConnection(connId).Bytes() if err != nil { return nil, err @@ -276,7 +276,7 @@ func (ap *ArchwayProvider) QueryConnectionContract(ctx context.Context, connId s return &connS, nil } -func (ap *ArchwayProvider) QueryChannelContract(ctx context.Context, portId, channelId string) (*chantypes.Channel, error) { +func (ap *WasmProvider) QueryChannelContract(ctx context.Context, portId, channelId string) (*chantypes.Channel, error) { channelStateParam, err := types.NewChannel(portId, channelId).Bytes() if err != nil { return nil, err @@ -294,7 +294,7 @@ func (ap *ArchwayProvider) QueryChannelContract(ctx context.Context, portId, cha return &channelS, nil } -func (ap *ArchwayProvider) QueryClientConsensusState(ctx context.Context, chainHeight int64, clientid string, clientHeight ibcexported.Height) (*clienttypes.QueryConsensusStateResponse, error) { +func (ap *WasmProvider) QueryClientConsensusState(ctx context.Context, chainHeight int64, clientid string, clientHeight ibcexported.Height) (*clienttypes.QueryConsensusStateResponse, error) { consensusStateParam, err := types.NewConsensusState(clientid, uint64(chainHeight)).Bytes() consensusState, err := ap.QueryIBCHandlerContractProcessed(ctx, consensusStateParam) if err != nil { @@ -314,7 +314,7 @@ func (ap *ArchwayProvider) QueryClientConsensusState(ctx context.Context, chainH return clienttypes.NewQueryConsensusStateResponse(anyConsensusState, nil, clienttypes.NewHeight(0, uint64(chainHeight))), nil } -func (ap *ArchwayProvider) QueryIBCHandlerContract(ctx context.Context, param wasmtypes.RawContractMessage) (*wasmtypes.QuerySmartContractStateResponse, error) { +func (ap *WasmProvider) QueryIBCHandlerContract(ctx context.Context, param wasmtypes.RawContractMessage) (*wasmtypes.QuerySmartContractStateResponse, error) { return ap.QueryClient.SmartContractState(ctx, &wasmtypes.QuerySmartContractStateRequest{ Address: ap.PCfg.IbcHandlerAddress, @@ -322,7 +322,7 @@ func (ap *ArchwayProvider) QueryIBCHandlerContract(ctx context.Context, param wa }) } -func (ap *ArchwayProvider) QueryIBCHandlerContractProcessed(ctx context.Context, param wasmtypes.RawContractMessage) ([]byte, error) { +func (ap *WasmProvider) QueryIBCHandlerContractProcessed(ctx context.Context, param wasmtypes.RawContractMessage) ([]byte, error) { res, err := ap.QueryIBCHandlerContract(ctx, param) if err != nil { return nil, err @@ -330,15 +330,15 @@ func (ap *ArchwayProvider) QueryIBCHandlerContractProcessed(ctx context.Context, return ProcessContractResponse(res) } -func (ap *ArchwayProvider) QueryUpgradedClient(ctx context.Context, height int64) (*clienttypes.QueryClientStateResponse, error) { - return nil, fmt.Errorf("Not implemented for Archway") +func (ap *WasmProvider) QueryUpgradedClient(ctx context.Context, height int64) (*clienttypes.QueryClientStateResponse, error) { + return nil, fmt.Errorf("Not implemented for Wasm") } -func (ap *ArchwayProvider) QueryUpgradedConsState(ctx context.Context, height int64) (*clienttypes.QueryConsensusStateResponse, error) { - return nil, fmt.Errorf("Not implemented for Archway") +func (ap *WasmProvider) QueryUpgradedConsState(ctx context.Context, height int64) (*clienttypes.QueryConsensusStateResponse, error) { + return nil, fmt.Errorf("Not implemented for Wasm") } -func (ap *ArchwayProvider) QueryConsensusState(ctx context.Context, height int64) (ibcexported.ConsensusState, int64, error) { +func (ap *WasmProvider) QueryConsensusState(ctx context.Context, height int64) (ibcexported.ConsensusState, int64, error) { commit, err := ap.RPCClient.Commit(ctx, &height) if err != nil { @@ -363,7 +363,7 @@ func (ap *ArchwayProvider) QueryConsensusState(ctx context.Context, height int64 return state, height, nil } -func (ap *ArchwayProvider) getAllPorts(ctx context.Context) ([]string, error) { +func (ap *WasmProvider) getAllPorts(ctx context.Context) ([]string, error) { param, err := types.NewGetAllPorts().Bytes() if err != nil { return make([]string, 0), err @@ -381,7 +381,7 @@ func (ap *ArchwayProvider) getAllPorts(ctx context.Context) ([]string, error) { return ports, nil } -func (ap *ArchwayProvider) getNextSequence(ctx context.Context, methodName string) (int, error) { +func (ap *WasmProvider) getNextSequence(ctx context.Context, methodName string) (int, error) { switch methodName { case MethodGetNextClientSequence: param, err := types.NewNextClientSequence().Bytes() @@ -423,7 +423,7 @@ func (ap *ArchwayProvider) getNextSequence(ctx context.Context, methodName strin } } -func (ap *ArchwayProvider) QueryClients(ctx context.Context) (clienttypes.IdentifiedClientStates, error) { +func (ap *WasmProvider) QueryClients(ctx context.Context) (clienttypes.IdentifiedClientStates, error) { seq, err := ap.getNextSequence(ctx, MethodGetNextClientSequence) if err != nil { @@ -448,7 +448,7 @@ func (ap *ArchwayProvider) QueryClients(ctx context.Context) (clienttypes.Identi } // ics 03 - connection -func (ap *ArchwayProvider) QueryConnection(ctx context.Context, height int64, connectionid string) (*conntypes.QueryConnectionResponse, error) { +func (ap *WasmProvider) QueryConnection(ctx context.Context, height int64, connectionid string) (*conntypes.QueryConnectionResponse, error) { connectionStateParams, err := types.NewConnection(connectionid).Bytes() if err != nil { return nil, err @@ -466,12 +466,12 @@ func (ap *ArchwayProvider) QueryConnection(ctx context.Context, height int64, co } storageKey := getStorageKeyFromPath(common.GetConnectionCommitmentKey(connectionid)) - connProof, err := ap.QueryArchwayProof(ctx, storageKey, height) + connProof, err := ap.QueryWasmProof(ctx, storageKey, height) return conntypes.NewQueryConnectionResponse(conn, connProof, clienttypes.NewHeight(0, uint64(height))), nil } -func (ap *ArchwayProvider) QueryArchwayProof(ctx context.Context, storageKey []byte, height int64) ([]byte, error) { +func (ap *WasmProvider) QueryWasmProof(ctx context.Context, storageKey []byte, height int64) ([]byte, error) { ibcAddr, err := sdk.AccAddressFromBech32(ap.PCfg.IbcHandlerAddress) if err != nil { return nil, err @@ -515,7 +515,7 @@ func (ap *ArchwayProvider) QueryArchwayProof(ctx context.Context, storageKey []b } -func (ap *ArchwayProvider) QueryConnections(ctx context.Context) (conns []*conntypes.IdentifiedConnection, err error) { +func (ap *WasmProvider) QueryConnections(ctx context.Context) (conns []*conntypes.IdentifiedConnection, err error) { seq, err := ap.getNextSequence(ctx, MethodGetNextConnectionSequence) if err != nil { @@ -550,11 +550,11 @@ func (ap *ArchwayProvider) QueryConnections(ctx context.Context) (conns []*connt return conns, nil } -func (ap *ArchwayProvider) QueryConnectionsUsingClient(ctx context.Context, height int64, clientid string) (*conntypes.QueryConnectionsResponse, error) { - return nil, fmt.Errorf("Not implemented for Archway") +func (ap *WasmProvider) QueryConnectionsUsingClient(ctx context.Context, height int64, clientid string) (*conntypes.QueryConnectionsResponse, error) { + return nil, fmt.Errorf("Not implemented for Wasm") } -func (ap *ArchwayProvider) GenerateConnHandshakeProof(ctx context.Context, height int64, clientId, connId string) (clientState ibcexported.ClientState, +func (ap *WasmProvider) GenerateConnHandshakeProof(ctx context.Context, height int64, clientId, connId string) (clientState ibcexported.ClientState, clientStateProof []byte, consensusProof []byte, connectionProof []byte, connectionProofHeight ibcexported.Height, err error) { @@ -570,14 +570,14 @@ func (ap *ArchwayProvider) GenerateConnHandshakeProof(ctx context.Context, heigh } connStorageKey := getStorageKeyFromPath(common.GetConnectionCommitmentKey(connId)) - proofConnBytes, err := ap.QueryArchwayProof(ctx, connStorageKey, height) + proofConnBytes, err := ap.QueryWasmProof(ctx, connStorageKey, height) if err != nil { return nil, nil, nil, nil, nil, err } consStorageKey := getStorageKeyFromPath(common.GetConsensusStateCommitmentKey(clientId, big.NewInt(0), big.NewInt(height))) - proofConsensusBytes, err := ap.QueryArchwayProof(ctx, consStorageKey, height) + proofConsensusBytes, err := ap.QueryWasmProof(ctx, consStorageKey, height) if err != nil { return nil, nil, nil, nil, nil, err } @@ -585,7 +585,7 @@ func (ap *ArchwayProvider) GenerateConnHandshakeProof(ctx context.Context, heigh } // ics 04 - channel -func (ap *ArchwayProvider) QueryChannel(ctx context.Context, height int64, channelid, portid string) (chanRes *chantypes.QueryChannelResponse, err error) { +func (ap *WasmProvider) QueryChannel(ctx context.Context, height int64, channelid, portid string) (chanRes *chantypes.QueryChannelResponse, err error) { channelParams, err := types.NewChannel(portid, channelid).Bytes() if err != nil { return nil, err @@ -606,16 +606,16 @@ func (ap *ArchwayProvider) QueryChannel(ctx context.Context, height int64, chann } storageKey := getStorageKeyFromPath(common.GetChannelCommitmentKey(portid, channelid)) - proof, err := ap.QueryArchwayProof(ctx, storageKey, height) + proof, err := ap.QueryWasmProof(ctx, storageKey, height) return chantypes.NewQueryChannelResponse(channelS, proof, clienttypes.NewHeight(0, uint64(height))), nil } -func (ap *ArchwayProvider) QueryChannelClient(ctx context.Context, height int64, channelid, portid string) (*clienttypes.IdentifiedClientState, error) { - return nil, fmt.Errorf("Not implemented for Archway") +func (ap *WasmProvider) QueryChannelClient(ctx context.Context, height int64, channelid, portid string) (*clienttypes.IdentifiedClientState, error) { + return nil, fmt.Errorf("Not implemented for Wasm") } -func (ap *ArchwayProvider) QueryConnectionChannels(ctx context.Context, height int64, connectionid string) ([]*chantypes.IdentifiedChannel, error) { +func (ap *WasmProvider) QueryConnectionChannels(ctx context.Context, height int64, connectionid string) ([]*chantypes.IdentifiedChannel, error) { allChannel, err := ap.QueryChannels(ctx) if err != nil { return nil, fmt.Errorf("error querying Channels %v", err) @@ -629,7 +629,7 @@ func (ap *ArchwayProvider) QueryConnectionChannels(ctx context.Context, height i return identifiedChannels, nil } -func (ap *ArchwayProvider) QueryChannels(ctx context.Context) ([]*chantypes.IdentifiedChannel, error) { +func (ap *WasmProvider) QueryChannels(ctx context.Context) ([]*chantypes.IdentifiedChannel, error) { nextSeq, err := ap.getNextSequence(ctx, MethodGetNextChannelSequence) if err != nil { return nil, err @@ -670,23 +670,23 @@ func (ap *ArchwayProvider) QueryChannels(ctx context.Context) ([]*chantypes.Iden return channels, nil } -func (ap *ArchwayProvider) QueryPacketCommitments(ctx context.Context, height uint64, channelid, portid string) (commitments *chantypes.QueryPacketCommitmentsResponse, err error) { - return nil, fmt.Errorf("Not implemented for Archway") +func (ap *WasmProvider) QueryPacketCommitments(ctx context.Context, height uint64, channelid, portid string) (commitments *chantypes.QueryPacketCommitmentsResponse, err error) { + return nil, fmt.Errorf("Not implemented for Wasm") } -func (ap *ArchwayProvider) QueryPacketAcknowledgements(ctx context.Context, height uint64, channelid, portid string) (acknowledgements []*chantypes.PacketState, err error) { - return nil, fmt.Errorf("Not implemented for Archway") +func (ap *WasmProvider) QueryPacketAcknowledgements(ctx context.Context, height uint64, channelid, portid string) (acknowledgements []*chantypes.PacketState, err error) { + return nil, fmt.Errorf("Not implemented for Wasm") } -func (ap *ArchwayProvider) QueryUnreceivedPackets(ctx context.Context, height uint64, channelid, portid string, seqs []uint64) ([]uint64, error) { - return nil, fmt.Errorf("Not implemented for Archway") +func (ap *WasmProvider) QueryUnreceivedPackets(ctx context.Context, height uint64, channelid, portid string, seqs []uint64) ([]uint64, error) { + return nil, fmt.Errorf("Not implemented for Wasm") } -func (ap *ArchwayProvider) QueryUnreceivedAcknowledgements(ctx context.Context, height uint64, channelid, portid string, seqs []uint64) ([]uint64, error) { - return nil, fmt.Errorf("Not implemented for Archway") +func (ap *WasmProvider) QueryUnreceivedAcknowledgements(ctx context.Context, height uint64, channelid, portid string, seqs []uint64) ([]uint64, error) { + return nil, fmt.Errorf("Not implemented for Wasm") } -func (ap *ArchwayProvider) QueryNextSeqRecv(ctx context.Context, height int64, channelid, portid string) (recvRes *chantypes.QueryNextSequenceReceiveResponse, err error) { +func (ap *WasmProvider) QueryNextSeqRecv(ctx context.Context, height int64, channelid, portid string) (recvRes *chantypes.QueryNextSequenceReceiveResponse, err error) { nextSeqRecvParams, err := types.NewNextSequenceReceive(portid, channelid).Bytes() if err != nil { return nil, err @@ -696,7 +696,7 @@ func (ap *ArchwayProvider) QueryNextSeqRecv(ctx context.Context, height int64, c return nil, err } - proof, err := ap.QueryArchwayProof(ctx, common.MustHexStrToBytes(STORAGEKEY__NextSequenceReceive), height) + proof, err := ap.QueryWasmProof(ctx, common.MustHexStrToBytes(STORAGEKEY__NextSequenceReceive), height) if err != nil { return nil, err } @@ -708,7 +708,7 @@ func (ap *ArchwayProvider) QueryNextSeqRecv(ctx context.Context, height int64, c }, nil } -func (ap *ArchwayProvider) QueryPacketCommitment(ctx context.Context, height int64, channelid, portid string, seq uint64) (comRes *chantypes.QueryPacketCommitmentResponse, err error) { +func (ap *WasmProvider) QueryPacketCommitment(ctx context.Context, height int64, channelid, portid string, seq uint64) (comRes *chantypes.QueryPacketCommitmentResponse, err error) { pktCommitmentParams, err := types.NewPacketCommitment(portid, channelid, seq).Bytes() if err != nil { return nil, err @@ -718,7 +718,7 @@ func (ap *ArchwayProvider) QueryPacketCommitment(ctx context.Context, height int return nil, err } storageKey := getStorageKeyFromPath(common.GetPacketCommitmentKey(portid, channelid, big.NewInt(int64(seq)))) - proof, err := ap.QueryArchwayProof(ctx, storageKey, height) + proof, err := ap.QueryWasmProof(ctx, storageKey, height) if err != nil { return nil, err @@ -731,7 +731,7 @@ func (ap *ArchwayProvider) QueryPacketCommitment(ctx context.Context, height int } -func (ap *ArchwayProvider) QueryPacketAcknowledgement(ctx context.Context, height int64, channelid, portid string, seq uint64) (ackRes *chantypes.QueryPacketAcknowledgementResponse, err error) { +func (ap *WasmProvider) QueryPacketAcknowledgement(ctx context.Context, height int64, channelid, portid string, seq uint64) (ackRes *chantypes.QueryPacketAcknowledgementResponse, err error) { pktAcknowledgementParams, err := types.NewPacketAcknowledgementCommitment(portid, channelid, seq).Bytes() if err != nil { return nil, err @@ -741,7 +741,7 @@ func (ap *ArchwayProvider) QueryPacketAcknowledgement(ctx context.Context, heigh return nil, err } storageKey := getStorageKeyFromPath(common.GetPacketAcknowledgementCommitmentKey(portid, channelid, big.NewInt(int64(seq)))) - proof, err := ap.QueryArchwayProof(ctx, storageKey, height) + proof, err := ap.QueryWasmProof(ctx, storageKey, height) return &chantypes.QueryPacketAcknowledgementResponse{ Acknowledgement: pktAcknowledgement.Data.Bytes(), @@ -750,11 +750,11 @@ func (ap *ArchwayProvider) QueryPacketAcknowledgement(ctx context.Context, heigh }, nil } -func (ap *ArchwayProvider) QueryPacketReceipt(ctx context.Context, height int64, channelid, portid string, seq uint64) (recRes *chantypes.QueryPacketReceiptResponse, err error) { +func (ap *WasmProvider) QueryPacketReceipt(ctx context.Context, height int64, channelid, portid string, seq uint64) (recRes *chantypes.QueryPacketReceiptResponse, err error) { // getting proof from commitment map in contract storageKey := getStorageKeyFromPath(common.GetPacketReceiptCommitmentKey(portid, channelid, big.NewInt(int64(seq)))) - proof, err := ap.QueryArchwayProof(ctx, storageKey, height) + proof, err := ap.QueryWasmProof(ctx, storageKey, height) if err != nil { return nil, err } @@ -776,7 +776,7 @@ func (ap *ArchwayProvider) QueryPacketReceipt(ctx context.Context, height int64, }, nil } -func (ap *ArchwayProvider) GetCommitmentPrefixFromContract(ctx context.Context) ([]byte, error) { +func (ap *WasmProvider) GetCommitmentPrefixFromContract(ctx context.Context) ([]byte, error) { pktCommitmentParams, err := types.NewCommitmentPrefix().Bytes() if err != nil { @@ -787,9 +787,9 @@ func (ap *ArchwayProvider) GetCommitmentPrefixFromContract(ctx context.Context) } // ics 20 - transfer -func (ap *ArchwayProvider) QueryDenomTrace(ctx context.Context, denom string) (*transfertypes.DenomTrace, error) { - return nil, fmt.Errorf("Not implemented for Archway") +func (ap *WasmProvider) QueryDenomTrace(ctx context.Context, denom string) (*transfertypes.DenomTrace, error) { + return nil, fmt.Errorf("Not implemented for Wasm") } -func (ap *ArchwayProvider) QueryDenomTraces(ctx context.Context, offset, limit uint64, height int64) ([]transfertypes.DenomTrace, error) { - return nil, fmt.Errorf("Not implemented for Archway") +func (ap *WasmProvider) QueryDenomTraces(ctx context.Context, offset, limit uint64, height int64) ([]transfertypes.DenomTrace, error) { + return nil, fmt.Errorf("Not implemented for Wasm") } diff --git a/relayer/chains/archway/storage_key.go b/relayer/chains/wasm/storage_key.go similarity index 98% rename from relayer/chains/archway/storage_key.go rename to relayer/chains/wasm/storage_key.go index c4e2badc3..969418375 100644 --- a/relayer/chains/archway/storage_key.go +++ b/relayer/chains/wasm/storage_key.go @@ -1,4 +1,4 @@ -package archway +package wasm const WASM_CONTRACT_PREFIX = "03" diff --git a/relayer/chains/archway/storage_key_test.go b/relayer/chains/wasm/storage_key_test.go similarity index 93% rename from relayer/chains/archway/storage_key_test.go rename to relayer/chains/wasm/storage_key_test.go index dab4f9358..c4bacca9a 100644 --- a/relayer/chains/archway/storage_key_test.go +++ b/relayer/chains/wasm/storage_key_test.go @@ -1,4 +1,4 @@ -package archway +package wasm import ( "fmt" diff --git a/relayer/chains/archway/tx.go b/relayer/chains/wasm/tx.go similarity index 82% rename from relayer/chains/archway/tx.go rename to relayer/chains/wasm/tx.go index 2893d31fc..f85cd2556 100644 --- a/relayer/chains/archway/tx.go +++ b/relayer/chains/wasm/tx.go @@ -1,4 +1,4 @@ -package archway +package wasm import ( "bufio" @@ -65,7 +65,7 @@ var ( defaultDelayPeriod = uint64(0) ) -func (ap *ArchwayProvider) TxFactory() tx.Factory { +func (ap *WasmProvider) TxFactory() tx.Factory { return tx.Factory{}. WithAccountRetriever(ap). WithChainID(ap.PCfg.ChainID). @@ -77,7 +77,7 @@ func (ap *ArchwayProvider) TxFactory() tx.Factory { } // PrepareFactory mutates the tx factory with the appropriate account number, sequence number, and min gas settings. -func (ap *ArchwayProvider) PrepareFactory(txf tx.Factory) (tx.Factory, error) { +func (ap *WasmProvider) PrepareFactory(txf tx.Factory) (tx.Factory, error) { var ( err error from sdk.AccAddress @@ -139,7 +139,7 @@ func (ap *ArchwayProvider) PrepareFactory(txf tx.Factory) (tx.Factory, error) { return txf, nil } -func (pc *ArchwayProviderConfig) SignMode() signing.SignMode { +func (pc *WasmProviderConfig) SignMode() signing.SignMode { signMode := signing.SignMode_SIGN_MODE_UNSPECIFIED switch pc.SignModeStr { case "direct": @@ -150,7 +150,7 @@ func (pc *ArchwayProviderConfig) SignMode() signing.SignMode { return signMode } -func (ap *ArchwayProvider) NewClientState(dstChainID string, dstIBCHeader provider.IBCHeader, dstTrustingPeriod, dstUbdPeriod time.Duration, allowUpdateAfterExpiry, allowUpdateAfterMisbehaviour bool) (ibcexported.ClientState, error) { +func (ap *WasmProvider) NewClientState(dstChainID string, dstIBCHeader provider.IBCHeader, dstTrustingPeriod, dstUbdPeriod time.Duration, allowUpdateAfterExpiry, allowUpdateAfterMisbehaviour bool) (ibcexported.ClientState, error) { return &itm.ClientState{ ChainId: dstChainID, @@ -164,7 +164,7 @@ func (ap *ArchwayProvider) NewClientState(dstChainID string, dstIBCHeader provid }, nil } -func (ap *ArchwayProvider) NewClientStateMock(dstChainID string, dstIBCHeader provider.IBCHeader, dstTrustingPeriod, dstUbdPeriod time.Duration, allowUpdateAfterExpiry, allowUpdateAfterMisbehaviour bool) (ibcexported.ClientState, error) { +func (ap *WasmProvider) NewClientStateMock(dstChainID string, dstIBCHeader provider.IBCHeader, dstTrustingPeriod, dstUbdPeriod time.Duration, allowUpdateAfterExpiry, allowUpdateAfterMisbehaviour bool) (ibcexported.ClientState, error) { btpHeader := dstIBCHeader.(*iconchain.IconIBCHeader) @@ -178,7 +178,7 @@ func (ap *ArchwayProvider) NewClientStateMock(dstChainID string, dstIBCHeader pr }, nil } -func (ap *ArchwayProvider) MsgCreateClient(clientState ibcexported.ClientState, consensusState ibcexported.ConsensusState) (provider.RelayerMessage, error) { +func (ap *WasmProvider) MsgCreateClient(clientState ibcexported.ClientState, consensusState ibcexported.ConsensusState) (provider.RelayerMessage, error) { signer, err := ap.Address() if err != nil { return nil, err @@ -203,15 +203,15 @@ func (ap *ArchwayProvider) MsgCreateClient(clientState ibcexported.ClientState, return ap.NewWasmContractMessage(MethodCreateClient, params) } -func (ap *ArchwayProvider) MsgUpgradeClient(srcClientId string, consRes *clienttypes.QueryConsensusStateResponse, clientRes *clienttypes.QueryClientStateResponse) (provider.RelayerMessage, error) { - return nil, fmt.Errorf("Not implemented for Archway") +func (ap *WasmProvider) MsgUpgradeClient(srcClientId string, consRes *clienttypes.QueryConsensusStateResponse, clientRes *clienttypes.QueryClientStateResponse) (provider.RelayerMessage, error) { + return nil, fmt.Errorf("Not implemented for Wasm") } -func (ap *ArchwayProvider) MsgSubmitMisbehaviour(clientID string, misbehaviour ibcexported.ClientMessage) (provider.RelayerMessage, error) { - return nil, fmt.Errorf("Not implemented for Archway") +func (ap *WasmProvider) MsgSubmitMisbehaviour(clientID string, misbehaviour ibcexported.ClientMessage) (provider.RelayerMessage, error) { + return nil, fmt.Errorf("Not implemented for Wasm") } -func (ap *ArchwayProvider) ValidatePacket(msgTransfer provider.PacketInfo, latest provider.LatestBlock) error { +func (ap *WasmProvider) ValidatePacket(msgTransfer provider.PacketInfo, latest provider.LatestBlock) error { if msgTransfer.Sequence == 0 { return errors.New("refusing to relay packet with sequence: 0") @@ -241,7 +241,7 @@ func (ap *ArchwayProvider) ValidatePacket(msgTransfer provider.PacketInfo, lates return nil } -func (ap *ArchwayProvider) PacketCommitment(ctx context.Context, msgTransfer provider.PacketInfo, height uint64) (provider.PacketProof, error) { +func (ap *WasmProvider) PacketCommitment(ctx context.Context, msgTransfer provider.PacketInfo, height uint64) (provider.PacketProof, error) { packetCommitmentResponse, err := ap.QueryPacketCommitment( ctx, int64(height), msgTransfer.SourceChannel, msgTransfer.SourcePort, msgTransfer.Sequence, ) @@ -255,7 +255,7 @@ func (ap *ArchwayProvider) PacketCommitment(ctx context.Context, msgTransfer pro }, nil } -func (ap *ArchwayProvider) PacketAcknowledgement(ctx context.Context, msgRecvPacket provider.PacketInfo, height uint64) (provider.PacketProof, error) { +func (ap *WasmProvider) PacketAcknowledgement(ctx context.Context, msgRecvPacket provider.PacketInfo, height uint64) (provider.PacketProof, error) { packetAckResponse, err := ap.QueryPacketAcknowledgement(ctx, int64(height), msgRecvPacket.SourceChannel, msgRecvPacket.SourcePort, msgRecvPacket.Sequence) if err != nil { return provider.PacketProof{}, nil @@ -266,7 +266,7 @@ func (ap *ArchwayProvider) PacketAcknowledgement(ctx context.Context, msgRecvPac }, nil } -func (ap *ArchwayProvider) PacketReceipt(ctx context.Context, msgTransfer provider.PacketInfo, height uint64) (provider.PacketProof, error) { +func (ap *WasmProvider) PacketReceipt(ctx context.Context, msgTransfer provider.PacketInfo, height uint64) (provider.PacketProof, error) { packetReceiptResponse, err := ap.QueryPacketReceipt(ctx, int64(height), msgTransfer.SourceChannel, msgTransfer.SourcePort, msgTransfer.Sequence) @@ -279,7 +279,7 @@ func (ap *ArchwayProvider) PacketReceipt(ctx context.Context, msgTransfer provid }, nil } -func (ap *ArchwayProvider) NextSeqRecv(ctx context.Context, msgTransfer provider.PacketInfo, height uint64) (provider.PacketProof, error) { +func (ap *WasmProvider) NextSeqRecv(ctx context.Context, msgTransfer provider.PacketInfo, height uint64) (provider.PacketProof, error) { nextSeqRecvResponse, err := ap.QueryNextSeqRecv(ctx, int64(height), msgTransfer.DestChannel, msgTransfer.DestPort) if err != nil { return provider.PacketProof{}, nil @@ -290,11 +290,11 @@ func (ap *ArchwayProvider) NextSeqRecv(ctx context.Context, msgTransfer provider }, nil } -func (ap *ArchwayProvider) MsgTransfer(dstAddr string, amount sdk.Coin, info provider.PacketInfo) (provider.RelayerMessage, error) { - return nil, fmt.Errorf("Not implemented for Archway") +func (ap *WasmProvider) MsgTransfer(dstAddr string, amount sdk.Coin, info provider.PacketInfo) (provider.RelayerMessage, error) { + return nil, fmt.Errorf("Not implemented for Wasm") } -func (ap *ArchwayProvider) MsgRecvPacket(msgTransfer provider.PacketInfo, proof provider.PacketProof) (provider.RelayerMessage, error) { +func (ap *WasmProvider) MsgRecvPacket(msgTransfer provider.PacketInfo, proof provider.PacketProof) (provider.RelayerMessage, error) { signer, err := ap.Address() if err != nil { return nil, err @@ -310,7 +310,7 @@ func (ap *ArchwayProvider) MsgRecvPacket(msgTransfer provider.PacketInfo, proof return ap.NewWasmContractMessage(MethodRecvPacket, params) } -func (ap *ArchwayProvider) MsgAcknowledgement(msgRecvPacket provider.PacketInfo, proof provider.PacketProof) (provider.RelayerMessage, error) { +func (ap *WasmProvider) MsgAcknowledgement(msgRecvPacket provider.PacketInfo, proof provider.PacketProof) (provider.RelayerMessage, error) { signer, err := ap.Address() if err != nil { return nil, err @@ -327,7 +327,7 @@ func (ap *ArchwayProvider) MsgAcknowledgement(msgRecvPacket provider.PacketInfo, } -func (ap *ArchwayProvider) MsgTimeout(msgTransfer provider.PacketInfo, proof provider.PacketProof) (provider.RelayerMessage, error) { +func (ap *WasmProvider) MsgTimeout(msgTransfer provider.PacketInfo, proof provider.PacketProof) (provider.RelayerMessage, error) { signer, err := ap.Address() if err != nil { return nil, err @@ -344,15 +344,15 @@ func (ap *ArchwayProvider) MsgTimeout(msgTransfer provider.PacketInfo, proof pro return ap.NewWasmContractMessage(MethodTimeoutPacket, params) } -func (ap *ArchwayProvider) MsgTimeoutRequest(msgTransfer provider.PacketInfo, proof provider.PacketProof) (provider.RelayerMessage, error) { - return nil, fmt.Errorf("MsgTimeoutRequest Not implemented for Archway module") +func (ap *WasmProvider) MsgTimeoutRequest(msgTransfer provider.PacketInfo, proof provider.PacketProof) (provider.RelayerMessage, error) { + return nil, fmt.Errorf("MsgTimeoutRequest Not implemented for Wasm module") } -func (ap *ArchwayProvider) MsgTimeoutOnClose(msgTransfer provider.PacketInfo, proofUnreceived provider.PacketProof) (provider.RelayerMessage, error) { +func (ap *WasmProvider) MsgTimeoutOnClose(msgTransfer provider.PacketInfo, proofUnreceived provider.PacketProof) (provider.RelayerMessage, error) { return nil, nil } -func (ap *ArchwayProvider) ConnectionHandshakeProof(ctx context.Context, msgOpenInit provider.ConnectionInfo, height uint64) (provider.ConnectionProof, error) { +func (ap *WasmProvider) ConnectionHandshakeProof(ctx context.Context, msgOpenInit provider.ConnectionInfo, height uint64) (provider.ConnectionProof, error) { clientState, clientStateProof, consensusStateProof, connStateProof, proofHeight, err := ap.GenerateConnHandshakeProof(ctx, int64(height), msgOpenInit.ClientID, msgOpenInit.ConnID) if err != nil { return provider.ConnectionProof{}, err @@ -367,7 +367,7 @@ func (ap *ArchwayProvider) ConnectionHandshakeProof(ctx context.Context, msgOpen }, nil } -func (ap *ArchwayProvider) ConnectionProof(ctx context.Context, msgOpenAck provider.ConnectionInfo, height uint64) (provider.ConnectionProof, error) { +func (ap *WasmProvider) ConnectionProof(ctx context.Context, msgOpenAck provider.ConnectionInfo, height uint64) (provider.ConnectionProof, error) { connState, err := ap.QueryConnection(ctx, int64(height), msgOpenAck.ConnID) if err != nil { return provider.ConnectionProof{}, err @@ -378,7 +378,7 @@ func (ap *ArchwayProvider) ConnectionProof(ctx context.Context, msgOpenAck provi }, nil } -func (ap *ArchwayProvider) MsgConnectionOpenInit(info provider.ConnectionInfo, proof provider.ConnectionProof) (provider.RelayerMessage, error) { +func (ap *WasmProvider) MsgConnectionOpenInit(info provider.ConnectionInfo, proof provider.ConnectionProof) (provider.RelayerMessage, error) { signer, err := ap.Address() if err != nil { return nil, err @@ -399,7 +399,7 @@ func (ap *ArchwayProvider) MsgConnectionOpenInit(info provider.ConnectionInfo, p } -func (ap *ArchwayProvider) MsgConnectionOpenTry(msgOpenInit provider.ConnectionInfo, proof provider.ConnectionProof) (provider.RelayerMessage, error) { +func (ap *WasmProvider) MsgConnectionOpenTry(msgOpenInit provider.ConnectionInfo, proof provider.ConnectionProof) (provider.RelayerMessage, error) { signer, err := ap.Address() if err != nil { return nil, err @@ -434,7 +434,7 @@ func (ap *ArchwayProvider) MsgConnectionOpenTry(msgOpenInit provider.ConnectionI } -func (ap *ArchwayProvider) MsgConnectionOpenAck(msgOpenTry provider.ConnectionInfo, proof provider.ConnectionProof) (provider.RelayerMessage, error) { +func (ap *WasmProvider) MsgConnectionOpenAck(msgOpenTry provider.ConnectionInfo, proof provider.ConnectionProof) (provider.RelayerMessage, error) { signer, err := ap.Address() if err != nil { return nil, err @@ -464,7 +464,7 @@ func (ap *ArchwayProvider) MsgConnectionOpenAck(msgOpenTry provider.ConnectionIn return ap.NewWasmContractMessage(MethodConnectionOpenAck, params) } -func (ap *ArchwayProvider) MsgConnectionOpenConfirm(msgOpenAck provider.ConnectionInfo, proof provider.ConnectionProof) (provider.RelayerMessage, error) { +func (ap *WasmProvider) MsgConnectionOpenConfirm(msgOpenAck provider.ConnectionInfo, proof provider.ConnectionProof) (provider.RelayerMessage, error) { signer, err := ap.Address() if err != nil { return nil, err @@ -478,7 +478,7 @@ func (ap *ArchwayProvider) MsgConnectionOpenConfirm(msgOpenAck provider.Connecti return ap.NewWasmContractMessage(MethodConnectionOpenConfirm, params) } -func (ap *ArchwayProvider) ChannelProof(ctx context.Context, msg provider.ChannelInfo, height uint64) (provider.ChannelProof, error) { +func (ap *WasmProvider) ChannelProof(ctx context.Context, msg provider.ChannelInfo, height uint64) (provider.ChannelProof, error) { channelResult, err := ap.QueryChannel(ctx, int64(height), msg.ChannelID, msg.PortID) if err != nil { return provider.ChannelProof{}, nil @@ -494,7 +494,7 @@ func (ap *ArchwayProvider) ChannelProof(ctx context.Context, msg provider.Channe }, nil } -func (ap *ArchwayProvider) MsgChannelOpenInit(info provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { +func (ap *WasmProvider) MsgChannelOpenInit(info provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { signer, err := ap.Address() if err != nil { return nil, err @@ -516,7 +516,7 @@ func (ap *ArchwayProvider) MsgChannelOpenInit(info provider.ChannelInfo, proof p return ap.NewWasmContractMessage(MethodChannelOpenInit, params) } -func (ap *ArchwayProvider) MsgChannelOpenTry(msgOpenInit provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { +func (ap *WasmProvider) MsgChannelOpenTry(msgOpenInit provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { signer, err := ap.Address() if err != nil { return nil, err @@ -546,7 +546,7 @@ func (ap *ArchwayProvider) MsgChannelOpenTry(msgOpenInit provider.ChannelInfo, p return ap.NewWasmContractMessage(MethodChannelOpenTry, params) } -func (ap *ArchwayProvider) MsgChannelOpenAck(msgOpenTry provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { +func (ap *WasmProvider) MsgChannelOpenAck(msgOpenTry provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { signer, err := ap.Address() if err != nil { return nil, err @@ -564,7 +564,7 @@ func (ap *ArchwayProvider) MsgChannelOpenAck(msgOpenTry provider.ChannelInfo, pr return ap.NewWasmContractMessage(MethodChannelOpenAck, params) } -func (ap *ArchwayProvider) MsgChannelOpenConfirm(msgOpenAck provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { +func (ap *WasmProvider) MsgChannelOpenConfirm(msgOpenAck provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { signer, err := ap.Address() if err != nil { return nil, err @@ -580,7 +580,7 @@ func (ap *ArchwayProvider) MsgChannelOpenConfirm(msgOpenAck provider.ChannelInfo return ap.NewWasmContractMessage(MethodChannelOpenConfirm, params) } -func (ap *ArchwayProvider) MsgChannelCloseInit(info provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { +func (ap *WasmProvider) MsgChannelCloseInit(info provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { signer, err := ap.Address() if err != nil { return nil, err @@ -595,7 +595,7 @@ func (ap *ArchwayProvider) MsgChannelCloseInit(info provider.ChannelInfo, proof return ap.NewWasmContractMessage(MethodChannelCloseInit, params) } -func (ap *ArchwayProvider) MsgChannelCloseConfirm(msgCloseInit provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { +func (ap *WasmProvider) MsgChannelCloseConfirm(msgCloseInit provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { signer, err := ap.Address() if err != nil { return nil, err @@ -612,26 +612,26 @@ func (ap *ArchwayProvider) MsgChannelCloseConfirm(msgCloseInit provider.ChannelI return ap.NewWasmContractMessage(MethodChannelCloseConfirm, params) } -func (ap *ArchwayProvider) MsgUpdateClientHeader(latestHeader provider.IBCHeader, trustedHeight clienttypes.Height, trustedHeader provider.IBCHeader) (ibcexported.ClientMessage, error) { - trustedArchwayHeader, ok := trustedHeader.(ArchwayIBCHeader) +func (ap *WasmProvider) MsgUpdateClientHeader(latestHeader provider.IBCHeader, trustedHeight clienttypes.Height, trustedHeader provider.IBCHeader) (ibcexported.ClientMessage, error) { + trustedWasmHeader, ok := trustedHeader.(WasmIBCHeader) if !ok { return nil, fmt.Errorf("unsupported IBC trusted header type, expected: TendermintIBCHeader, actual: %T", trustedHeader) } - latestArchwayHeader, ok := latestHeader.(ArchwayIBCHeader) + latestWasmHeader, ok := latestHeader.(WasmIBCHeader) if !ok { return nil, fmt.Errorf("unsupported IBC header type, expected: TendermintIBCHeader, actual: %T", latestHeader) } return &itm.TmHeader{ - SignedHeader: latestArchwayHeader.SignedHeader, - ValidatorSet: latestArchwayHeader.ValidatorSet, - TrustedValidators: trustedArchwayHeader.ValidatorSet, + SignedHeader: latestWasmHeader.SignedHeader, + ValidatorSet: latestWasmHeader.ValidatorSet, + TrustedValidators: trustedWasmHeader.ValidatorSet, TrustedHeight: int64(trustedHeight.RevisionHeight), }, nil } -func (ap *ArchwayProvider) MsgUpdateClient(clientID string, dstHeader ibcexported.ClientMessage) (provider.RelayerMessage, error) { +func (ap *WasmProvider) MsgUpdateClient(clientID string, dstHeader ibcexported.ClientMessage) (provider.RelayerMessage, error) { signer, err := ap.Address() if err != nil { return nil, err @@ -651,27 +651,27 @@ func (ap *ArchwayProvider) MsgUpdateClient(clientID string, dstHeader ibcexporte } -func (ap *ArchwayProvider) QueryICQWithProof(ctx context.Context, msgType string, request []byte, height uint64) (provider.ICQProof, error) { +func (ap *WasmProvider) QueryICQWithProof(ctx context.Context, msgType string, request []byte, height uint64) (provider.ICQProof, error) { return provider.ICQProof{}, nil } -func (ap *ArchwayProvider) MsgSubmitQueryResponse(chainID string, queryID provider.ClientICQQueryID, proof provider.ICQProof) (provider.RelayerMessage, error) { +func (ap *WasmProvider) MsgSubmitQueryResponse(chainID string, queryID provider.ClientICQQueryID, proof provider.ICQProof) (provider.RelayerMessage, error) { return nil, nil } -func (ap *ArchwayProvider) RelayPacketFromSequence(ctx context.Context, src provider.ChainProvider, srch, dsth, seq uint64, srcChanID, srcPortID string, order chantypes.Order) (provider.RelayerMessage, provider.RelayerMessage, error) { +func (ap *WasmProvider) RelayPacketFromSequence(ctx context.Context, src provider.ChainProvider, srch, dsth, seq uint64, srcChanID, srcPortID string, order chantypes.Order) (provider.RelayerMessage, provider.RelayerMessage, error) { return nil, nil, nil } -func (ap *ArchwayProvider) AcknowledgementFromSequence(ctx context.Context, dst provider.ChainProvider, dsth, seq uint64, dstChanID, dstPortID, srcChanID, srcPortID string) (provider.RelayerMessage, error) { +func (ap *WasmProvider) AcknowledgementFromSequence(ctx context.Context, dst provider.ChainProvider, dsth, seq uint64, dstChanID, dstPortID, srcChanID, srcPortID string) (provider.RelayerMessage, error) { return nil, nil } -func (ap *ArchwayProvider) SendMessage(ctx context.Context, msg provider.RelayerMessage, memo string) (*provider.RelayerTxResponse, bool, error) { +func (ap *WasmProvider) SendMessage(ctx context.Context, msg provider.RelayerMessage, memo string) (*provider.RelayerTxResponse, bool, error) { return ap.SendMessages(ctx, []provider.RelayerMessage{msg}, memo) } -func (ap *ArchwayProvider) SendMessages(ctx context.Context, msgs []provider.RelayerMessage, memo string) (*provider.RelayerTxResponse, bool, error) { +func (ap *WasmProvider) SendMessages(ctx context.Context, msgs []provider.RelayerMessage, memo string) (*provider.RelayerTxResponse, bool, error) { var ( rlyResp *provider.RelayerTxResponse callbackErr error @@ -724,7 +724,7 @@ func (ap *ArchwayProvider) SendMessages(ctx context.Context, msgs []provider.Rel return rlyResp, true, callbackErr } -func (ap *ArchwayProvider) SendMessagesToMempool( +func (ap *WasmProvider) SendMessagesToMempool( ctx context.Context, msgs []provider.RelayerMessage, memo string, @@ -743,16 +743,16 @@ func (ap *ArchwayProvider) SendMessagesToMempool( for _, msg := range msgs { if msg == nil { - ap.log.Debug("One of the message of archway") + ap.log.Debug("One of the message of is nil ") continue } - archwayMsg, ok := msg.(*WasmContractMessage) + wasmMsg, ok := msg.(*WasmContractMessage) if !ok { - return fmt.Errorf("Archway Message is not valid %s", archwayMsg.Type()) + return fmt.Errorf("Wasm Message is not valid %s", wasmMsg.Type()) } - txBytes, sequence, err := ap.buildMessages(cliCtx, factory, archwayMsg.Msg) + txBytes, sequence, err := ap.buildMessages(cliCtx, factory, wasmMsg.Msg) if err != nil { return err } @@ -762,7 +762,7 @@ func (ap *ArchwayProvider) SendMessagesToMempool( if strings.Contains(err.Error(), sdkerrors.ErrWrongSequence.Error()) { ap.handleAccountSequenceMismatchError(err) } - return fmt.Errorf("Archway: failed during updateClient %v", err) + return fmt.Errorf("Wasm: failed during updateClient %v", err) } ap.updateNextAccountSequence(sequence + 1) continue @@ -776,12 +776,12 @@ func (ap *ArchwayProvider) SendMessagesToMempool( } //TODO: comment this on production - SaveMsgToFile(ArchwayDebugMessagePath, msgs) + SaveMsgToFile(WasmDebugMessagePath, msgs) return nil } -func (ap *ArchwayProvider) LogFailedTx(res *provider.RelayerTxResponse, err error, msgs []provider.RelayerMessage) { +func (ap *WasmProvider) LogFailedTx(res *provider.RelayerTxResponse, err error, msgs []provider.RelayerMessage) { fields := []zapcore.Field{zap.String("chain_id", ap.ChainId())} // if res != nil { @@ -794,7 +794,7 @@ func (ap *ArchwayProvider) LogFailedTx(res *provider.RelayerTxResponse, err erro // Make a copy since we may continue to the warning errorFields := append(fields, zap.Error(err)) ap.log.Error( - "Failed sending archway transaction", + "Failed sending wasm transaction", errorFields..., ) @@ -815,7 +815,7 @@ func (ap *ArchwayProvider) LogFailedTx(res *provider.RelayerTxResponse, err erro } // LogSuccessTx take the transaction and the messages to create it and logs the appropriate data -func (ap *ArchwayProvider) LogSuccessTx(res *sdk.TxResponse, msgs []provider.RelayerMessage) { +func (ap *WasmProvider) LogSuccessTx(res *sdk.TxResponse, msgs []provider.RelayerMessage) { // Include the chain_id fields := []zapcore.Field{zap.String("chain_id", ap.ChainId())} @@ -879,7 +879,7 @@ func getFeePayer(tx *txtypes.Tx) string { } -func (ap *ArchwayProvider) sdkError(codespace string, code uint32) error { +func (ap *WasmProvider) sdkError(codespace string, code uint32) error { // ABCIError will return an error other than "unknown" if syncRes.Code is a registered error in syncRes.Codespace // This catches all of the sdk errors https://github.com/cosmos/cosmos-sdk/blob/f10f5e5974d2ecbf9efc05bc0bfe1c99fdeed4b6/types/errors/errors.go err := errors.Unwrap(sdkerrors.ABCIError(codespace, code, "error broadcasting transaction")) @@ -889,7 +889,7 @@ func (ap *ArchwayProvider) sdkError(codespace string, code uint32) error { return nil } -func (ap *ArchwayProvider) buildMessages(clientCtx client.Context, txf tx.Factory, msgs ...sdk.Msg) ([]byte, uint64, error) { +func (ap *WasmProvider) buildMessages(clientCtx client.Context, txf tx.Factory, msgs ...sdk.Msg) ([]byte, uint64, error) { for _, msg := range msgs { if err := msg.ValidateBasic(); err != nil { return nil, 0, err @@ -974,7 +974,7 @@ func (ap *ArchwayProvider) buildMessages(clientCtx client.Context, txf tx.Factor return res, sequence, nil } -func (ap *ArchwayProvider) BroadcastTx( +func (ap *WasmProvider) BroadcastTx( clientCtx client.Context, txBytes []byte, msgs []provider.RelayerMessage, @@ -1033,7 +1033,7 @@ func (ap *ArchwayProvider) BroadcastTx( // BroadcastTx attempts to generate, sign and broadcast a transaction with the // given set of messages. It will also simulate gas requirements if necessary. // It will return an error upon failure. -func (ap *ArchwayProvider) broadcastTx( +func (ap *WasmProvider) broadcastTx( ctx context.Context, // context for tx broadcast tx []byte, // raw tx to be broadcasted msgs []provider.RelayerMessage, // used for logging only @@ -1046,7 +1046,7 @@ func (ap *ArchwayProvider) broadcastTx( return nil } -func (ap *ArchwayProvider) waitForTx( +func (ap *WasmProvider) waitForTx( ctx context.Context, txHash []byte, msgs []provider.RelayerMessage, // used for logging only @@ -1094,7 +1094,7 @@ func (ap *ArchwayProvider) waitForTx( ap.LogSuccessTx(res, msgs) } -func (ap *ArchwayProvider) waitForTxResult( +func (ap *WasmProvider) waitForTxResult( ctx context.Context, txHash []byte, waitTimeout time.Duration, @@ -1140,7 +1140,7 @@ type intoAny interface { AsAny() *codectypes.Any } -func (ap *ArchwayProvider) mkTxResult(resTx *coretypes.ResultTx) (*sdk.TxResponse, error) { +func (ap *WasmProvider) mkTxResult(resTx *coretypes.ResultTx) (*sdk.TxResponse, error) { txbz, err := ap.Cdc.TxConfig.TxDecoder()(resTx.Tx) if err != nil { return nil, err @@ -1243,7 +1243,7 @@ func parseEventsFromTxResponse(resp *sdk.TxResponse) []provider.RelayerEvent { } // QueryABCI performs an ABCI query and returns the appropriate response and error sdk error code. -func (cc *ArchwayProvider) QueryABCI(ctx context.Context, req abci.RequestQuery) (abci.ResponseQuery, error) { +func (cc *WasmProvider) QueryABCI(ctx context.Context, req abci.RequestQuery) (abci.ResponseQuery, error) { opts := rpcclient.ABCIQueryOptions{ Height: req.Height, Prove: req.Prove, @@ -1265,7 +1265,7 @@ func (cc *ArchwayProvider) QueryABCI(ctx context.Context, req abci.RequestQuery) return result.Response, nil } -func (cc *ArchwayProvider) handleAccountSequenceMismatchError(err error) { +func (cc *WasmProvider) handleAccountSequenceMismatchError(err error) { clientCtx := cc.ClientContext() fmt.Println("client context is ", clientCtx.GetFromAddress()) diff --git a/relayer/chains/archway/types/types.go b/relayer/chains/wasm/types/types.go similarity index 100% rename from relayer/chains/archway/types/types.go rename to relayer/chains/wasm/types/types.go diff --git a/relayer/chains/archway/utils.go b/relayer/chains/wasm/utils.go similarity index 98% rename from relayer/chains/archway/utils.go rename to relayer/chains/wasm/utils.go index 747a63119..6b49cc1aa 100644 --- a/relayer/chains/archway/utils.go +++ b/relayer/chains/wasm/utils.go @@ -1,4 +1,4 @@ -package archway +package wasm import ( "encoding/binary" diff --git a/relayer/common/const.go b/relayer/common/const.go index bd8737a7e..3655381ff 100644 --- a/relayer/common/const.go +++ b/relayer/common/const.go @@ -3,7 +3,7 @@ package common var ( EventTimeoutRequest = "TimeoutRequest(bytes)" IconModule = "icon" - ArchwayModule = "archway" + WasmModule = "wasm" TendermintLightClient = "tendermint" IconLightClient = "iconclient" ) diff --git a/relayer/strategies.go b/relayer/strategies.go index a829ebce9..920c49686 100644 --- a/relayer/strategies.go +++ b/relayer/strategies.go @@ -10,10 +10,10 @@ import ( "github.com/avast/retry-go/v4" "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - "github.com/cosmos/relayer/v2/relayer/chains/archway" "github.com/cosmos/relayer/v2/relayer/chains/cosmos" "github.com/cosmos/relayer/v2/relayer/chains/icon" penumbraprocessor "github.com/cosmos/relayer/v2/relayer/chains/penumbra" + "github.com/cosmos/relayer/v2/relayer/chains/wasm" "github.com/cosmos/relayer/v2/relayer/processor" "go.uber.org/zap" ) @@ -125,8 +125,8 @@ func (chain *Chain) chainProcessor(log *zap.Logger, metrics *processor.Prometheu return cosmos.NewCosmosChainProcessor(log, p, metrics) case *icon.IconProvider: return icon.NewIconChainProcessor(log, p, metrics) - case *archway.ArchwayProvider: - return archway.NewArchwayChainProcessor(log, p, metrics) + case *wasm.WasmProvider: + return wasm.NewWasmChainProcessor(log, p, metrics) default: panic(fmt.Errorf("unsupported chain provider type: %T", chain.ChainProvider)) } From b5bf963034990cd67ef359a4774f766f0371619a Mon Sep 17 00:00:00 2001 From: viveksharmapoudel Date: Wed, 19 Jul 2023 16:26:41 +0545 Subject: [PATCH 2/5] chore: gitignore rename --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ff688351e..9fcd183ae 100644 --- a/.gitignore +++ b/.gitignore @@ -20,7 +20,7 @@ dist/ .release-env **/log*.txt -**/debug_archway_msg_data.json +**/debug_wasm_msg_data.json # Don't commit the vendor directory if anyone runs 'go mod vendor'. /vendor From c194bf4a512904998bdba113bef5e40e1ac19fc7 Mon Sep 17 00:00:00 2001 From: izyak Date: Tue, 25 Jul 2023 16:06:23 +0545 Subject: [PATCH 3/5] chore: add block interval to provider cfg --- relayer/chains/icon/provider_test.go | 3 ++- relayer/chains/wasm/provider_test.go | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/relayer/chains/icon/provider_test.go b/relayer/chains/icon/provider_test.go index 3590126c4..7544bc7df 100644 --- a/relayer/chains/icon/provider_test.go +++ b/relayer/chains/icon/provider_test.go @@ -56,7 +56,8 @@ func GetMockIconProvider(network_id int, contractAddress string) *IconProvider { IbcHandlerAddress: contractAddress, RPCAddr: "http://localhost:9082/api/v3", // RPCAddr: "https://berlin.net.solidwallet.io/api/v3", - Timeout: "20s", + Timeout: "20s", + BlockInterval: 2000, } log, _ := zap.NewProduction() p, _ := pcfg.NewProvider(log, "", false, "icon") diff --git a/relayer/chains/wasm/provider_test.go b/relayer/chains/wasm/provider_test.go index 8c8cb1fa4..04022438c 100644 --- a/relayer/chains/wasm/provider_test.go +++ b/relayer/chains/wasm/provider_test.go @@ -52,6 +52,7 @@ func GetProvider(ctx context.Context, handlerAddr string, local bool) (provider. SignModeStr: "direct", MinGasAmount: 1000_000, IbcHandlerAddress: handlerAddr, + BlockInterval: 6000, } if !local { config.RPCAddr = "https://rpc.constantine.archway.tech:443" From 4ccb3a1d5e83dc8cf607bb4f1b140986034181d5 Mon Sep 17 00:00:00 2001 From: izyak Date: Tue, 25 Jul 2023 16:12:40 +0545 Subject: [PATCH 4/5] chore: add block interval --- relayer/chains/icon/client_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/relayer/chains/icon/client_test.go b/relayer/chains/icon/client_test.go index b0d3bd9d4..2c0d0b448 100644 --- a/relayer/chains/icon/client_test.go +++ b/relayer/chains/icon/client_test.go @@ -38,6 +38,7 @@ func GetLisbonIconProvider(network_id int, contractAddress string) *IconProvider IbcHandlerAddress: contractAddress, RPCAddr: "https://lisbon.net.solidwallet.io/api/v3", Timeout: "20s", + BlockInterval: 2000, } log, _ := zap.NewProduction() p, _ := pcfg.NewProvider(log, "", false, "icon") From 0f04e0d0a77a5899c795325b166cfe5eae2382b6 Mon Sep 17 00:00:00 2001 From: izyak Date: Tue, 25 Jul 2023 16:19:06 +0545 Subject: [PATCH 5/5] chore: block interval --- relayer/chains/icon/keys_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/relayer/chains/icon/keys_test.go b/relayer/chains/icon/keys_test.go index 798c5109a..9b35e2ee6 100644 --- a/relayer/chains/icon/keys_test.go +++ b/relayer/chains/icon/keys_test.go @@ -45,6 +45,7 @@ func TestRestoreIconKeyStore(t *testing.T) { ChainName: "icon", StartHeight: 10, IbcHandlerAddress: "cxb6b5791be0b5ef67063b3c10b840fb81514db2fd", + BlockInterval: 2000, } p, err := pcfg.NewProvider(zap.NewNop(), "not_correct", false, "icon") require.NoError(t, err)