Skip to content

Commit

Permalink
chore(signer): add nexus module types to registry (#345)
Browse files Browse the repository at this point in the history
Co-authored-by: João Sousa <[email protected]>
  • Loading branch information
jcs47 and João Sousa authored Jan 27, 2025
1 parent 00bc24f commit a9fa606
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/libs/AxelarSigningClient/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import { registerAxelarnetTxTypes } from "./types/AxelarnetTxTypes";
import { Tendermint34Client } from "@cosmjs/tendermint-rpc";
import { TxRaw } from "cosmjs-types/cosmos/tx/v1beta1/tx";
import { registerEvmTxTypes } from "./types/EvmTxTypes";
import { registerNexusTxTypes } from "./types/NexusTxTypes";

interface IAxelarSigningClient extends SigningStargateClient {
signThenBroadcast(
Expand Down Expand Up @@ -67,6 +68,7 @@ export class AxelarSigningClient extends SigningStargateClient implements IAxela
const registry = options.registry || new Registry();
registerAxelarnetTxTypes(registry);
registerEvmTxTypes(registry);
registerNexusTxTypes(registry);
const newOpts = { ...options, registry };

return new AxelarSigningClient(tmClient, wallet, account.address, newOpts);
Expand Down
32 changes: 32 additions & 0 deletions src/libs/AxelarSigningClient/types/NexusTxTypes.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import {
RegisterChainMaintainerRequest,
DeregisterChainMaintainerRequest,
ActivateChainRequest,
DeactivateChainRequest,
RegisterAssetFeeRequest,
SetTransferRateLimitRequest,
protobufPackage,
} from "@axelar-network/axelarjs-types/axelar/nexus/v1beta1/tx";

import { Registry } from "@cosmjs/proto-signing";

const TxTypeUrlMap = {
RegisterChainMaintainerRequest: `/${protobufPackage}.RegisterChainMaintainerRequest`,
DeregisterChainMaintainerRequest: `/${protobufPackage}.DeregisterChainMaintainerRequest`,
ActivateChainRequest: `/${protobufPackage}.ActivateChainRequest`,
DeactivateChainRequest: `/${protobufPackage}.DeactivateChainRequest`,
RegisterAssetFeeRequest: `/${protobufPackage}.RegisterAssetFeeRequest`,
SetTransferRateLimitRequest: `/${protobufPackage}.SetTransferRateLimitRequest`,
};

export const registerNexusTxTypes = (registry: Registry) => {
registry.register(TxTypeUrlMap.RegisterChainMaintainerRequest, RegisterChainMaintainerRequest);
registry.register(
TxTypeUrlMap.DeregisterChainMaintainerRequest,
DeregisterChainMaintainerRequest
);
registry.register(TxTypeUrlMap.ActivateChainRequest, ActivateChainRequest);
registry.register(TxTypeUrlMap.DeactivateChainRequest, DeactivateChainRequest);
registry.register(TxTypeUrlMap.RegisterAssetFeeRequest, RegisterAssetFeeRequest);
registry.register(TxTypeUrlMap.SetTransferRateLimitRequest, SetTransferRateLimitRequest);
};

0 comments on commit a9fa606

Please sign in to comment.