@wormhole-foundation/sdk-cosmwasm 0.5.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +31 -0
  2. package/dist/cjs/address.d.ts +29 -0
  3. package/dist/cjs/address.d.ts.map +1 -0
  4. package/dist/cjs/address.js +217 -0
  5. package/dist/cjs/address.js.map +1 -0
  6. package/dist/cjs/chain.d.ts +5 -0
  7. package/dist/cjs/chain.d.ts.map +1 -0
  8. package/dist/cjs/chain.js +8 -0
  9. package/dist/cjs/chain.js.map +1 -0
  10. package/dist/cjs/constants.d.ts +771 -0
  11. package/dist/cjs/constants.d.ts.map +1 -0
  12. package/dist/cjs/constants.js +180 -0
  13. package/dist/cjs/constants.js.map +1 -0
  14. package/dist/cjs/gateway.d.ts +17 -0
  15. package/dist/cjs/gateway.d.ts.map +1 -0
  16. package/dist/cjs/gateway.js +75 -0
  17. package/dist/cjs/gateway.js.map +1 -0
  18. package/dist/cjs/index.d.ts +9 -0
  19. package/dist/cjs/index.d.ts.map +1 -0
  20. package/dist/cjs/index.js +25 -0
  21. package/dist/cjs/index.js.map +1 -0
  22. package/dist/cjs/platform.d.ts +33 -0
  23. package/dist/cjs/platform.d.ts.map +1 -0
  24. package/dist/cjs/platform.js +131 -0
  25. package/dist/cjs/platform.js.map +1 -0
  26. package/dist/cjs/signer.d.ts +31 -0
  27. package/dist/cjs/signer.d.ts.map +1 -0
  28. package/dist/cjs/signer.js +114 -0
  29. package/dist/cjs/signer.js.map +1 -0
  30. package/dist/cjs/types.d.ts +18 -0
  31. package/dist/cjs/types.d.ts.map +1 -0
  32. package/dist/cjs/types.js +20 -0
  33. package/dist/cjs/types.js.map +1 -0
  34. package/dist/cjs/unsignedTransaction.d.ts +20 -0
  35. package/dist/cjs/unsignedTransaction.d.ts.map +1 -0
  36. package/dist/cjs/unsignedTransaction.js +43 -0
  37. package/dist/cjs/unsignedTransaction.js.map +1 -0
  38. package/dist/esm/address.d.ts +29 -0
  39. package/dist/esm/address.d.ts.map +1 -0
  40. package/dist/esm/address.js +213 -0
  41. package/dist/esm/address.js.map +1 -0
  42. package/dist/esm/chain.d.ts +5 -0
  43. package/dist/esm/chain.d.ts.map +1 -0
  44. package/dist/esm/chain.js +4 -0
  45. package/dist/esm/chain.js.map +1 -0
  46. package/dist/esm/constants.d.ts +771 -0
  47. package/dist/esm/constants.d.ts.map +1 -0
  48. package/dist/esm/constants.js +177 -0
  49. package/dist/esm/constants.js.map +1 -0
  50. package/dist/esm/gateway.d.ts +17 -0
  51. package/dist/esm/gateway.d.ts.map +1 -0
  52. package/dist/esm/gateway.js +71 -0
  53. package/dist/esm/gateway.js.map +1 -0
  54. package/dist/esm/index.d.ts +9 -0
  55. package/dist/esm/index.d.ts.map +1 -0
  56. package/dist/esm/index.js +9 -0
  57. package/dist/esm/index.js.map +1 -0
  58. package/dist/esm/platform.d.ts +33 -0
  59. package/dist/esm/platform.d.ts.map +1 -0
  60. package/dist/esm/platform.js +127 -0
  61. package/dist/esm/platform.js.map +1 -0
  62. package/dist/esm/signer.d.ts +31 -0
  63. package/dist/esm/signer.d.ts.map +1 -0
  64. package/dist/esm/signer.js +108 -0
  65. package/dist/esm/signer.js.map +1 -0
  66. package/dist/esm/types.d.ts +18 -0
  67. package/dist/esm/types.d.ts.map +1 -0
  68. package/dist/esm/types.js +16 -0
  69. package/dist/esm/types.js.map +1 -0
  70. package/dist/esm/unsignedTransaction.d.ts +20 -0
  71. package/dist/esm/unsignedTransaction.d.ts.map +1 -0
  72. package/dist/esm/unsignedTransaction.js +37 -0
  73. package/dist/esm/unsignedTransaction.js.map +1 -0
  74. package/package.json +63 -0
@@ -0,0 +1,108 @@
1
+ import { SigningCosmWasmClient } from "@cosmjs/cosmwasm-stargate";
2
+ import { DirectSecp256k1HdWallet } from "@cosmjs/proto-signing";
3
+ import { ChainRestAuthApi, MsgTransfer, PrivateKey, TxClient, createTransaction, } from "@injectivelabs/sdk-ts";
4
+ import { encoding, nativeChainIds, rpc as rpcConf, } from "@wormhole-foundation/sdk-connect";
5
+ import { TxRaw } from "cosmjs-types/cosmos/tx/v1beta1/tx";
6
+ import { chainToAddressPrefix, cosmwasmNetworkChainToRestUrls, evmLikeChains, } from "./constants";
7
+ import { CosmwasmPlatform } from "./platform";
8
+ export async function getCosmwasmSigner(rpc, mnemonic) {
9
+ const [network, chain] = await CosmwasmPlatform.chainFromRpc(rpc);
10
+ // Use the EVM signer for Evmos and Injective only
11
+ if (evmLikeChains.includes(chain)) {
12
+ return new CosmwasmEvmSigner(chain, network, mnemonic);
13
+ }
14
+ // Otherwise use the default signer
15
+ const signer = await DirectSecp256k1HdWallet.fromMnemonic(mnemonic, {
16
+ prefix: chainToAddressPrefix(chain),
17
+ });
18
+ const acct = (await signer.getAccounts())[0];
19
+ const signingClient = await SigningCosmWasmClient.connectWithSigner(rpcConf.rpcAddress(network, chain), signer);
20
+ return new CosmwasmSigner(chain, signingClient, acct.address);
21
+ }
22
+ export class CosmwasmSigner {
23
+ _chain;
24
+ _signer;
25
+ _account;
26
+ constructor(_chain, _signer, _account) {
27
+ this._chain = _chain;
28
+ this._signer = _signer;
29
+ this._account = _account;
30
+ }
31
+ chain() {
32
+ return this._chain;
33
+ }
34
+ address() {
35
+ return this._account;
36
+ }
37
+ async sign(tx) {
38
+ const signed = [];
39
+ for (const txn of tx) {
40
+ const { description, transaction } = txn;
41
+ console.log(`Signing: ${description} for ${this.address()}`);
42
+ console.log(transaction.msgs, transaction.fee, transaction.memo);
43
+ const txRaw = await this._signer.sign(this.address(), transaction.msgs, transaction.fee, transaction.memo);
44
+ const encoded = TxRaw.encode(txRaw).finish();
45
+ signed.push(encoded);
46
+ }
47
+ return signed;
48
+ }
49
+ }
50
+ export class CosmwasmEvmSigner {
51
+ _chain;
52
+ _chainId;
53
+ key;
54
+ prefix;
55
+ _rpc;
56
+ constructor(_chain, _network, _mnemonic) {
57
+ this._chain = _chain;
58
+ this._rpc = new ChainRestAuthApi(cosmwasmNetworkChainToRestUrls(_network, _chain));
59
+ this._chainId = nativeChainIds.networkChainToNativeChainId.get(_network, _chain);
60
+ this.prefix = chainToAddressPrefix(_chain);
61
+ this.key = PrivateKey.fromMnemonic(_mnemonic);
62
+ }
63
+ chain() {
64
+ return this._chain;
65
+ }
66
+ address() {
67
+ return this.key.toAddress().toBech32(this.prefix);
68
+ }
69
+ async sign(txns) {
70
+ const pubKey = this.key.toPublicKey().toBase64();
71
+ const { sequence, accountNumber } = await this.getSignerData();
72
+ const signed = [];
73
+ for (const tx of txns) {
74
+ const { description, transaction } = tx;
75
+ console.log(`Signing ${description} for ${this.address()}`);
76
+ const { signBytes, txRaw } = createTransaction({
77
+ message: transaction.msgs.map((eo) => MsgTransfer.fromJSON({
78
+ port: eo.value.sourcePort,
79
+ amount: eo.value.token,
80
+ memo: eo.value.memo,
81
+ sender: eo.value.sender,
82
+ receiver: eo.value.receiver,
83
+ channelId: eo.value.sourceChannel,
84
+ timeout: eo.value.timeoutTimestamp,
85
+ height: eo.value.timeoutHeight,
86
+ })),
87
+ pubKey,
88
+ sequence,
89
+ accountNumber,
90
+ chainId: this._chainId,
91
+ memo: transaction.memo,
92
+ fee: transaction.fee,
93
+ });
94
+ // @ts-ignore -- sign wants a `Buffer` but we give it uint8array
95
+ txRaw.signatures = [await this.key.sign(signBytes)];
96
+ signed.push(encoding.b64.decode(TxClient.encode(txRaw)));
97
+ }
98
+ return signed;
99
+ }
100
+ async getSignerData() {
101
+ const address = this.address();
102
+ const { account } = await this._rpc.fetchAccount(address);
103
+ const accountNumber = parseInt(account.base_account.account_number, 10);
104
+ const sequence = parseInt(account.base_account.sequence, 10);
105
+ return { address, sequence, accountNumber };
106
+ }
107
+ }
108
+ //# sourceMappingURL=signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { UniversalOrNative, PlatformToChains } from "@wormhole-foundation/sdk-connect";
2
+ import { logs as cosmosLogs } from "@cosmjs/stargate";
3
+ /**
4
+ * Runtime value for the Cosmwasm Platform
5
+ */
6
+ export declare const _platform: "Cosmwasm";
7
+ /**
8
+ * Compile time type for Cosmwasm Platform
9
+ */
10
+ export type CosmwasmPlatformType = typeof _platform;
11
+ export type CosmwasmChains = PlatformToChains<CosmwasmPlatformType>;
12
+ export type UniversalOrCosmwasm = UniversalOrNative<CosmwasmChains>;
13
+ export type AnyCosmwasmAddress = UniversalOrCosmwasm | string | Uint8Array;
14
+ export interface WrappedRegistryResponse {
15
+ address: string;
16
+ }
17
+ export declare const searchCosmosLogs: (key: string, logs: readonly cosmosLogs.Log[]) => string | null;
18
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,UAAuB,CAAC;AAChD;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,SAAS,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;AACpE,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,MAAM,GAAG,UAAU,CAAC;AAE3E,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,gBAAgB,QAAS,MAAM,QAAQ,SAAS,WAAW,GAAG,EAAE,KAAG,MAAM,GAAG,IASxF,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Runtime value for the Cosmwasm Platform
3
+ */
4
+ export const _platform = "Cosmwasm";
5
+ export const searchCosmosLogs = (key, logs) => {
6
+ for (const log of logs) {
7
+ for (const ev of log.events) {
8
+ for (const attr of ev.attributes) {
9
+ if (attr.key === key)
10
+ return attr.value;
11
+ }
12
+ }
13
+ }
14
+ return null;
15
+ };
16
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAe,UAAU,CAAC;AAchD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,IAA+B,EAAiB,EAAE;IAC9F,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE;YAC3B,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,UAAU,EAAE;gBAChC,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG;oBAAE,OAAO,IAAI,CAAC,KAAK,CAAC;aACzC;SACF;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { Coin, EncodeObject } from "@cosmjs/proto-signing";
2
+ import { StdFee } from "@cosmjs/stargate";
3
+ import { Network, UnsignedTransaction } from "@wormhole-foundation/sdk-connect";
4
+ import { CosmwasmChains } from "./types";
5
+ export interface CosmwasmTransaction {
6
+ fee: StdFee;
7
+ msgs: EncodeObject[];
8
+ memo: string;
9
+ }
10
+ export declare function computeFee<N extends Network, C extends CosmwasmChains>(network: N, chain: C): StdFee;
11
+ export declare function buildExecuteMsg(sender: string, contract: string, msg: Record<string, any>, funds?: Coin[]): EncodeObject;
12
+ export declare class CosmwasmUnsignedTransaction<N extends Network, C extends CosmwasmChains> implements UnsignedTransaction<N, C> {
13
+ readonly transaction: CosmwasmTransaction;
14
+ readonly network: N;
15
+ readonly chain: C;
16
+ readonly description: string;
17
+ readonly parallelizable: boolean;
18
+ constructor(transaction: CosmwasmTransaction, network: N, chain: C, description: string, parallelizable?: boolean);
19
+ }
20
+ //# sourceMappingURL=unsignedTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unsignedTransaction.d.ts","sourceRoot":"","sources":["../../src/unsignedTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAgB,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAY,MAAM,kCAAkC,CAAC;AAI1F,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,cAAc,EACpE,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,GACP,MAAM,CAQR;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxB,KAAK,CAAC,EAAE,IAAI,EAAE,GACb,YAAY,CAUd;AAED,qBAAa,2BAA2B,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,cAAc,CAClF,YAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;IAGlC,QAAQ,CAAC,WAAW,EAAE,mBAAmB;IACzC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO;gBAJvB,WAAW,EAAE,mBAAmB,EAChC,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,OAAe;CAE3C"}
@@ -0,0 +1,37 @@
1
+ import { calculateFee } from "@cosmjs/stargate";
2
+ import { encoding } from "@wormhole-foundation/sdk-connect";
3
+ import { MsgExecuteContract } from "cosmjs-types/cosmwasm/wasm/v1/tx";
4
+ import { DEFAULT_FEE, MSG_EXECUTE_CONTRACT_TYPE_URL, averageGasPrices } from "./constants";
5
+ import { CosmwasmPlatform } from "./platform";
6
+ export function computeFee(network, chain) {
7
+ let avgFee = averageGasPrices.get(network, chain);
8
+ if (!avgFee)
9
+ avgFee = "0.1";
10
+ return calculateFee(DEFAULT_FEE * 1.5, `${avgFee}${CosmwasmPlatform.getNativeDenom(network, chain)}`);
11
+ }
12
+ export function buildExecuteMsg(sender, contract, msg, funds) {
13
+ return {
14
+ typeUrl: MSG_EXECUTE_CONTRACT_TYPE_URL,
15
+ value: MsgExecuteContract.fromPartial({
16
+ sender: sender,
17
+ contract: contract,
18
+ msg: encoding.bytes.encode(JSON.stringify(msg)),
19
+ funds,
20
+ }),
21
+ };
22
+ }
23
+ export class CosmwasmUnsignedTransaction {
24
+ transaction;
25
+ network;
26
+ chain;
27
+ description;
28
+ parallelizable;
29
+ constructor(transaction, network, chain, description, parallelizable = false) {
30
+ this.transaction = transaction;
31
+ this.network = network;
32
+ this.chain = chain;
33
+ this.description = description;
34
+ this.parallelizable = parallelizable;
35
+ }
36
+ }
37
+ //# sourceMappingURL=unsignedTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unsignedTransaction.js","sourceRoot":"","sources":["../../src/unsignedTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAgC,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,6BAA6B,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAS9C,MAAM,UAAU,UAAU,CACxB,OAAU,EACV,KAAQ;IAER,IAAI,MAAM,GAAW,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAW,CAAC;IACpE,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,KAAK,CAAC;IAE5B,OAAO,YAAY,CACjB,WAAW,GAAG,GAAG,EACjB,GAAG,MAAM,GAAG,gBAAgB,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAC9D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,QAAgB,EAChB,GAAwB,EACxB,KAAc;IAEd,OAAO;QACL,OAAO,EAAE,6BAA6B;QACtC,KAAK,EAAE,kBAAkB,CAAC,WAAW,CAAC;YACpC,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,QAAQ;YAClB,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC/C,KAAK;SACN,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,2BAA2B;IAI3B;IACA;IACA;IACA;IACA;IALX,YACW,WAAgC,EAChC,OAAU,EACV,KAAQ,EACR,WAAmB,EACnB,iBAA0B,KAAK;QAJ/B,gBAAW,GAAX,WAAW,CAAqB;QAChC,YAAO,GAAP,OAAO,CAAG;QACV,UAAK,GAAL,KAAK,CAAG;QACR,gBAAW,GAAX,WAAW,CAAQ;QACnB,mBAAc,GAAd,cAAc,CAAiB;IACvC,CAAC;CACL"}
package/package.json ADDED
@@ -0,0 +1,63 @@
1
+ {
2
+ "name": "@wormhole-foundation/sdk-cosmwasm",
3
+ "version": "0.5.0-alpha.0",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "git+https://github.com/wormhole-foundation/connect-sdk.git"
7
+ },
8
+ "bugs": {
9
+ "url": "https://github.com/wormhole-foundation/connect-sdk/issues"
10
+ },
11
+ "homepage": "https://github.com/wormhole-foundation/connect-sdk#readme",
12
+ "directories": {
13
+ "test": "tests"
14
+ },
15
+ "license": "Apache-2.0",
16
+ "main": "./dist/cjs/index.js",
17
+ "module": "./dist/esm/index.js",
18
+ "types": "./dist/cjs/index.d.ts",
19
+ "author": "",
20
+ "description": "SDK for EVM chains, used in conjunction with @wormhole-foundation/sdk",
21
+ "files": [
22
+ "dist/cjs",
23
+ "dist/esm"
24
+ ],
25
+ "keywords": [
26
+ "wormhole",
27
+ "sdk",
28
+ "typescript",
29
+ "connect",
30
+ "ethereum",
31
+ "moonbeam",
32
+ "celo",
33
+ "polygon",
34
+ "fantom",
35
+ "avalanche",
36
+ "bsc",
37
+ "evm"
38
+ ],
39
+ "engines": {
40
+ "node": ">=16"
41
+ },
42
+ "sideEffects": true,
43
+ "scripts": {
44
+ "build:cjs": "tsc -p ./tsconfig.cjs.json",
45
+ "build:esm": "tsc -p ./tsconfig.esm.json",
46
+ "build": "npm run build:cjs && npm run build:esm",
47
+ "rebuild": "npm run clean && npm run build",
48
+ "clean": "rm -rf ./dist && rm -rf ./.turbo",
49
+ "lint": "npm run prettier && eslint --fix",
50
+ "prettier": "prettier --write ./src",
51
+ "test": "jest --config ./jest.config.ts"
52
+ },
53
+ "dependencies": {
54
+ "@wormhole-foundation/sdk-connect": "0.5.0-alpha.0",
55
+ "@cosmjs/cosmwasm-stargate": "^0.32.0",
56
+ "@cosmjs/proto-signing": "^0.32.0",
57
+ "@cosmjs/stargate": "^0.32.0",
58
+ "@cosmjs/crypto": "^0.32.0",
59
+ "@cosmjs/tendermint-rpc": "^0.32.0",
60
+ "cosmjs-types": "^0.9.0",
61
+ "@injectivelabs/sdk-ts": "^1.14.4"
62
+ }
63
+ }