@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.
- package/dist/cjs/axelar.d.ts +35 -0
- package/dist/cjs/axelar.d.ts.map +1 -0
- package/dist/cjs/axelar.js +163 -0
- package/dist/cjs/axelar.js.map +1 -0
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +5 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/layouts/index.d.ts +162 -1
- package/dist/cjs/layouts/index.d.ts.map +1 -1
- package/dist/cjs/layouts/index.js +9 -1
- package/dist/cjs/layouts/index.js.map +1 -1
- package/dist/cjs/layouts/multiToken.d.ts +212 -0
- package/dist/cjs/layouts/multiToken.d.ts.map +1 -0
- package/dist/cjs/layouts/multiToken.js +51 -0
- package/dist/cjs/layouts/multiToken.js.map +1 -0
- package/dist/cjs/layouts/prefix.js.map +1 -1
- package/dist/cjs/multiTokenNtt.d.ts +76 -0
- package/dist/cjs/multiTokenNtt.d.ts.map +1 -0
- package/dist/cjs/multiTokenNtt.js +22 -0
- package/dist/cjs/multiTokenNtt.js.map +1 -0
- package/dist/cjs/multiTokenNttWithExecutor.d.ts +23 -0
- package/dist/cjs/multiTokenNttWithExecutor.d.ts.map +1 -0
- package/dist/cjs/multiTokenNttWithExecutor.js +3 -0
- package/dist/cjs/multiTokenNttWithExecutor.js.map +1 -0
- package/dist/cjs/ntt.d.ts +17 -2
- package/dist/cjs/ntt.d.ts.map +1 -1
- package/dist/cjs/ntt.js +15 -0
- package/dist/cjs/ntt.js.map +1 -1
- package/dist/cjs/trimmedAmount.d.ts +7 -0
- package/dist/cjs/trimmedAmount.d.ts.map +1 -0
- package/dist/cjs/trimmedAmount.js +40 -0
- package/dist/cjs/trimmedAmount.js.map +1 -0
- package/dist/esm/axelar.d.ts +35 -0
- package/dist/esm/axelar.d.ts.map +1 -0
- package/dist/esm/axelar.js +153 -0
- package/dist/esm/axelar.js.map +1 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +6 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layouts/index.d.ts +162 -1
- package/dist/esm/layouts/index.d.ts.map +1 -1
- package/dist/esm/layouts/index.js +8 -0
- package/dist/esm/layouts/index.js.map +1 -1
- package/dist/esm/layouts/multiToken.d.ts +212 -0
- package/dist/esm/layouts/multiToken.d.ts.map +1 -0
- package/dist/esm/layouts/multiToken.js +47 -0
- package/dist/esm/layouts/multiToken.js.map +1 -0
- package/dist/esm/layouts/prefix.js.map +1 -1
- package/dist/esm/multiTokenNtt.d.ts +76 -0
- package/dist/esm/multiTokenNtt.d.ts.map +1 -0
- package/dist/esm/multiTokenNtt.js +19 -0
- package/dist/esm/multiTokenNtt.js.map +1 -0
- package/dist/esm/multiTokenNttWithExecutor.d.ts +23 -0
- package/dist/esm/multiTokenNttWithExecutor.d.ts.map +1 -0
- package/dist/esm/multiTokenNttWithExecutor.js +2 -0
- package/dist/esm/multiTokenNttWithExecutor.js.map +1 -0
- package/dist/esm/ntt.d.ts +17 -2
- package/dist/esm/ntt.d.ts.map +1 -1
- package/dist/esm/ntt.js +15 -0
- package/dist/esm/ntt.js.map +1 -1
- package/dist/esm/trimmedAmount.d.ts +7 -0
- package/dist/esm/trimmedAmount.d.ts.map +1 -0
- package/dist/esm/trimmedAmount.js +34 -0
- package/dist/esm/trimmedAmount.js.map +1 -0
- 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;
|
|
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 @@
|
|
|
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;
|
package/dist/cjs/ntt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ntt.d.ts","sourceRoot":"","sources":["../../src/ntt.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,KAAK,EACV,KAAK,OAAO,
|
|
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) {
|
package/dist/cjs/ntt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ntt.js","sourceRoot":"","sources":["../../src/ntt.ts"],"names":[],"mappings":";;;AAAA,
|
|
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"}
|