@wormhole-foundation/sdk-definitions-ntt 3.0.4 → 4.0.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 (67) hide show
  1. package/dist/cjs/axelar.d.ts +35 -0
  2. package/dist/cjs/axelar.d.ts.map +1 -0
  3. package/dist/cjs/axelar.js +163 -0
  4. package/dist/cjs/axelar.js.map +1 -0
  5. package/dist/cjs/index.d.ts +4 -0
  6. package/dist/cjs/index.d.ts.map +1 -1
  7. package/dist/cjs/index.js +5 -0
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/layouts/index.d.ts +162 -1
  10. package/dist/cjs/layouts/index.d.ts.map +1 -1
  11. package/dist/cjs/layouts/index.js +9 -1
  12. package/dist/cjs/layouts/index.js.map +1 -1
  13. package/dist/cjs/layouts/multiToken.d.ts +212 -0
  14. package/dist/cjs/layouts/multiToken.d.ts.map +1 -0
  15. package/dist/cjs/layouts/multiToken.js +51 -0
  16. package/dist/cjs/layouts/multiToken.js.map +1 -0
  17. package/dist/cjs/layouts/prefix.js.map +1 -1
  18. package/dist/cjs/multiTokenNtt.d.ts +76 -0
  19. package/dist/cjs/multiTokenNtt.d.ts.map +1 -0
  20. package/dist/cjs/multiTokenNtt.js +22 -0
  21. package/dist/cjs/multiTokenNtt.js.map +1 -0
  22. package/dist/cjs/multiTokenNttWithExecutor.d.ts +23 -0
  23. package/dist/cjs/multiTokenNttWithExecutor.d.ts.map +1 -0
  24. package/dist/cjs/multiTokenNttWithExecutor.js +3 -0
  25. package/dist/cjs/multiTokenNttWithExecutor.js.map +1 -0
  26. package/dist/cjs/ntt.d.ts +17 -2
  27. package/dist/cjs/ntt.d.ts.map +1 -1
  28. package/dist/cjs/ntt.js +15 -0
  29. package/dist/cjs/ntt.js.map +1 -1
  30. package/dist/cjs/trimmedAmount.d.ts +7 -0
  31. package/dist/cjs/trimmedAmount.d.ts.map +1 -0
  32. package/dist/cjs/trimmedAmount.js +40 -0
  33. package/dist/cjs/trimmedAmount.js.map +1 -0
  34. package/dist/esm/axelar.d.ts +35 -0
  35. package/dist/esm/axelar.d.ts.map +1 -0
  36. package/dist/esm/axelar.js +153 -0
  37. package/dist/esm/axelar.js.map +1 -0
  38. package/dist/esm/index.d.ts +4 -0
  39. package/dist/esm/index.d.ts.map +1 -1
  40. package/dist/esm/index.js +6 -1
  41. package/dist/esm/index.js.map +1 -1
  42. package/dist/esm/layouts/index.d.ts +162 -1
  43. package/dist/esm/layouts/index.d.ts.map +1 -1
  44. package/dist/esm/layouts/index.js +8 -0
  45. package/dist/esm/layouts/index.js.map +1 -1
  46. package/dist/esm/layouts/multiToken.d.ts +212 -0
  47. package/dist/esm/layouts/multiToken.d.ts.map +1 -0
  48. package/dist/esm/layouts/multiToken.js +47 -0
  49. package/dist/esm/layouts/multiToken.js.map +1 -0
  50. package/dist/esm/layouts/prefix.js.map +1 -1
  51. package/dist/esm/multiTokenNtt.d.ts +76 -0
  52. package/dist/esm/multiTokenNtt.d.ts.map +1 -0
  53. package/dist/esm/multiTokenNtt.js +19 -0
  54. package/dist/esm/multiTokenNtt.js.map +1 -0
  55. package/dist/esm/multiTokenNttWithExecutor.d.ts +23 -0
  56. package/dist/esm/multiTokenNttWithExecutor.d.ts.map +1 -0
  57. package/dist/esm/multiTokenNttWithExecutor.js +2 -0
  58. package/dist/esm/multiTokenNttWithExecutor.js.map +1 -0
  59. package/dist/esm/ntt.d.ts +17 -2
  60. package/dist/esm/ntt.d.ts.map +1 -1
  61. package/dist/esm/ntt.js +15 -0
  62. package/dist/esm/ntt.js.map +1 -1
  63. package/dist/esm/trimmedAmount.d.ts +7 -0
  64. package/dist/esm/trimmedAmount.d.ts.map +1 -0
  65. package/dist/esm/trimmedAmount.js +34 -0
  66. package/dist/esm/trimmedAmount.js.map +1 -0
  67. package/package.json +3 -2
@@ -0,0 +1,212 @@
1
+ import { CustomizableBytes } from "@wormhole-foundation/sdk-base";
2
+ export declare const tokenMetaLayoutItem: {
3
+ readonly binary: "bytes";
4
+ readonly layout: readonly [{
5
+ readonly binary: "bytes";
6
+ readonly size: number;
7
+ readonly custom: {
8
+ to: (val: Uint8Array) => string;
9
+ from: (val: string) => Uint8Array;
10
+ };
11
+ readonly name: "name";
12
+ }, {
13
+ readonly binary: "bytes";
14
+ readonly size: number;
15
+ readonly custom: {
16
+ to: (val: Uint8Array) => string;
17
+ from: (val: string) => Uint8Array;
18
+ };
19
+ readonly name: "symbol";
20
+ }, {
21
+ readonly name: "decimals";
22
+ readonly binary: "uint";
23
+ readonly size: 1;
24
+ }];
25
+ };
26
+ export declare const tokenIdLayoutItem: {
27
+ readonly binary: "bytes";
28
+ readonly layout: readonly [{
29
+ readonly custom: {
30
+ to: (val: number) => "Solana" | "Ethereum" | "Bsc" | "Polygon" | "Avalanche" | "Algorand" | "Fantom" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Pythnet" | "Btc" | "Base" | "Sei" | "Scroll" | "Mantle" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Unichain" | "Worldchain" | "Ink" | "HyperEVM" | "Monad" | "Mezo" | "Fogo" | "Sonic" | "Converge" | "Plume" | "XRPLEVM" | "Plasma" | "CreditCoin" | "Stacks" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Neutron" | "Celestia" | "Stargaze" | "Seda" | "Dymension" | "Provenance" | "Noble" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "HyperCore";
31
+ from: (val: "Solana" | "Ethereum" | "Bsc" | "Polygon" | "Avalanche" | "Algorand" | "Fantom" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Pythnet" | "Btc" | "Base" | "Sei" | "Scroll" | "Mantle" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Unichain" | "Worldchain" | "Ink" | "HyperEVM" | "Monad" | "Mezo" | "Fogo" | "Sonic" | "Converge" | "Plume" | "XRPLEVM" | "Plasma" | "CreditCoin" | "Stacks" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Neutron" | "Celestia" | "Stargaze" | "Seda" | "Dymension" | "Provenance" | "Noble" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "HyperCore") => number;
32
+ };
33
+ readonly binary: "uint";
34
+ readonly size: 2;
35
+ readonly name: "chainId";
36
+ }, {
37
+ readonly binary: "bytes";
38
+ readonly size: 32;
39
+ readonly custom: {
40
+ to: (val: Uint8Array) => import("@wormhole-foundation/sdk-definitions").UniversalAddress;
41
+ from: (val: import("@wormhole-foundation/sdk-definitions").UniversalAddress) => Uint8Array;
42
+ };
43
+ readonly name: "tokenAddress";
44
+ }];
45
+ };
46
+ export declare const tokenInfoLayoutItem: {
47
+ readonly binary: "bytes";
48
+ readonly layout: readonly [{
49
+ readonly binary: "bytes";
50
+ readonly layout: readonly [{
51
+ readonly binary: "bytes";
52
+ readonly size: number;
53
+ readonly custom: {
54
+ to: (val: Uint8Array) => string;
55
+ from: (val: string) => Uint8Array;
56
+ };
57
+ readonly name: "name";
58
+ }, {
59
+ readonly binary: "bytes";
60
+ readonly size: number;
61
+ readonly custom: {
62
+ to: (val: Uint8Array) => string;
63
+ from: (val: string) => Uint8Array;
64
+ };
65
+ readonly name: "symbol";
66
+ }, {
67
+ readonly name: "decimals";
68
+ readonly binary: "uint";
69
+ readonly size: 1;
70
+ }];
71
+ readonly name: "meta";
72
+ }, {
73
+ readonly binary: "bytes";
74
+ readonly layout: readonly [{
75
+ readonly custom: {
76
+ to: (val: number) => "Solana" | "Ethereum" | "Bsc" | "Polygon" | "Avalanche" | "Algorand" | "Fantom" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Pythnet" | "Btc" | "Base" | "Sei" | "Scroll" | "Mantle" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Unichain" | "Worldchain" | "Ink" | "HyperEVM" | "Monad" | "Mezo" | "Fogo" | "Sonic" | "Converge" | "Plume" | "XRPLEVM" | "Plasma" | "CreditCoin" | "Stacks" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Neutron" | "Celestia" | "Stargaze" | "Seda" | "Dymension" | "Provenance" | "Noble" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "HyperCore";
77
+ from: (val: "Solana" | "Ethereum" | "Bsc" | "Polygon" | "Avalanche" | "Algorand" | "Fantom" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Pythnet" | "Btc" | "Base" | "Sei" | "Scroll" | "Mantle" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Unichain" | "Worldchain" | "Ink" | "HyperEVM" | "Monad" | "Mezo" | "Fogo" | "Sonic" | "Converge" | "Plume" | "XRPLEVM" | "Plasma" | "CreditCoin" | "Stacks" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Neutron" | "Celestia" | "Stargaze" | "Seda" | "Dymension" | "Provenance" | "Noble" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "HyperCore") => number;
78
+ };
79
+ readonly binary: "uint";
80
+ readonly size: 2;
81
+ readonly name: "chainId";
82
+ }, {
83
+ readonly binary: "bytes";
84
+ readonly size: 32;
85
+ readonly custom: {
86
+ to: (val: Uint8Array) => import("@wormhole-foundation/sdk-definitions").UniversalAddress;
87
+ from: (val: import("@wormhole-foundation/sdk-definitions").UniversalAddress) => Uint8Array;
88
+ };
89
+ readonly name: "tokenAddress";
90
+ }];
91
+ readonly name: "token";
92
+ }];
93
+ };
94
+ export declare const multiTokenNativeTokenTransferLayout: readonly [{
95
+ readonly name: "prefix";
96
+ readonly binary: "bytes";
97
+ readonly custom: Uint8Array<ArrayBuffer>;
98
+ readonly omit: true;
99
+ }, {
100
+ readonly binary: "bytes";
101
+ readonly layout: readonly [{
102
+ readonly name: "decimals";
103
+ readonly binary: "uint";
104
+ readonly size: 1;
105
+ }, {
106
+ readonly name: "amount";
107
+ readonly binary: "uint";
108
+ readonly size: 8;
109
+ }];
110
+ readonly name: "trimmedAmount";
111
+ }, {
112
+ readonly binary: "bytes";
113
+ readonly layout: readonly [{
114
+ readonly binary: "bytes";
115
+ readonly layout: readonly [{
116
+ readonly binary: "bytes";
117
+ readonly size: number;
118
+ readonly custom: {
119
+ to: (val: Uint8Array) => string;
120
+ from: (val: string) => Uint8Array;
121
+ };
122
+ readonly name: "name";
123
+ }, {
124
+ readonly binary: "bytes";
125
+ readonly size: number;
126
+ readonly custom: {
127
+ to: (val: Uint8Array) => string;
128
+ from: (val: string) => Uint8Array;
129
+ };
130
+ readonly name: "symbol";
131
+ }, {
132
+ readonly name: "decimals";
133
+ readonly binary: "uint";
134
+ readonly size: 1;
135
+ }];
136
+ readonly name: "meta";
137
+ }, {
138
+ readonly binary: "bytes";
139
+ readonly layout: readonly [{
140
+ readonly custom: {
141
+ to: (val: number) => "Solana" | "Ethereum" | "Bsc" | "Polygon" | "Avalanche" | "Algorand" | "Fantom" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Pythnet" | "Btc" | "Base" | "Sei" | "Scroll" | "Mantle" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Unichain" | "Worldchain" | "Ink" | "HyperEVM" | "Monad" | "Mezo" | "Fogo" | "Sonic" | "Converge" | "Plume" | "XRPLEVM" | "Plasma" | "CreditCoin" | "Stacks" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Neutron" | "Celestia" | "Stargaze" | "Seda" | "Dymension" | "Provenance" | "Noble" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "HyperCore";
142
+ from: (val: "Solana" | "Ethereum" | "Bsc" | "Polygon" | "Avalanche" | "Algorand" | "Fantom" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Pythnet" | "Btc" | "Base" | "Sei" | "Scroll" | "Mantle" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Unichain" | "Worldchain" | "Ink" | "HyperEVM" | "Monad" | "Mezo" | "Fogo" | "Sonic" | "Converge" | "Plume" | "XRPLEVM" | "Plasma" | "CreditCoin" | "Stacks" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Neutron" | "Celestia" | "Stargaze" | "Seda" | "Dymension" | "Provenance" | "Noble" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "HyperCore") => number;
143
+ };
144
+ readonly binary: "uint";
145
+ readonly size: 2;
146
+ readonly name: "chainId";
147
+ }, {
148
+ readonly binary: "bytes";
149
+ readonly size: 32;
150
+ readonly custom: {
151
+ to: (val: Uint8Array) => import("@wormhole-foundation/sdk-definitions").UniversalAddress;
152
+ from: (val: import("@wormhole-foundation/sdk-definitions").UniversalAddress) => Uint8Array;
153
+ };
154
+ readonly name: "tokenAddress";
155
+ }];
156
+ readonly name: "token";
157
+ }];
158
+ readonly name: "token";
159
+ }, {
160
+ readonly binary: "bytes";
161
+ readonly size: 32;
162
+ readonly custom: {
163
+ to: (val: Uint8Array) => import("@wormhole-foundation/sdk-definitions").UniversalAddress;
164
+ from: (val: import("@wormhole-foundation/sdk-definitions").UniversalAddress) => Uint8Array;
165
+ };
166
+ readonly name: "sender";
167
+ }, {
168
+ readonly binary: "bytes";
169
+ readonly size: 32;
170
+ readonly custom: {
171
+ to: (val: Uint8Array) => import("@wormhole-foundation/sdk-definitions").UniversalAddress;
172
+ from: (val: import("@wormhole-foundation/sdk-definitions").UniversalAddress) => Uint8Array;
173
+ };
174
+ readonly name: "to";
175
+ }, import("binary-layout").CustomizableBytesReturn<{
176
+ readonly name: "additionalPayload";
177
+ readonly lengthSize: 2;
178
+ }, CustomizableBytes>];
179
+ export declare const genericMessageLayout: <D extends CustomizableBytes>(data?: D) => readonly [{
180
+ readonly name: "prefix";
181
+ readonly binary: "bytes";
182
+ readonly custom: Uint8Array<ArrayBuffer>;
183
+ readonly omit: true;
184
+ }, {
185
+ readonly custom: {
186
+ to: (val: number) => "Solana" | "Ethereum" | "Bsc" | "Polygon" | "Avalanche" | "Algorand" | "Fantom" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Pythnet" | "Btc" | "Base" | "Sei" | "Scroll" | "Mantle" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Unichain" | "Worldchain" | "Ink" | "HyperEVM" | "Monad" | "Mezo" | "Fogo" | "Sonic" | "Converge" | "Plume" | "XRPLEVM" | "Plasma" | "CreditCoin" | "Stacks" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Neutron" | "Celestia" | "Stargaze" | "Seda" | "Dymension" | "Provenance" | "Noble" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "HyperCore";
187
+ from: (val: "Solana" | "Ethereum" | "Bsc" | "Polygon" | "Avalanche" | "Algorand" | "Fantom" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Pythnet" | "Btc" | "Base" | "Sei" | "Scroll" | "Mantle" | "Xlayer" | "Linea" | "Berachain" | "Seievm" | "Unichain" | "Worldchain" | "Ink" | "HyperEVM" | "Monad" | "Mezo" | "Fogo" | "Sonic" | "Converge" | "Plume" | "XRPLEVM" | "Plasma" | "CreditCoin" | "Stacks" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Neutron" | "Celestia" | "Stargaze" | "Seda" | "Dymension" | "Provenance" | "Noble" | "Sepolia" | "ArbitrumSepolia" | "BaseSepolia" | "OptimismSepolia" | "Holesky" | "PolygonSepolia" | "HyperCore") => number;
188
+ };
189
+ readonly binary: "uint";
190
+ readonly size: 2;
191
+ readonly name: "toChain";
192
+ }, {
193
+ readonly binary: "bytes";
194
+ readonly size: 32;
195
+ readonly custom: {
196
+ to: (val: Uint8Array) => import("@wormhole-foundation/sdk-definitions").UniversalAddress;
197
+ from: (val: import("@wormhole-foundation/sdk-definitions").UniversalAddress) => Uint8Array;
198
+ };
199
+ readonly name: "callee";
200
+ }, {
201
+ readonly binary: "bytes";
202
+ readonly size: 32;
203
+ readonly custom: {
204
+ to: (val: Uint8Array) => import("@wormhole-foundation/sdk-definitions").UniversalAddress;
205
+ from: (val: import("@wormhole-foundation/sdk-definitions").UniversalAddress) => Uint8Array;
206
+ };
207
+ readonly name: "sender";
208
+ }, import("binary-layout").CustomizableBytesReturn<{
209
+ readonly name: "data";
210
+ readonly lengthSize: 2;
211
+ }, D>];
212
+ //# sourceMappingURL=multiToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiToken.d.ts","sourceRoot":"","sources":["../../../src/layouts/multiToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAElB,MAAM,+BAA+B,CAAC;AAWvC,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;CAGtB,CAAC;AAOX,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;CAGpB,CAAC;AAOX,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGtB,CAAC;AAEX,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAQrB,CAAC;AAG5B,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,iBAAiB,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAO7C,CAAC"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.genericMessageLayout = exports.multiTokenNativeTokenTransferLayout = exports.tokenInfoLayoutItem = exports.tokenIdLayoutItem = exports.tokenMetaLayoutItem = void 0;
4
+ const sdk_base_1 = require("@wormhole-foundation/sdk-base");
5
+ const sdk_definitions_1 = require("@wormhole-foundation/sdk-definitions");
6
+ const amount_js_1 = require("./amount.js");
7
+ const prefix_js_1 = require("./prefix.js");
8
+ const tokenMetaLayout = [
9
+ { name: "name", ...sdk_definitions_1.layoutItems.fixedLengthStringItem(32) },
10
+ { name: "symbol", ...sdk_definitions_1.layoutItems.fixedLengthStringItem(32) },
11
+ { name: "decimals", binary: "uint", size: 1 },
12
+ ];
13
+ exports.tokenMetaLayoutItem = {
14
+ binary: "bytes",
15
+ layout: tokenMetaLayout,
16
+ };
17
+ const tokenIdLayout = [
18
+ { name: "chainId", ...sdk_definitions_1.layoutItems.chainItem() },
19
+ { name: "tokenAddress", ...sdk_definitions_1.layoutItems.universalAddressItem },
20
+ ];
21
+ exports.tokenIdLayoutItem = {
22
+ binary: "bytes",
23
+ layout: tokenIdLayout,
24
+ };
25
+ const tokenInfoLayout = [
26
+ { name: "meta", ...exports.tokenMetaLayoutItem },
27
+ { name: "token", ...exports.tokenIdLayoutItem },
28
+ ];
29
+ exports.tokenInfoLayoutItem = {
30
+ binary: "bytes",
31
+ layout: tokenInfoLayout,
32
+ };
33
+ exports.multiTokenNativeTokenTransferLayout = [
34
+ // bytes4 constant MTT_PREFIX = 0x994D5454;
35
+ (0, prefix_js_1.prefixItem)([0x99, 0x4d, 0x54, 0x54]),
36
+ { name: "trimmedAmount", ...amount_js_1.trimmedAmountItem },
37
+ { name: "token", ...exports.tokenInfoLayoutItem },
38
+ { name: "sender", ...sdk_definitions_1.layoutItems.universalAddressItem },
39
+ { name: "to", ...sdk_definitions_1.layoutItems.universalAddressItem },
40
+ (0, sdk_base_1.customizableBytes)({ name: "additionalPayload", lengthSize: 2 }),
41
+ ];
42
+ // GmpManager message layout
43
+ const genericMessageLayout = (data) => [
44
+ (0, prefix_js_1.prefixItem)([0x99, 0x47, 0x4d, 0x50]),
45
+ { name: "toChain", ...sdk_definitions_1.layoutItems.chainItem() },
46
+ { name: "callee", ...sdk_definitions_1.layoutItems.universalAddressItem },
47
+ { name: "sender", ...sdk_definitions_1.layoutItems.universalAddressItem },
48
+ (0, sdk_base_1.customizableBytes)({ name: "data", lengthSize: 2 }, data),
49
+ ];
50
+ exports.genericMessageLayout = genericMessageLayout;
51
+ //# sourceMappingURL=multiToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiToken.js","sourceRoot":"","sources":["../../../src/layouts/multiToken.ts"],"names":[],"mappings":";;;AAAA,4DAIuC;AACvC,0EAAmE;AACnE,2CAAgD;AAChD,2CAAyC;AAEzC,MAAM,eAAe,GAAG;IACtB,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,6BAAW,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE;IAC1D,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,6BAAW,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE;IAC5D,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE;CACpB,CAAC;AAEf,QAAA,mBAAmB,GAAG;IACjC,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,eAAe;CACf,CAAC;AAEX,MAAM,aAAa,GAAG;IACpB,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,6BAAW,CAAC,SAAS,EAAE,EAAE;IAC/C,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,6BAAW,CAAC,oBAAoB,EAAE;CACpC,CAAC;AAEf,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,aAAa;CACb,CAAC;AAEX,MAAM,eAAe,GAAG;IACtB,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,2BAAmB,EAAE;IACxC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,yBAAiB,EAAE;CACd,CAAC;AAEf,QAAA,mBAAmB,GAAG;IACjC,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,eAAe;CACf,CAAC;AAEE,QAAA,mCAAmC,GAAG;IACjD,2CAA2C;IAC3C,IAAA,sBAAU,EAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,6BAAiB,EAAE;IAC/C,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,2BAAmB,EAAE;IACzC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,6BAAW,CAAC,oBAAoB,EAAE;IACvD,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,6BAAW,CAAC,oBAAoB,EAAE;IACnD,IAAA,4BAAiB,EAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;CACtC,CAAC;AAE5B,4BAA4B;AACrB,MAAM,oBAAoB,GAAG,CAA8B,IAAQ,EAAE,EAAE,CAC5E;IACE,IAAA,sBAAU,EAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,6BAAW,CAAC,SAAS,EAAE,EAAE;IAC/C,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,6BAAW,CAAC,oBAAoB,EAAE;IACvD,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,6BAAW,CAAC,oBAAoB,EAAE;IACvD,IAAA,4BAAiB,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC;CAC/B,CAAC;AAPjB,QAAA,oBAAoB,wBAOH"}
@@ -1 +1 @@
1
- {"version":3,"file":"prefix.js","sourceRoot":"","sources":["../../../src/layouts/prefix.ts"],"names":[],"mappings":";;;AACO,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,EAAE,CAC3C,CAAC;IACC,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE,IAAI;CACD,CAAA,CAAC;AAND,QAAA,UAAU,cAMT"}
1
+ {"version":3,"file":"prefix.js","sourceRoot":"","sources":["../../../src/layouts/prefix.ts"],"names":[],"mappings":";;;AACO,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,EAAE,CAC3C,CAAC;IACC,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE,IAAI;CACX,CAAU,CAAC;AAND,QAAA,UAAU,cAMT"}
@@ -0,0 +1,76 @@
1
+ import { type Chain, type Network } from "@wormhole-foundation/sdk-base";
2
+ import { AccountAddress, ChainAddress, EmptyPlatformMap, TokenAddress, TokenId, UniversalAddress, UnsignedTransaction, VAA } from "@wormhole-foundation/sdk-definitions";
3
+ import { NttManagerMessage, genericMessageLayout, multiTokenNativeTokenTransferLayout } from "./layouts/index.js";
4
+ import { Ntt } from "./ntt.js";
5
+ export declare namespace MultiTokenNtt {
6
+ const _protocol = "MultiTokenNtt";
7
+ export type ProtocolName = typeof _protocol;
8
+ export type Contracts = {
9
+ chain: Chain;
10
+ manager: string;
11
+ gmpManager: string;
12
+ axelarGasMultiplier?: number | "auto";
13
+ };
14
+ export interface TokenMeta {
15
+ name: string;
16
+ symbol: string;
17
+ decimals: number;
18
+ }
19
+ export type Message = NttManagerMessage<ReturnType<typeof genericMessageLayout<typeof multiTokenNativeTokenTransferLayout>>>;
20
+ export type OriginalTokenId<C extends Chain = Chain> = {
21
+ chain: C;
22
+ address: UniversalAddress;
23
+ };
24
+ export type Attestation = VAA<"MultiTokenNtt:WormholeTransfer">;
25
+ export type InboundQueuedTransfer = {
26
+ sourceChain: Chain;
27
+ rateLimitExpiryTimestamp: number;
28
+ };
29
+ /**
30
+ * messageDigest hashes a message for the Ntt manager, the digest is used
31
+ * to uniquely identify the message
32
+ * @param chain The chain that sent the message
33
+ * @param message The ntt message to hash
34
+ * @returns a 32 byte digest of the message
35
+ */
36
+ export function messageDigest(chain: Chain, message: Message): Uint8Array;
37
+ export {};
38
+ }
39
+ export interface MultiTokenNtt<N extends Network, C extends Chain> {
40
+ isPaused(): Promise<boolean>;
41
+ getSendTransceivers(dstChain: Chain): Promise<Ntt.TransceiverMeta[]>;
42
+ getReceiveTransceivers(srcChain: Chain): Promise<Ntt.TransceiverMeta[]>;
43
+ transceiverAttestedToMessage(fromChain: Chain, transceiverMessage: MultiTokenNtt.Message, index: number): Promise<boolean>;
44
+ createTransceiverInstructions(dstChain: Chain, gasLimit: bigint, axelarGasMultiplier?: number | "auto"): Promise<Ntt.TransceiverInstruction[]>;
45
+ quoteDeliveryPrice(destination: Chain, instructions: Ntt.TransceiverInstruction[]): Promise<bigint>;
46
+ transfer(sender: AccountAddress<C>, token: TokenAddress<C>, amount: bigint, destination: ChainAddress, destinationGasLimit: bigint, axelarGasMultiplier?: number | "auto"): AsyncGenerator<UnsignedTransaction<N, C>>;
47
+ redeem(attestation: MultiTokenNtt.Attestation): AsyncGenerator<UnsignedTransaction<N, C>>;
48
+ getTokenMeta(token: TokenId): Promise<MultiTokenNtt.TokenMeta>;
49
+ getCurrentOutboundCapacity(token: TokenId): Promise<bigint>;
50
+ getOutboundLimit(token: TokenId): Promise<bigint>;
51
+ getCurrentInboundCapacity(originalToken: MultiTokenNtt.OriginalTokenId, fromChain: Chain): Promise<bigint>;
52
+ getRateLimitDuration(): Promise<bigint>;
53
+ getInboundLimit(originalToken: MultiTokenNtt.OriginalTokenId, fromChain: Chain): Promise<bigint | null>;
54
+ getIsApproved(attestation: MultiTokenNtt.Attestation): Promise<boolean>;
55
+ getIsExecuted(attestation: MultiTokenNtt.Attestation): Promise<boolean>;
56
+ getIsTransferInboundQueued(attestation: MultiTokenNtt.Attestation): Promise<boolean>;
57
+ getInboundQueuedTransfer(fromChain: Chain, transceiverMessage: MultiTokenNtt.Message): Promise<MultiTokenNtt.InboundQueuedTransfer | null>;
58
+ completeInboundQueuedTransfer(fromChain: Chain, transceiverMessage: MultiTokenNtt.Message): AsyncGenerator<UnsignedTransaction<N, C>>;
59
+ getOriginalToken(localToken: TokenId): Promise<MultiTokenNtt.OriginalTokenId>;
60
+ isWrappedToken(localToken: TokenId): Promise<boolean>;
61
+ getLocalToken(originalToken: MultiTokenNtt.OriginalTokenId): Promise<TokenId | null>;
62
+ calculateLocalTokenAddress(originalToken: MultiTokenNtt.OriginalTokenId, tokenMeta: MultiTokenNtt.TokenMeta): Promise<TokenAddress<C>>;
63
+ getWrappedNativeToken(): Promise<TokenId>;
64
+ estimateGasLimit(originalToken: MultiTokenNtt.OriginalTokenId): Promise<bigint>;
65
+ }
66
+ declare module "@wormhole-foundation/sdk-definitions" {
67
+ namespace WormholeRegistry {
68
+ interface ProtocolToInterfaceMapping<N, C> {
69
+ MultiTokenNtt: MultiTokenNtt<N, C>;
70
+ }
71
+ interface ProtocolToPlatformMapping {
72
+ MultiTokenNtt: EmptyPlatformMap<MultiTokenNtt.ProtocolName>;
73
+ }
74
+ }
75
+ }
76
+ //# sourceMappingURL=multiTokenNtt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiTokenNtt.d.ts","sourceRoot":"","sources":["../../src/multiTokenNtt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MultiTokenNtt = void 0;
4
+ const sdk_base_1 = require("@wormhole-foundation/sdk-base");
5
+ const sdk_definitions_1 = require("@wormhole-foundation/sdk-definitions");
6
+ const index_js_1 = require("./layouts/index.js");
7
+ var MultiTokenNtt;
8
+ (function (MultiTokenNtt) {
9
+ const _protocol = "MultiTokenNtt";
10
+ /**
11
+ * messageDigest hashes a message for the Ntt manager, the digest is used
12
+ * to uniquely identify the message
13
+ * @param chain The chain that sent the message
14
+ * @param message The ntt message to hash
15
+ * @returns a 32 byte digest of the message
16
+ */
17
+ function messageDigest(chain, message) {
18
+ return (0, sdk_definitions_1.keccak256)(sdk_base_1.encoding.bytes.concat(sdk_base_1.encoding.bignum.toBytes((0, sdk_base_1.toChainId)(chain), 2), (0, sdk_base_1.serializeLayout)((0, index_js_1.nttManagerMessageLayout)((0, index_js_1.genericMessageLayout)(index_js_1.multiTokenNativeTokenTransferLayout)), message)));
19
+ }
20
+ MultiTokenNtt.messageDigest = messageDigest;
21
+ })(MultiTokenNtt || (exports.MultiTokenNtt = MultiTokenNtt = {}));
22
+ //# sourceMappingURL=multiTokenNtt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiTokenNtt.js","sourceRoot":"","sources":["../../src/multiTokenNtt.ts"],"names":[],"mappings":";;;AAAA,4DAMuC;AAEvC,0EAU8C;AAE9C,iDAK4B;AAI5B,IAAiB,aAAa,CAuD7B;AAvDD,WAAiB,aAAa;IAC5B,MAAM,SAAS,GAAG,eAAe,CAAC;IAkClC;;;;;;OAMG;IACH,SAAgB,aAAa,CAAC,KAAY,EAAE,OAAgB;QAC1D,OAAO,IAAA,2BAAS,EACd,mBAAQ,CAAC,KAAK,CAAC,MAAM,CACnB,mBAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAA,oBAAS,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAC5C,IAAA,0BAAe,EACb,IAAA,kCAAuB,EACrB,IAAA,+BAAoB,EAAC,8CAAmC,CAAC,CAC1D,EACD,OAAO,CACR,CACF,CACF,CAAC;IACJ,CAAC;IAZe,2BAAa,gBAY5B,CAAA;AACH,CAAC,EAvDgB,aAAa,6BAAb,aAAa,QAuD7B"}
@@ -0,0 +1,23 @@
1
+ import type { AccountAddress, Chain, ChainAddress, EmptyPlatformMap, Network, TokenId, UnsignedTransaction } from "@wormhole-foundation/sdk-connect";
2
+ import { NttWithExecutor } from "./nttWithExecutor.js";
3
+ import { Ntt } from "./ntt.js";
4
+ export declare namespace MultiTokenNttWithExecutor {
5
+ type Quote = NttWithExecutor.Quote & {
6
+ deliveryPrice: bigint;
7
+ transceiverInstructions: Ntt.TransceiverInstruction[];
8
+ };
9
+ }
10
+ export interface MultiTokenNttWithExecutor<N extends Network, C extends Chain> {
11
+ transfer(sender: AccountAddress<C>, destination: ChainAddress, token: TokenId<C>, amount: bigint, quote: MultiTokenNttWithExecutor.Quote): AsyncGenerator<UnsignedTransaction<N, C>>;
12
+ }
13
+ declare module "@wormhole-foundation/sdk-definitions" {
14
+ namespace WormholeRegistry {
15
+ interface ProtocolToInterfaceMapping<N, C> {
16
+ MultiTokenNttWithExecutor: MultiTokenNttWithExecutor<N, C>;
17
+ }
18
+ interface ProtocolToPlatformMapping {
19
+ MultiTokenNttWithExecutor: EmptyPlatformMap<"MultiTokenNttWithExecutor">;
20
+ }
21
+ }
22
+ }
23
+ //# sourceMappingURL=multiTokenNttWithExecutor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiTokenNttWithExecutor.d.ts","sourceRoot":"","sources":["../../src/multiTokenNttWithExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,OAAO,EACP,mBAAmB,EACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,yBAAiB,yBAAyB,CAAC;IACzC,KAAY,KAAK,GAAG,eAAe,CAAC,KAAK,GAAG;QAC1C,aAAa,EAAE,MAAM,CAAC;QACtB,uBAAuB,EAAE,GAAG,CAAC,sBAAsB,EAAE,CAAC;KACvD,CAAC;CACH;AAED,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,KAAK;IAC3E,QAAQ,CACN,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,WAAW,EAAE,YAAY,EACzB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,yBAAyB,CAAC,KAAK,GACrC,cAAc,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC9C;AAED,OAAO,QAAQ,sCAAsC,CAAC;IACpD,UAAiB,gBAAgB,CAAC;QAChC,UAAU,0BAA0B,CAAC,CAAC,EAAE,CAAC;YACvC,yBAAyB,EAAE,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC5D;QACD,UAAU,yBAAyB;YACjC,yBAAyB,EAAE,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;SAC1E;KACF;CACF"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=multiTokenNttWithExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiTokenNttWithExecutor.js","sourceRoot":"","sources":["../../src/multiTokenNttWithExecutor.ts"],"names":[],"mappings":""}
package/dist/cjs/ntt.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { type Chain, type Network } from "@wormhole-foundation/sdk-base";
1
+ import { type Chain, type Network, type PlatformToChains } from "@wormhole-foundation/sdk-base";
2
2
  import { AccountAddress, ChainAddress, EmptyPlatformMap, ProtocolPayload, ProtocolVAA, UnsignedTransaction, VAA } from "@wormhole-foundation/sdk-definitions";
3
- import { NttManagerMessage, nativeTokenTransferLayout, transceiverInfo, transceiverRegistration } from "./layouts/index.js";
4
3
  import { PublicKey } from "@solana/web3.js";
4
+ import { NttManagerMessage, nativeTokenTransferLayout, transceiverInfo, transceiverRegistration } from "./layouts/index.js";
5
5
  /**
6
6
  * @namespace Ntt
7
7
  */
@@ -16,6 +16,16 @@ export declare namespace Ntt {
16
16
  [type: string]: string;
17
17
  };
18
18
  quoter?: string;
19
+ svmShims?: {
20
+ postMessageShimOverride?: string;
21
+ verifyVaaShimOverride?: string;
22
+ };
23
+ };
24
+ export const DEFAULT_SVM_SHIM_ADDRESSES: {
25
+ [chain in PlatformToChains<"Solana">]: {
26
+ postMessageShim: string;
27
+ verifyVaaShim: string;
28
+ };
19
29
  };
20
30
  export type Message = NttManagerMessage<typeof nativeTokenTransferLayout>;
21
31
  export type TransceiverInfo = NttManagerMessage<typeof transceiverInfo>;
@@ -49,6 +59,11 @@ export declare namespace Ntt {
49
59
  index: number;
50
60
  payload: Uint8Array;
51
61
  };
62
+ export type TransceiverMeta = {
63
+ address: string;
64
+ index: number;
65
+ type: string;
66
+ };
52
67
  export type Peer<C extends Chain> = {
53
68
  address: ChainAddress<C>;
54
69
  tokenDecimals: number;
@@ -1 +1 @@
1
- {"version":3,"file":"ntt.d.ts","sourceRoot":"","sources":["../../src/ntt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ntt.d.ts","sourceRoot":"","sources":["../../src/ntt.ts"],"names":[],"mappings":"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"}
package/dist/cjs/ntt.js CHANGED
@@ -10,6 +10,21 @@ const index_js_1 = require("./layouts/index.js");
10
10
  var Ntt;
11
11
  (function (Ntt) {
12
12
  const _protocol = "Ntt";
13
+ Ntt.DEFAULT_SVM_SHIM_ADDRESSES = {
14
+ Solana: {
15
+ postMessageShim: "EtZMZM22ViKMo4r5y4Anovs3wKQ2owUmDpjygnMMcdEX",
16
+ verifyVaaShim: "EFaNWErqAtVWufdNb7yofSHHfWFos843DFpu4JBw24at",
17
+ },
18
+ // TODO: update once shim is configured
19
+ Pythnet: {
20
+ postMessageShim: "",
21
+ verifyVaaShim: "",
22
+ },
23
+ Fogo: {
24
+ postMessageShim: "",
25
+ verifyVaaShim: "",
26
+ },
27
+ };
13
28
  // TODO: should layoutify this but couldnt immediately figure out how to
14
29
  // specify the length of the array as an encoded value
15
30
  function encodeTransceiverInstructions(ixs) {
@@ -1 +1 @@
1
- {"version":3,"file":"ntt.js","sourceRoot":"","sources":["../../src/ntt.ts"],"names":[],"mappings":";;;AAAA,4DAMuC;AAEvC,0EAS8C;AAE9C,iDAO4B;AAG5B;;GAEG;AACH,IAAiB,GAAG,CAsHnB;AAtHD,WAAiB,GAAG;IAClB,MAAM,SAAS,GAAG,KAAK,CAAC;IA+DxB,wEAAwE;IACxE,sDAAsD;IACtD,SAAgB,6BAA6B,CAAC,GAA6B;QACzE,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG;YAClB,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3D,OAAO,mBAAQ,CAAC,KAAK,CAAC,MAAM,CAC1B,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAC5B,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,0BAAe,EAAC,IAAA,uCAA4B,GAAE,EAAE,EAAE,CAAC,CAAC,CACxE,CAAC;IACJ,CAAC;IAPe,iCAA6B,gCAO5C,CAAA;IAED;;;;;;OAMG;IACH,SAAgB,aAAa,CAAC,KAAY,EAAE,OAAgB;QAC1D,OAAO,IAAA,2BAAS,EACd,mBAAQ,CAAC,KAAK,CAAC,MAAM,CACnB,mBAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAA,oBAAS,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAC5C,IAAA,0BAAe,EACb,IAAA,kCAAuB,EAAC,oCAAyB,CAAC,EAClD,OAAO,CACR,CACF,CACF,CAAC;IACJ,CAAC;IAVe,iBAAa,gBAU5B,CAAA;IAED,yEAAyE;IACzE,oFAAoF;IACpF,mCAAmC;IACnC,EAAE;IACF,iFAAiF;IACjF,SAAgB,iBAAiB,CAC/B,aAAqB,EACrB,UAAkB;QAElB,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,EAAE;YACvC,sCAAsC;YACtC,MAAM,YAAY,GAAG,sBAAsB,CAAC;YAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;YACxD,CAAC;YACD,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC;YAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;QACrE,CAAC,CAAC;QACF,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,GAC9C,YAAY,CAAC,aAAa,CAAC,CAAC;QAC9B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QACtE,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,IAAI,QAAQ,CAAC;IAC7D,CAAC;IAlBe,qBAAiB,oBAkBhC,CAAA;AACH,CAAC,EAtHgB,GAAG,mBAAH,GAAG,QAsHnB;AA+PD,IAAiB,sBAAsB,CAUtC;AAVD,WAAiB,sBAAsB;IACrC,MAAM,SAAS,GAAG;QAChB,kBAAkB;QAClB,iCAAiC;KACzB,CAAC;AAMb,CAAC,EAVgB,sBAAsB,sCAAtB,sBAAsB,QAUtC"}
1
+ {"version":3,"file":"ntt.js","sourceRoot":"","sources":["../../src/ntt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { TrimmedAmount } from "./layouts/amount.js";
2
+ export type EncodedTrimmedAmount = bigint;
3
+ export declare function decodeTrimmedAmount(encoded: EncodedTrimmedAmount): TrimmedAmount;
4
+ export declare function encodeTrimmedAmount(trimmed: TrimmedAmount): EncodedTrimmedAmount;
5
+ export declare function untrim(trimmed: TrimmedAmount, toDecimals: number): bigint;
6
+ export declare function scale(amount: bigint, fromDecimals: number, toDecimals: number): bigint;
7
+ //# sourceMappingURL=trimmedAmount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trimmedAmount.d.ts","sourceRoot":"","sources":["../../src/trimmedAmount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAE1C,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,oBAAoB,GAC5B,aAAa,CAOf;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,aAAa,GACrB,oBAAoB,CAStB;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAGzE;AAED,wBAAgB,KAAK,CACnB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,MAAM,CAUR"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decodeTrimmedAmount = decodeTrimmedAmount;
4
+ exports.encodeTrimmedAmount = encodeTrimmedAmount;
5
+ exports.untrim = untrim;
6
+ exports.scale = scale;
7
+ function decodeTrimmedAmount(encoded) {
8
+ const decimals = Number(encoded & 0xffn);
9
+ const amount = encoded >> 8n;
10
+ return {
11
+ amount,
12
+ decimals,
13
+ };
14
+ }
15
+ function encodeTrimmedAmount(trimmed) {
16
+ const { amount, decimals } = trimmed;
17
+ if (decimals < 0 || decimals > 255) {
18
+ throw new Error("decimals out of range");
19
+ }
20
+ if (amount < 0n || amount >= 1n << 64n) {
21
+ throw new Error("amount out of range");
22
+ }
23
+ return (amount << 8n) | BigInt(decimals);
24
+ }
25
+ function untrim(trimmed, toDecimals) {
26
+ const { amount, decimals: fromDecimals } = trimmed;
27
+ return scale(amount, fromDecimals, toDecimals);
28
+ }
29
+ function scale(amount, fromDecimals, toDecimals) {
30
+ if (fromDecimals == toDecimals) {
31
+ return amount;
32
+ }
33
+ if (fromDecimals > toDecimals) {
34
+ return amount / 10n ** BigInt(fromDecimals - toDecimals);
35
+ }
36
+ else {
37
+ return amount * 10n ** BigInt(toDecimals - fromDecimals);
38
+ }
39
+ }
40
+ //# sourceMappingURL=trimmedAmount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trimmedAmount.js","sourceRoot":"","sources":["../../src/trimmedAmount.ts"],"names":[],"mappings":";;AAIA,kDASC;AAED,kDAWC;AAED,wBAGC;AAED,sBAcC;AA3CD,SAAgB,mBAAmB,CACjC,OAA6B;IAE7B,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,OAAO,IAAI,EAAE,CAAC;IAC7B,OAAO;QACL,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAgB,mBAAmB,CACjC,OAAsB;IAEtB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACrC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,MAAM,GAAG,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,MAAM,CAAC,OAAsB,EAAE,UAAkB;IAC/D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IACnD,OAAO,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AACjD,CAAC;AAED,SAAgB,KAAK,CACnB,MAAc,EACd,YAAoB,EACpB,UAAkB;IAElB,IAAI,YAAY,IAAI,UAAU,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,YAAY,GAAG,UAAU,EAAE,CAAC;QAC9B,OAAO,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,YAAY,GAAG,UAAU,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}