@wormhole-foundation/sdk-cosmwasm 0.5.0-beta.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 (92) 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/testing/index.d.ts +2 -0
  31. package/dist/cjs/testing/index.d.ts.map +1 -0
  32. package/dist/cjs/testing/index.js +18 -0
  33. package/dist/cjs/testing/index.js.map +1 -0
  34. package/dist/cjs/testing/signer.d.ts +30 -0
  35. package/dist/cjs/testing/signer.d.ts.map +1 -0
  36. package/dist/cjs/testing/signer.js +113 -0
  37. package/dist/cjs/testing/signer.js.map +1 -0
  38. package/dist/cjs/types.d.ts +18 -0
  39. package/dist/cjs/types.d.ts.map +1 -0
  40. package/dist/cjs/types.js +20 -0
  41. package/dist/cjs/types.js.map +1 -0
  42. package/dist/cjs/unsignedTransaction.d.ts +20 -0
  43. package/dist/cjs/unsignedTransaction.d.ts.map +1 -0
  44. package/dist/cjs/unsignedTransaction.js +43 -0
  45. package/dist/cjs/unsignedTransaction.js.map +1 -0
  46. package/dist/esm/address.d.ts +29 -0
  47. package/dist/esm/address.d.ts.map +1 -0
  48. package/dist/esm/address.js +213 -0
  49. package/dist/esm/address.js.map +1 -0
  50. package/dist/esm/chain.d.ts +5 -0
  51. package/dist/esm/chain.d.ts.map +1 -0
  52. package/dist/esm/chain.js +4 -0
  53. package/dist/esm/chain.js.map +1 -0
  54. package/dist/esm/constants.d.ts +771 -0
  55. package/dist/esm/constants.d.ts.map +1 -0
  56. package/dist/esm/constants.js +177 -0
  57. package/dist/esm/constants.js.map +1 -0
  58. package/dist/esm/gateway.d.ts +17 -0
  59. package/dist/esm/gateway.d.ts.map +1 -0
  60. package/dist/esm/gateway.js +71 -0
  61. package/dist/esm/gateway.js.map +1 -0
  62. package/dist/esm/index.d.ts +9 -0
  63. package/dist/esm/index.d.ts.map +1 -0
  64. package/dist/esm/index.js +9 -0
  65. package/dist/esm/index.js.map +1 -0
  66. package/dist/esm/platform.d.ts +33 -0
  67. package/dist/esm/platform.d.ts.map +1 -0
  68. package/dist/esm/platform.js +127 -0
  69. package/dist/esm/platform.js.map +1 -0
  70. package/dist/esm/signer.d.ts +31 -0
  71. package/dist/esm/signer.d.ts.map +1 -0
  72. package/dist/esm/signer.js +108 -0
  73. package/dist/esm/signer.js.map +1 -0
  74. package/dist/esm/testing/index.d.ts +2 -0
  75. package/dist/esm/testing/index.d.ts.map +1 -0
  76. package/dist/esm/testing/index.js +2 -0
  77. package/dist/esm/testing/index.js.map +1 -0
  78. package/dist/esm/testing/signer.d.ts +30 -0
  79. package/dist/esm/testing/signer.d.ts.map +1 -0
  80. package/dist/esm/testing/signer.js +107 -0
  81. package/dist/esm/testing/signer.js.map +1 -0
  82. package/dist/esm/types.d.ts +18 -0
  83. package/dist/esm/types.d.ts.map +1 -0
  84. package/dist/esm/types.js +16 -0
  85. package/dist/esm/types.js.map +1 -0
  86. package/dist/esm/unsignedTransaction.d.ts +20 -0
  87. package/dist/esm/unsignedTransaction.d.ts.map +1 -0
  88. package/dist/esm/unsignedTransaction.js +37 -0
  89. package/dist/esm/unsignedTransaction.js.map +1 -0
  90. package/dist/tsconfig.cjs.tsbuildinfo +1 -0
  91. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  92. package/package.json +62 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,WAAW,UAAY,CAAC;AAErC,eAAO,MAAM,6BAA6B,yCAAyC,CAAC;AAEpF,eAAO,MAAM,YAAY,8CAA8C,CAAC;AAExE,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAG5C,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAC7C,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAGhD,eAAO,MAAM,cAAc,uBAAuB,CAAC;AACnD,eAAO,MAAM,cAAc,uBAAuB,CAAC;AACnD,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AACrD,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AACrD,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAChD,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAC7C,eAAO,MAAM,eAAe,sBAAsB,CAAC;AAEnD,eAAO,MAAM,kBAAkB,QAAiB,CAAC;AAmBjD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;CAAkC,CAAC;AACpE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;CAA4C,CAAC;AAsD9E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AACjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA+C,CAAC;AAG/E,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;AA4ClE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA+B,CAAC;AAEnE,eAAO,MAAM,aAAa,iCAAoE,CAAC;AAC/F,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AA0B9D,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAwC,CAAC;AAuBpF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAsB,CAAC"}
@@ -0,0 +1,177 @@
1
+ import { constMap } from "@wormhole-foundation/sdk-connect";
2
+ export const DEFAULT_FEE = 1000000;
3
+ export const MSG_EXECUTE_CONTRACT_TYPE_URL = "/cosmwasm.wasm.v1.MsgExecuteContract";
4
+ export const IBC_MSG_TYPE = "/ibc.applications.transfer.v1.MsgTransfer";
5
+ export const IBC_TRANSFER_PORT = "transfer";
6
+ // IBC Message Event type
7
+ export const IBC_PACKET_SEND = "send_packet";
8
+ export const IBC_PACKET_RECEIVE = "recv_packet";
9
+ // Attributes for IBC Packet Event
10
+ export const IBC_PACKET_DST = "packet_dst_channel";
11
+ export const IBC_PACKET_SRC = "packet_src_channel";
12
+ export const IBC_PACKET_SRC_PORT = "packet_src_port";
13
+ export const IBC_PACKET_DST_PORT = "packet_dst_port";
14
+ export const IBC_PACKET_SEQ = "packet_sequence";
15
+ export const IBC_PACKET_DATA = "packet_data";
16
+ export const IBC_PACKET_CONN = "packet_connection";
17
+ export const IBC_TIMEOUT_MILLIS = 60 * 60 * 1000; // 60 minutes
18
+ const cosmwasmAddressPrefix = [
19
+ ["Cosmoshub", "cosmos"],
20
+ ["Evmos", "evmos"],
21
+ ["Injective", "inj"],
22
+ ["Kujira", "kuji"],
23
+ ["Osmosis", "osmo"],
24
+ ["Sei", "sei"],
25
+ ["Terra", "terra"],
26
+ ["Terra2", "terra"],
27
+ ["Wormchain", "wormhole"],
28
+ ["Xpla", "xpla"],
29
+ ["Celestia", "celestia"],
30
+ ["Stargaze", "stars"],
31
+ ["Dymension", "dym"],
32
+ ["Neutron", "neutron"],
33
+ ];
34
+ export const chainToAddressPrefix = constMap(cosmwasmAddressPrefix);
35
+ export const addressPrefixToChain = constMap(cosmwasmAddressPrefix, [1, [0]]);
36
+ const cosmwasmNativeDenom = [
37
+ [
38
+ "Mainnet",
39
+ [
40
+ ["Cosmoshub", "uatom"],
41
+ ["Evmos", "aevmos"],
42
+ ["Injective", "inj"],
43
+ ["Kujira", "kuji"],
44
+ ["Osmosis", "uosmo"],
45
+ ["Sei", "usei"],
46
+ ["Terra", "luna"],
47
+ ["Terra2", "uluna"],
48
+ ["Wormchain", "uworm"],
49
+ ["Xpla", "uxpla"],
50
+ ["Celestia", "utia"],
51
+ ["Dymension", "adym"],
52
+ ["Stargaze", "ustars"],
53
+ ["Neutron", "untrn"],
54
+ ],
55
+ ],
56
+ [
57
+ "Testnet",
58
+ [
59
+ ["Cosmoshub", "uatom"],
60
+ ["Evmos", "atevmos"],
61
+ ["Injective", "inj"],
62
+ ["Kujira", "kuji"],
63
+ ["Osmosis", "uosmo"],
64
+ ["Sei", "usei"],
65
+ ["Terra", "luna"],
66
+ ["Terra2", "uluna"],
67
+ ["Wormchain", "uworm"],
68
+ ["Xpla", "uxpla"],
69
+ ],
70
+ ],
71
+ [
72
+ "Devnet",
73
+ [
74
+ ["Cosmoshub", "uatom"],
75
+ ["Evmos", "atevmos"],
76
+ ["Injective", "inj"],
77
+ ["Kujira", "kuji"],
78
+ ["Osmosis", "uosmo"],
79
+ ["Sei", "usei"],
80
+ ["Terra", "luna"],
81
+ ["Terra2", "uluna"],
82
+ ["Wormchain", "uworm"],
83
+ ["Xpla", "uxpla"],
84
+ ],
85
+ ],
86
+ ];
87
+ export const chainToNativeDenoms = constMap(cosmwasmNativeDenom);
88
+ export const nativeDenomToChain = constMap(cosmwasmNativeDenom, [[0, 2], [1]]);
89
+ // For each chain, add the channel id for each other chain
90
+ const gatewayConnections = [
91
+ [
92
+ "Mainnet",
93
+ [
94
+ [
95
+ "Wormchain",
96
+ {
97
+ Osmosis: "channel-3",
98
+ Evmos: "channel-5",
99
+ Kujira: "channel-9",
100
+ Stargaze: "channel-12",
101
+ Injective: "channel-13",
102
+ Dymension: "channel-15",
103
+ },
104
+ ],
105
+ ["Osmosis", { Wormchain: "channel-2186" }],
106
+ ["Evmos", { Wormchain: "channel-94" }],
107
+ ["Kujira", { Wormchain: "channel-113" }],
108
+ ["Injective", { Wormchain: "channel-183" }],
109
+ ["Dymension", { Wormchain: "channel-36" }],
110
+ ["Stargaze", { Wormchain: "channel-278" }],
111
+ ],
112
+ ],
113
+ [
114
+ "Testnet",
115
+ [
116
+ ["Wormchain", { Cosmoshub: "channel-5", Osmosis: "channel-9" }],
117
+ ["Cosmoshub", { Wormchain: "channel-3086" }],
118
+ ["Osmosis", { Wormchain: "channel-3906" }],
119
+ ],
120
+ ],
121
+ [
122
+ "Devnet",
123
+ [
124
+ ["Wormchain", { Cosmoshub: "channel-1", Osmosis: "channel-2" }],
125
+ ["Cosmoshub", { Wormchain: "channel-1" }],
126
+ ["Osmosis", { Wormchain: "channel-1" }],
127
+ ],
128
+ ],
129
+ ];
130
+ export const networkChainToChannels = constMap(gatewayConnections);
131
+ export const evmLikeChains = ["Evmos", "Injective"];
132
+ const cosmwasmNetworkChainRestUrl = [
133
+ [
134
+ "Mainnet",
135
+ [
136
+ ["Injective", "https://lcd.injective.network"],
137
+ ["Evmos", "https://rest.bd.evmos.org:1317"],
138
+ ],
139
+ ],
140
+ [
141
+ "Testnet",
142
+ [
143
+ ["Injective", "https://k8s.testnet.lcd.injective.network"],
144
+ ["Evmos", "https://rest.bd.evmos.dev:1317"],
145
+ ],
146
+ ],
147
+ [
148
+ "Devnet",
149
+ [
150
+ ["Injective", "https://localhost:1234"],
151
+ ["Evmos", "https://localhost:1233"],
152
+ ],
153
+ ],
154
+ ];
155
+ export const cosmwasmNetworkChainToRestUrls = constMap(cosmwasmNetworkChainRestUrl);
156
+ const avgPrices = [
157
+ [
158
+ "Mainnet",
159
+ [
160
+ ["Terra", "28.325"],
161
+ ["Terra2", "0.015"],
162
+ ["Osmosis", "0.025"],
163
+ ["Sei", "0.02"],
164
+ ["Cosmoshub", "0.025"],
165
+ ["Kujira", "0.0051"],
166
+ ["Neutron", "0.075"],
167
+ ["Celestia", "0.02"],
168
+ ["Stargaze", "1.1"],
169
+ ["Injective", "700000000"],
170
+ ["Xpla", "1147500000000"],
171
+ ["Evmos", "25000000000"],
172
+ ["Dymension", "5000000000"],
173
+ ],
174
+ ],
175
+ ];
176
+ export const averageGasPrices = constMap(avgPrices);
177
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { Chain, GatewayTransferMsg, GatewayTransferWithPayloadMsg, Network, TokenId } from "@wormhole-foundation/sdk-connect";
2
+ import { CosmwasmAddress } from "./address";
3
+ import { CosmwasmChain } from "./chain";
4
+ import { CosmwasmChains } from "./types";
5
+ export declare class Gateway<N extends Network> extends CosmwasmChain<N, "Wormchain"> {
6
+ static chain: "Wormchain";
7
+ static gatewayAddress: (network: Network) => string;
8
+ static tokenBridgeAddress: (network: Network) => string;
9
+ static coreAddress: (network: Network) => string;
10
+ getWrappedAsset(token: TokenId): Promise<CosmwasmAddress>;
11
+ static getGatewaySourceChannel<N extends Network, C extends CosmwasmChains>(network: N, chain: C): string;
12
+ static deriveIbcDenom<N extends Network, C extends CosmwasmChains>(network: N, chain: C, denom: string): CosmwasmAddress;
13
+ static factoryToCw20(address: CosmwasmAddress): CosmwasmAddress;
14
+ static cw20ToFactory(network: Network, address: CosmwasmAddress): CosmwasmAddress;
15
+ static makeTransferMsg(chain: Chain, recipient: CosmwasmAddress, fee?: bigint, payload?: string, nonce?: number): GatewayTransferWithPayloadMsg | GatewayTransferMsg;
16
+ }
17
+ //# sourceMappingURL=gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/gateway.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,OAAO,EACP,OAAO,EAIR,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,qBAAa,OAAO,CAAC,CAAC,SAAS,OAAO,CAAE,SAAQ,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC;IAC3E,MAAM,CAAC,KAAK,EAAE,WAAW,CAAe;IAExC,MAAM,CAAC,cAAc,YAAa,OAAO,KAAG,MAAM,CACU;IAC5D,MAAM,CAAC,kBAAkB,YAAa,OAAO,KAAG,MAAM,CACU;IAChE,MAAM,CAAC,WAAW,YAAa,OAAO,KAAG,MAAM,CACgB;IAGzD,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAa/D,MAAM,CAAC,uBAAuB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,cAAc,EACxE,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,GACP,MAAM;IAST,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,cAAc,EAC/D,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,MAAM,GACZ,eAAe;IAWlB,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,eAAe;IAI7C,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe;IAO/D,MAAM,CAAC,eAAe,CACpB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,eAAe,EAC1B,GAAG,GAAE,MAAW,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,6BAA6B,GAAG,kBAAkB;CAmBtD"}
@@ -0,0 +1,71 @@
1
+ import { toBech32 } from "@cosmjs/encoding";
2
+ import { CONFIG, encoding, sha256, toChainId, } from "@wormhole-foundation/sdk-connect";
3
+ import { CosmwasmAddress } from "./address";
4
+ import { CosmwasmChain } from "./chain";
5
+ import { IBC_TRANSFER_PORT } from "./constants";
6
+ import { CosmwasmPlatform } from "./platform";
7
+ export class Gateway extends CosmwasmChain {
8
+ static chain = "Wormchain";
9
+ static gatewayAddress = (network) => CONFIG[network].chains[Gateway.chain].contracts.gateway;
10
+ static tokenBridgeAddress = (network) => CONFIG[network].chains[Gateway.chain].contracts.tokenBridge;
11
+ static coreAddress = (network) => CONFIG[network].chains[Gateway.chain].contracts.coreBridge;
12
+ // Get the wrapped version of an asset created on wormchain
13
+ async getWrappedAsset(token) {
14
+ const tb = await this.getTokenBridge();
15
+ const wrappedAsset = new CosmwasmAddress(await tb.getWrappedAsset(token));
16
+ // Encode the original address to base58 and add it
17
+ // to the factory address for cw20 style factory token address
18
+ const encodedAddress = encoding.b58.encode(wrappedAsset.toUniversalAddress().toUint8Array());
19
+ const factoryAddress = `factory/${Gateway.gatewayAddress(this.network)}/${encodedAddress}`;
20
+ return new CosmwasmAddress(factoryAddress);
21
+ }
22
+ // Gets the the source channel for outgoing transfers from wormchain
23
+ static getGatewaySourceChannel(network, chain) {
24
+ const channels = CosmwasmPlatform.getIbcChannels(network, chain);
25
+ if (!channels)
26
+ throw new Error("No channels configured for chain " + chain);
27
+ if (!(Gateway.chain in channels))
28
+ throw new Error("No channel configured for chain " + chain);
29
+ return channels[Gateway.chain];
30
+ }
31
+ // derive the ics20 token denom from the
32
+ // wrapped denom and destination channel
33
+ static deriveIbcDenom(network, chain, denom) {
34
+ // Otherwise compute the ibc address from the channel and denom
35
+ const channel = this.getGatewaySourceChannel(network, chain);
36
+ const hashData = encoding.bytes.encode(`${IBC_TRANSFER_PORT}/${channel}/${denom}`);
37
+ const hash = encoding.hex.encode(sha256(hashData));
38
+ return new CosmwasmAddress(`ibc/${hash.toUpperCase()}`);
39
+ }
40
+ // Util to convert a factory address to a CW20 address
41
+ // expects the denom to be base58 encoded
42
+ // e.g. factoryToCw20("wormhole", "8sYgCzLRJC3J7qPn2bNbx6PiGcarhyx8rBhVaNnfvHCA")
43
+ static factoryToCw20(address) {
44
+ if (address.denomType !== "factory")
45
+ throw new Error("Invalid address type");
46
+ return new CosmwasmAddress(toBech32(address.domain, encoding.b58.decode(address.denom)));
47
+ }
48
+ static cw20ToFactory(network, address) {
49
+ // Encode the original address to base58 and add it
50
+ // to the factory address for cw20 style factory token address
51
+ const encodedAddress = encoding.b58.encode(address.toUniversalAddress().toUint8Array());
52
+ return new CosmwasmAddress(`factory/${Gateway.gatewayAddress(network)}/${encodedAddress}`);
53
+ }
54
+ static makeTransferMsg(chain, recipient, fee = 0n, payload, nonce) {
55
+ // Address of recipient is b64 encoded Cosmos bech32 address
56
+ const address = encoding.b64.encode(recipient.toUint8Array());
57
+ const common = {
58
+ chain: toChainId(chain),
59
+ recipient: address,
60
+ fee: fee.toString(),
61
+ nonce: nonce ?? Math.round(Math.random() * 100000),
62
+ };
63
+ const msg = payload
64
+ ? {
65
+ gateway_transfer_with_payload: { ...common, payload: payload },
66
+ }
67
+ : { gateway_transfer: { ...common } };
68
+ return msg;
69
+ }
70
+ }
71
+ //# sourceMappingURL=gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/gateway.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export * from "./constants";
2
+ export * from "./address";
3
+ export * from "./unsignedTransaction";
4
+ export * from "./chain";
5
+ export * from "./types";
6
+ export * from "./platform";
7
+ export * from "./gateway";
8
+ export * from "./signer";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,9 @@
1
+ export * from "./constants";
2
+ export * from "./address";
3
+ export * from "./unsignedTransaction";
4
+ export * from "./chain";
5
+ export * from "./types";
6
+ export * from "./platform";
7
+ export * from "./gateway";
8
+ export * from "./signer";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { CosmWasmClient } from "@cosmjs/cosmwasm-stargate";
2
+ import { BankExtension, IbcExtension, QueryClient } from "@cosmjs/stargate";
3
+ import { Chain, ChainsConfig, Network, PlatformContext, SignedTx, StaticPlatformMethods, TxHash } from "@wormhole-foundation/sdk-connect";
4
+ import { CosmwasmChain } from "./chain";
5
+ import { IbcChannels } from "./constants";
6
+ import { CosmwasmChains, CosmwasmPlatformType } from "./types";
7
+ import { Balances, TokenId } from "@wormhole-foundation/sdk-connect";
8
+ import { AnyCosmwasmAddress } from "./types";
9
+ /**
10
+ * @category Cosmwasm
11
+ */
12
+ export declare class CosmwasmPlatform<N extends Network> extends PlatformContext<N, CosmwasmPlatformType> implements StaticPlatformMethods<CosmwasmPlatformType, typeof CosmwasmPlatform> {
13
+ static _platform: "Cosmwasm";
14
+ constructor(network: N, _config?: ChainsConfig<N, CosmwasmPlatformType>);
15
+ getRpc<C extends CosmwasmChains>(chain: C): Promise<CosmWasmClient>;
16
+ getChain<C extends CosmwasmChains>(chain: C, rpc?: CosmWasmClient): CosmwasmChain<N, C>;
17
+ static getQueryClient: (rpc: CosmWasmClient) => QueryClient & BankExtension & IbcExtension;
18
+ static getIbcChannels<N extends Network, C extends CosmwasmChains>(network: N, chain: C): IbcChannels | null;
19
+ static nativeTokenId<C extends CosmwasmChains>(network: Network, chain: C): TokenId<C>;
20
+ static isSupportedChain(chain: Chain): boolean;
21
+ static isNativeTokenId<N extends Network, C extends CosmwasmChains>(network: N, chain: C, tokenId: TokenId): boolean;
22
+ static getDecimals<C extends CosmwasmChains>(chain: C, rpc: CosmWasmClient, token: AnyCosmwasmAddress): Promise<number>;
23
+ static getBalance<C extends CosmwasmChains>(chain: C, rpc: CosmWasmClient, walletAddress: string, token: AnyCosmwasmAddress): Promise<bigint | null>;
24
+ static getBalances<C extends CosmwasmChains>(chain: C, rpc: CosmWasmClient, walletAddress: string, tokens: AnyCosmwasmAddress[]): Promise<Balances>;
25
+ static getNativeDenom<N extends Network, C extends CosmwasmChains>(network: N, chain: C): string;
26
+ static sendWait(chain: Chain, rpc: CosmWasmClient, stxns: SignedTx[]): Promise<TxHash[]>;
27
+ static getLatestBlock(rpc: CosmWasmClient): Promise<number>;
28
+ static getLatestFinalizedBlock(rpc: CosmWasmClient): Promise<number>;
29
+ static chainFromChainId(chainMoniker: string): [Network, CosmwasmChains];
30
+ static chainFromRpc(rpc: CosmWasmClient): Promise<[Network, CosmwasmChains]>;
31
+ static getCounterpartyChannel(sourceChannel: string, rpc: CosmWasmClient): Promise<string | null>;
32
+ }
33
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ import { CosmWasmClient } from "@cosmjs/cosmwasm-stargate";
2
+ import { QueryClient, setupBankExtension, setupIbcExtension, } from "@cosmjs/stargate";
3
+ import { PlatformContext, Wormhole, decimals, isNative, nativeChainIds, networkPlatformConfigs, } from "@wormhole-foundation/sdk-connect";
4
+ import { CosmwasmChain } from "./chain";
5
+ import { chainToNativeDenoms, networkChainToChannels } from "./constants";
6
+ import { _platform } from "./types";
7
+ import { chainToPlatform } from "@wormhole-foundation/sdk-connect";
8
+ import { CosmwasmAddress } from "./address";
9
+ import { IBC_TRANSFER_PORT } from "./constants";
10
+ import { Gateway } from "./gateway";
11
+ /**
12
+ * @category Cosmwasm
13
+ */
14
+ export class CosmwasmPlatform extends PlatformContext {
15
+ static _platform = _platform;
16
+ constructor(network, _config) {
17
+ super(network, _config ?? networkPlatformConfigs(network, CosmwasmPlatform._platform));
18
+ }
19
+ async getRpc(chain) {
20
+ if (chain in this.config && this.config[chain].rpc)
21
+ return await CosmWasmClient.connect(this.config[chain].rpc);
22
+ throw new Error("No configuration available for chain: " + chain);
23
+ }
24
+ getChain(chain, rpc) {
25
+ if (!(chain in this.config))
26
+ throw new Error("No configuration available for chain: " + chain);
27
+ return new CosmwasmChain(chain, this, rpc);
28
+ }
29
+ static getQueryClient = (rpc) => {
30
+ return QueryClient.withExtensions(rpc["cometClient"], setupBankExtension, setupIbcExtension);
31
+ };
32
+ // cached channels from config if available
33
+ static getIbcChannels(network, chain) {
34
+ return networkChainToChannels.has(network, chain)
35
+ ? networkChainToChannels.get(network, chain)
36
+ : null;
37
+ }
38
+ static nativeTokenId(network, chain) {
39
+ if (!this.isSupportedChain(chain))
40
+ throw new Error(`invalid chain for CosmWasm: ${chain}`);
41
+ return Wormhole.chainAddress(chain, this.getNativeDenom(network, chain));
42
+ }
43
+ static isSupportedChain(chain) {
44
+ const platform = chainToPlatform(chain);
45
+ return platform === CosmwasmPlatform._platform;
46
+ }
47
+ static isNativeTokenId(network, chain, tokenId) {
48
+ if (!this.isSupportedChain(chain))
49
+ return false;
50
+ if (tokenId.chain !== chain)
51
+ return false;
52
+ const native = this.nativeTokenId(network, chain);
53
+ return native == tokenId;
54
+ }
55
+ static async getDecimals(chain, rpc, token) {
56
+ if (isNative(token))
57
+ return decimals.nativeDecimals(CosmwasmPlatform._platform);
58
+ let addrStr = new CosmwasmAddress(token).toString();
59
+ if (addrStr.startsWith("factory")) {
60
+ addrStr = Gateway.factoryToCw20(new CosmwasmAddress(addrStr)).toString();
61
+ }
62
+ const { decimals: numDecimals } = await rpc.queryContractSmart(addrStr, {
63
+ token_info: {},
64
+ });
65
+ return numDecimals;
66
+ }
67
+ static async getBalance(chain, rpc, walletAddress, token) {
68
+ if (isNative(token)) {
69
+ const [network, _] = await CosmwasmPlatform.chainFromRpc(rpc);
70
+ const { amount } = await rpc.getBalance(walletAddress, this.getNativeDenom(network, chain));
71
+ return BigInt(amount);
72
+ }
73
+ const addrStr = new CosmwasmAddress(token).toString();
74
+ const { amount } = await rpc.getBalance(walletAddress, addrStr);
75
+ return BigInt(amount);
76
+ }
77
+ static async getBalances(chain, rpc, walletAddress, tokens) {
78
+ const client = CosmwasmPlatform.getQueryClient(rpc);
79
+ const allBalances = await client.bank.allBalances(walletAddress);
80
+ const [network, _] = await CosmwasmPlatform.chainFromRpc(rpc);
81
+ const balancesArr = tokens.map((token) => {
82
+ const address = isNative(token)
83
+ ? this.getNativeDenom(network, chain)
84
+ : new CosmwasmAddress(token).toString();
85
+ const balance = allBalances.find((balance) => balance.denom === address);
86
+ const balanceBigInt = balance ? BigInt(balance.amount) : null;
87
+ return { [address]: balanceBigInt };
88
+ });
89
+ return balancesArr.reduce((obj, item) => Object.assign(obj, item), {});
90
+ }
91
+ static getNativeDenom(network, chain) {
92
+ return chainToNativeDenoms.get(network, chain);
93
+ }
94
+ static async sendWait(chain, rpc, stxns) {
95
+ const txhashes = [];
96
+ for (const stxn of stxns) {
97
+ const result = await rpc.broadcastTx(stxn);
98
+ if (result.code !== 0)
99
+ throw new Error(`Error sending transaction (${result.transactionHash}): ${result.rawLog}`);
100
+ txhashes.push(result.transactionHash);
101
+ }
102
+ return txhashes;
103
+ }
104
+ static async getLatestBlock(rpc) {
105
+ return await rpc.getHeight();
106
+ }
107
+ static async getLatestFinalizedBlock(rpc) {
108
+ throw new Error("not implemented");
109
+ }
110
+ static chainFromChainId(chainMoniker) {
111
+ const networkChainPair = nativeChainIds.platformNativeChainIdToNetworkChain(CosmwasmPlatform._platform, chainMoniker);
112
+ if (networkChainPair === undefined)
113
+ throw new Error(`Unknown Cosmwasm chainId ${chainMoniker}`);
114
+ const [network, chain] = networkChainPair;
115
+ return [network, chain];
116
+ }
117
+ static async chainFromRpc(rpc) {
118
+ const chainId = await rpc.getChainId();
119
+ return this.chainFromChainId(chainId);
120
+ }
121
+ static async getCounterpartyChannel(sourceChannel, rpc) {
122
+ const queryClient = CosmwasmPlatform.getQueryClient(rpc);
123
+ const conn = await queryClient.ibc.channel.channel(IBC_TRANSFER_PORT, sourceChannel);
124
+ return conn.channel?.counterparty?.channelId ?? null;
125
+ }
126
+ }
127
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { CosmWasmClient, SigningCosmWasmClient } from "@cosmjs/cosmwasm-stargate";
2
+ import { Network, SignOnlySigner, SignedTx, Signer, UnsignedTransaction } from "@wormhole-foundation/sdk-connect";
3
+ import { CosmwasmEvmChain } from "./constants";
4
+ import { CosmwasmChains } from "./types";
5
+ export declare function getCosmwasmSigner(rpc: CosmWasmClient, mnemonic: string): Promise<Signer>;
6
+ export declare class CosmwasmSigner<N extends Network, C extends CosmwasmChains> implements SignOnlySigner<N, C> {
7
+ private _chain;
8
+ private _signer;
9
+ private _account;
10
+ constructor(_chain: C, _signer: SigningCosmWasmClient, _account: string);
11
+ chain(): C;
12
+ address(): string;
13
+ sign(tx: UnsignedTransaction[]): Promise<SignedTx[]>;
14
+ }
15
+ export declare class CosmwasmEvmSigner<N extends Network, C extends CosmwasmEvmChain> implements SignOnlySigner<N, C> {
16
+ private _chain;
17
+ private _chainId;
18
+ private key;
19
+ private prefix;
20
+ private _rpc;
21
+ constructor(_chain: C, _network: Network, _mnemonic: string);
22
+ chain(): C;
23
+ address(): string;
24
+ sign(txns: UnsignedTransaction[]): Promise<SignedTx[]>;
25
+ getSignerData(): Promise<{
26
+ address: string;
27
+ sequence: number;
28
+ accountNumber: number;
29
+ }>;
30
+ }
31
+ //# sourceMappingURL=signer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AASlF,OAAO,EACL,OAAO,EAEP,cAAc,EACd,QAAQ,EACR,MAAM,EACN,mBAAmB,EAIpB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,gBAAgB,EAIjB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGzC,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB9F;AAED,qBAAa,cAAc,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,cAAc,CACrE,YAAW,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;IAG7B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;gBAFR,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,MAAM;IAG1B,KAAK,IAAI,CAAC;IAIV,OAAO,IAAI,MAAM;IAIX,IAAI,CAAC,EAAE,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAqB3D;AAED,qBAAa,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,gBAAgB,CAC1E,YAAW,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;IAO7B,OAAO,CAAC,MAAM;IALhB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAmB;gBAErB,MAAM,EAAE,CAAC,EACjB,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,MAAM;IAenB,KAAK;IAIL,OAAO;IAID,IAAI,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAqCtD,aAAa,IAAI,OAAO,CAAC;QAC7B,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CAOH"}