Skip to content

Commit

Permalink
add axelar amino message converter
Browse files Browse the repository at this point in the history
  • Loading branch information
João Sousa authored and João Sousa committed Jan 27, 2025
1 parent 7961607 commit a270dbd
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 2 deletions.
62 changes: 62 additions & 0 deletions src/libs/AxelarSigningClient/aminomessages/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
import { AminoConverters } from "@cosmjs/stargate";
import { toBech32 } from "@cosmjs/encoding";
import { toAccAddress } from "@cosmjs/stargate/build/queryclient/utils";

import { AXELAR_PREFIX } from "../const";

import Long from "long";

export const createAxelarAminoConverters = (): AminoConverters => ({

Check failure on line 10 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L10

Delete `⏎··` (prettier/prettier)
// nexus module
"/axelar.nexus.v1beta1.SetTransferRateLimitRequest": {

Check failure on line 12 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L12

Replace `····` with `··` (prettier/prettier)
aminoType: "nexus/SetTransferRateLimit",

Check failure on line 13 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L13

Delete `··` (prettier/prettier)
toAmino: ({ sender, chain, limit: { amount, denom }, window: { seconds, nanos } }) => ({

Check failure on line 14 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L14

Replace `······` with `····` (prettier/prettier)
sender: toBech32(AXELAR_PREFIX, sender),

Check failure on line 15 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L15

Delete `··` (prettier/prettier)
chain,

Check failure on line 16 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L16

Delete `··` (prettier/prettier)
window: Long.fromValue(seconds).multiply(1000000000).add(nanos).toString(),

Check failure on line 17 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L17

Delete `··` (prettier/prettier)
limit: {

Check failure on line 18 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L18

Delete `··` (prettier/prettier)
amount,

Check failure on line 19 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L19

Delete `··` (prettier/prettier)
denom,

Check failure on line 20 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L20

Delete `··` (prettier/prettier)
},

Check failure on line 21 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L21

Replace `········},⏎··` with `······},` (prettier/prettier)

}),

Check failure on line 23 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L23

Delete `··` (prettier/prettier)
fromAmino: ({ sender, chain, limit: { amount, denom }, window }) => ({

Check failure on line 24 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L24

Replace `······` with `····` (prettier/prettier)
sender: toAccAddress(sender),

Check failure on line 25 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L25

Delete `··` (prettier/prettier)
chain,

Check failure on line 26 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L26

Delete `··` (prettier/prettier)
window: {

Check failure on line 27 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L27

Delete `··` (prettier/prettier)
seconds: Long.fromNumber(Number(window) / (1000000000)),

Check failure on line 28 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L28

Replace `··seconds:·Long.fromNumber(Number(window)·/·(1000000000)` with `seconds:·Long.fromNumber(Number(window)·/·1000000000` (prettier/prettier)
nanos: Number(window) % (1000000000),

Check failure on line 29 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L29

Replace `··nanos:·Number(window)·%·(1000000000)` with `nanos:·Number(window)·%·1000000000` (prettier/prettier)
},

Check failure on line 30 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L30

Delete `··` (prettier/prettier)

Check failure on line 31 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L31

Delete `··` (prettier/prettier)
limit: {

Check failure on line 32 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L32

Delete `··` (prettier/prettier)
amount,

Check failure on line 33 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L33

Delete `··` (prettier/prettier)
denom,

Check failure on line 34 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L34

Delete `··` (prettier/prettier)
},

Check failure on line 35 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L35

Delete `··` (prettier/prettier)
}),

Check failure on line 36 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L36

Replace `······` with `····` (prettier/prettier)
},

Check failure on line 37 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L37

Delete `··` (prettier/prettier)
"/axelar.nexus.v1beta1.ActivateChainRequest": {

Check failure on line 38 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L38

Delete `··` (prettier/prettier)
aminoType: "nexus/ActivateChain",

Check failure on line 39 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L39

Delete `··` (prettier/prettier)
toAmino: ({ sender, chains }) => ({

Check failure on line 40 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L40

Delete `··` (prettier/prettier)
sender: toBech32(AXELAR_PREFIX, sender),

Check failure on line 41 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L41

Delete `··` (prettier/prettier)
chains,

Check failure on line 42 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L42

Delete `··` (prettier/prettier)

Check failure on line 43 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L43

Delete `⏎····` (prettier/prettier)
}),
fromAmino: ({ sender, chains }) => ({

Check failure on line 45 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L45

Delete `··` (prettier/prettier)
sender: toAccAddress(sender),

Check failure on line 46 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L46

Replace `········` with `······` (prettier/prettier)
chains,

Check failure on line 47 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L47

Delete `··` (prettier/prettier)
}),

Check failure on line 48 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L48

Delete `··` (prettier/prettier)
},

Check failure on line 49 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L49

Delete `··` (prettier/prettier)
"/axelar.nexus.v1beta1.DeactivateChainRequest": {

Check failure on line 50 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L50

Delete `··` (prettier/prettier)
aminoType: "nexus/DeactivateChain",

Check failure on line 51 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L51

Delete `··` (prettier/prettier)
toAmino: ({ sender, chains }) => ({

Check failure on line 52 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L52

Delete `··` (prettier/prettier)
sender: toBech32(AXELAR_PREFIX, sender),

Check failure on line 53 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L53

Replace `········` with `······` (prettier/prettier)
chains,

Check failure on line 54 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L54

Delete `··` (prettier/prettier)

Check failure on line 55 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L55

Replace `··⏎······` with `····` (prettier/prettier)
}),
fromAmino: ({ sender, chains }) => ({

Check failure on line 57 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L57

Delete `··` (prettier/prettier)
sender: toAccAddress(sender),

Check failure on line 58 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L58

Delete `··` (prettier/prettier)
chains,

Check failure on line 59 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L59

Delete `··` (prettier/prettier)
}),

Check failure on line 60 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L60

Delete `··` (prettier/prettier)
},

Check failure on line 61 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L61

Delete `··` (prettier/prettier)
});

Check failure on line 62 in src/libs/AxelarSigningClient/aminomessages/index.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/aminomessages/index.ts#L62

Replace `··});` with `});⏎` (prettier/prettier)
2 changes: 2 additions & 0 deletions src/libs/AxelarSigningClient/const/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import { StdFee } from "@cosmjs/stargate";

export const AXELAR_PREFIX = "axelar";

export const STANDARD_FEE: StdFee = {
amount: [
{
Expand Down
5 changes: 4 additions & 1 deletion src/libs/AxelarSigningClient/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {
DeliverTxResponse,
StdFee,
SignerData,
AminoTypes,
} from "@cosmjs/stargate";
import {
DirectSecp256k1HdWallet as Wallet,
Expand All @@ -19,6 +20,7 @@ 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";
import { createAxelarAminoConverters } from "./aminomessages";

interface IAxelarSigningClient extends SigningStargateClient {
signThenBroadcast(
Expand Down Expand Up @@ -69,7 +71,8 @@ export class AxelarSigningClient extends SigningStargateClient implements IAxela
registerAxelarnetTxTypes(registry);
registerEvmTxTypes(registry);
registerNexusTxTypes(registry);
const newOpts = { ...options, registry };
const aminoTypes = options.aminoTypes || new AminoTypes(createAxelarAminoConverters());
const newOpts = { ...options, registry, aminoTypes };

return new AxelarSigningClient(tmClient, wallet, account.address, newOpts);
}
Expand Down
2 changes: 1 addition & 1 deletion src/libs/AxelarSigningClient/types/NexusTxTypes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,4 @@ export const registerNexusTxTypes = (registry: Registry) => {
registry.register(TxTypeUrlMap.DeactivateChainRequest, DeactivateChainRequest);
registry.register(TxTypeUrlMap.RegisterAssetFeeRequest, RegisterAssetFeeRequest);
registry.register(TxTypeUrlMap.SetTransferRateLimitRequest, SetTransferRateLimitRequest);
};
};

Check failure on line 32 in src/libs/AxelarSigningClient/types/NexusTxTypes.ts

View workflow job for this annotation

GitHub Actions / ESLint

src/libs/AxelarSigningClient/types/NexusTxTypes.ts#L32

Insert `⏎` (prettier/prettier)

0 comments on commit a270dbd

Please sign in to comment.