@skate-org/amm-core-v2 0.4.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 (48) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +32 -0
  3. package/dist/adapter/index.d.ts +3 -0
  4. package/dist/adapter/index.d.ts.map +1 -0
  5. package/dist/adapter/skate.d.ts +15 -0
  6. package/dist/adapter/skate.d.ts.map +1 -0
  7. package/dist/deployment/aggregated/_type_.d.ts +13 -0
  8. package/dist/deployment/aggregated/_type_.d.ts.map +1 -0
  9. package/dist/deployment/aggregated/dev.d.ts +3 -0
  10. package/dist/deployment/aggregated/dev.d.ts.map +1 -0
  11. package/dist/deployment/aggregated/index.d.ts +6 -0
  12. package/dist/deployment/aggregated/index.d.ts.map +1 -0
  13. package/dist/deployment/aggregated/production.d.ts +3 -0
  14. package/dist/deployment/aggregated/production.d.ts.map +1 -0
  15. package/dist/deployment/aggregated/retrieval.d.ts +26 -0
  16. package/dist/deployment/aggregated/retrieval.d.ts.map +1 -0
  17. package/dist/deployment/aggregated/staging.d.ts +3 -0
  18. package/dist/deployment/aggregated/staging.d.ts.map +1 -0
  19. package/dist/deployment/index.d.ts +4 -0
  20. package/dist/deployment/index.d.ts.map +1 -0
  21. package/dist/deployment/kernel.d.ts +15 -0
  22. package/dist/deployment/kernel.d.ts.map +1 -0
  23. package/dist/deployment/periphery.d.ts +20 -0
  24. package/dist/deployment/periphery.d.ts.map +1 -0
  25. package/dist/errors.d.ts +17 -0
  26. package/dist/errors.d.ts.map +1 -0
  27. package/dist/index.cjs +659 -0
  28. package/dist/index.cjs.map +1 -0
  29. package/dist/index.d.cts +5 -0
  30. package/dist/index.d.ts +5 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +583 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/types/action.d.ts +72 -0
  35. package/dist/types/action.d.ts.map +1 -0
  36. package/dist/types/chain.d.ts +20 -0
  37. package/dist/types/chain.d.ts.map +1 -0
  38. package/dist/types/index.d.ts +6 -0
  39. package/dist/types/index.d.ts.map +1 -0
  40. package/dist/types/mode.d.ts +25 -0
  41. package/dist/types/mode.d.ts.map +1 -0
  42. package/dist/types/pair.d.ts +13 -0
  43. package/dist/types/pair.d.ts.map +1 -0
  44. package/dist/types/vm.d.ts +29 -0
  45. package/dist/types/vm.d.ts.map +1 -0
  46. package/dist/utils/bs58.d.ts +3 -0
  47. package/dist/utils/bs58.d.ts.map +1 -0
  48. package/package.json +36 -0
package/dist/index.cjs ADDED
@@ -0,0 +1,659 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
+ ActionBoxAddress: () => ActionBoxAddress,
24
+ BLOCK_EXPLORER: () => BLOCK_EXPLORER,
25
+ CHAIN: () => CHAIN,
26
+ CHAIN_MAP: () => CHAIN_MAP,
27
+ KERNEL_ACCOUNT_REGISTRY_Dev: () => KERNEL_ACCOUNT_REGISTRY_Dev,
28
+ KERNEL_EVENT_EMITTER_Dev: () => KERNEL_EVENT_EMITTER_Dev,
29
+ KERNEL_EVENT_EMITTER_Prod: () => KERNEL_EVENT_EMITTER_Prod,
30
+ KERNEL_EVENT_EMITTER_Staging: () => KERNEL_EVENT_EMITTER_Staging,
31
+ KERNEL_EXECUTOR_REGISTRY_Dev: () => KERNEL_EXECUTOR_REGISTRY_Dev,
32
+ KERNEL_MANAGER_Dev: () => KERNEL_MANAGER_Dev,
33
+ KERNEL_MANAGER_Prod: () => KERNEL_MANAGER_Prod,
34
+ KERNEL_MANAGER_Staging: () => KERNEL_MANAGER_Staging,
35
+ KERNEL_MESSAGE_BOX_Dev: () => KERNEL_MESSAGE_BOX_Dev,
36
+ KERNEL_POOL_IMPL_Dev: () => KERNEL_POOL_IMPL_Dev,
37
+ KERNEL_POOL_USDC_USDT_Dev: () => KERNEL_POOL_USDC_USDT_Dev,
38
+ KernelEventEmitterAddress: () => KernelEventEmitterAddress,
39
+ KernelManagerAddress: () => KernelManagerAddress,
40
+ PERIPHERY_DEV: () => PERIPHERY_DEV,
41
+ PERIPHERY_PROD: () => PERIPHERY_PROD,
42
+ PERIPHERY_STAGING: () => PERIPHERY_STAGING,
43
+ POOL_INFO_Dev: () => POOL_INFO_Dev,
44
+ POOL_INFO_Production: () => POOL_INFO_Production,
45
+ POOL_INFO_Staging: () => POOL_INFO_Staging,
46
+ PeripheryDeploymentFor: () => PeripheryDeploymentFor,
47
+ PeripheryEventEmitterAddress: () => PeripheryEventEmitterAddress,
48
+ PeripheryManagerAddress: () => PeripheryManagerAddress,
49
+ SdkError: () => SdkError,
50
+ SkateGatewayAddress: () => SkateGatewayAddress,
51
+ TaskPhase: () => TaskPhase,
52
+ VM: () => VM,
53
+ base58ToBytes32: () => base58ToBytes32,
54
+ base58ToHex: () => base58ToHex,
55
+ bufferFromBase58: () => bufferFromBase58,
56
+ bytes32HexRegex: () => bytes32HexRegex,
57
+ bytes32ToBase58: () => bytes32ToBase58,
58
+ bytes32ToEvmAddress: () => bytes32ToEvmAddress,
59
+ evmAddressToBytes32: () => evmAddressToBytes32,
60
+ fromBytes32Address: () => fromBytes32Address,
61
+ getAllPoolInfo: () => getAllPoolInfo,
62
+ getAllPoolKeys: () => getAllPoolKeys,
63
+ getBlockExplorer: () => getBlockExplorer,
64
+ getOtherTokensInPairs: () => getOtherTokensInPairs,
65
+ getPeripheryDetailsByKernelPoolAndChainId: () => getPeripheryDetailsByKernelPoolAndChainId,
66
+ getPoolInfoByKey: () => getPoolInfoByKey,
67
+ getSupportedChains: () => getSupportedChains,
68
+ getSupportedPairs: () => getSupportedPairs,
69
+ getSupportedTokens: () => getSupportedTokens,
70
+ hexToBase58: () => hexToBase58,
71
+ isHexString: () => isHexString,
72
+ isHexStringLoose: () => isHexStringLoose,
73
+ kernelPoolToPoolKey: () => kernelPoolToPoolKey,
74
+ normalizeMode: () => normalizeMode,
75
+ skateAdapter: () => skate_exports,
76
+ toBase58: () => toBase58,
77
+ toBytes32Address: () => toBytes32Address,
78
+ vmTypeFromChain: () => vmTypeFromChain
79
+ });
80
+ module.exports = __toCommonJS(index_exports);
81
+
82
+ // src/types/chain.ts
83
+ var CHAIN = /* @__PURE__ */ ((CHAIN2) => {
84
+ CHAIN2[CHAIN2["SKATE"] = 5050] = "SKATE";
85
+ CHAIN2[CHAIN2["SOLANA"] = 901] = "SOLANA";
86
+ CHAIN2[CHAIN2["ECLIPSE"] = 902] = "ECLIPSE";
87
+ CHAIN2[CHAIN2["SUI"] = 1001] = "SUI";
88
+ CHAIN2[CHAIN2["BASE"] = 8453] = "BASE";
89
+ CHAIN2[CHAIN2["ARBITRUM"] = 42161] = "ARBITRUM";
90
+ CHAIN2[CHAIN2["BSC"] = 56] = "BSC";
91
+ CHAIN2[CHAIN2["MANTLE"] = 5e3] = "MANTLE";
92
+ CHAIN2[CHAIN2["OPTIMISM"] = 10] = "OPTIMISM";
93
+ CHAIN2[CHAIN2["ETHEREUM"] = 1] = "ETHEREUM";
94
+ CHAIN2[CHAIN2["HYPERLIQUID"] = 999] = "HYPERLIQUID";
95
+ CHAIN2[CHAIN2["PLUME"] = 98866] = "PLUME";
96
+ CHAIN2[CHAIN2["ZG"] = 16661] = "ZG";
97
+ CHAIN2[CHAIN2["MONAD"] = 143] = "MONAD";
98
+ CHAIN2[CHAIN2["MEGAETH"] = 4326] = "MEGAETH";
99
+ CHAIN2[CHAIN2["TEMPO"] = 4217] = "TEMPO";
100
+ return CHAIN2;
101
+ })(CHAIN || {});
102
+ var CHAIN_MAP = Object.entries(CHAIN).filter(([, value]) => typeof value === "number").reduce(
103
+ (map, [key, value]) => {
104
+ map[key] = value;
105
+ return map;
106
+ },
107
+ {}
108
+ );
109
+
110
+ // src/types/vm.ts
111
+ var VM = /* @__PURE__ */ ((VM2) => {
112
+ VM2[VM2["EVM"] = 1] = "EVM";
113
+ VM2[VM2["TVM"] = 2] = "TVM";
114
+ VM2[VM2["SVM"] = 3] = "SVM";
115
+ VM2[VM2["SuiVM"] = 4] = "SuiVM";
116
+ return VM2;
117
+ })(VM || {});
118
+ var BLOCK_EXPLORER = /* @__PURE__ */ ((BLOCK_EXPLORER2) => {
119
+ BLOCK_EXPLORER2["SKATE"] = "https://scan.skatechain.org";
120
+ BLOCK_EXPLORER2["ECLIPSE"] = "https://eclipsescan.xyz";
121
+ BLOCK_EXPLORER2["SOLANA"] = "https://solscan.io";
122
+ BLOCK_EXPLORER2["SUI"] = "https://suiscan.xyz/mainnet";
123
+ BLOCK_EXPLORER2["BASE"] = "https://basescan.org";
124
+ BLOCK_EXPLORER2["ARBITRUM"] = "https://arbiscan.io";
125
+ BLOCK_EXPLORER2["MANTLE"] = "https://mantlescan.xyz";
126
+ BLOCK_EXPLORER2["OPTIMISM"] = "https://optimistic.etherscan.io";
127
+ BLOCK_EXPLORER2["ETHEREUM"] = "https://etherscan.io";
128
+ BLOCK_EXPLORER2["BSC"] = "https://bscscan.com";
129
+ BLOCK_EXPLORER2["HYPERLIQUID"] = "https://hyperscan.com";
130
+ BLOCK_EXPLORER2["PLUME"] = "https://explorer.plume.org";
131
+ BLOCK_EXPLORER2["ZG"] = "https://chainscan.0g.ai";
132
+ BLOCK_EXPLORER2["MONAD"] = "https://monadvision.com";
133
+ BLOCK_EXPLORER2["MEGAETH"] = "https://megaeth.blockscout.com";
134
+ BLOCK_EXPLORER2["TEMPO"] = "https://explore.tempo.xyz";
135
+ return BLOCK_EXPLORER2;
136
+ })(BLOCK_EXPLORER || {});
137
+ function getBlockExplorer(chain) {
138
+ switch (chain) {
139
+ case 5050 /* SKATE */:
140
+ return "https://scan.skatechain.org" /* SKATE */;
141
+ case 901 /* SOLANA */:
142
+ return "https://solscan.io" /* SOLANA */;
143
+ case 902 /* ECLIPSE */:
144
+ return "https://eclipsescan.xyz" /* ECLIPSE */;
145
+ case 1001 /* SUI */:
146
+ return "https://suiscan.xyz/mainnet" /* SUI */;
147
+ case 8453 /* BASE */:
148
+ return "https://basescan.org" /* BASE */;
149
+ case 42161 /* ARBITRUM */:
150
+ return "https://arbiscan.io" /* ARBITRUM */;
151
+ case 5e3 /* MANTLE */:
152
+ return "https://mantlescan.xyz" /* MANTLE */;
153
+ case 10 /* OPTIMISM */:
154
+ return "https://optimistic.etherscan.io" /* OPTIMISM */;
155
+ case 1 /* ETHEREUM */:
156
+ return "https://etherscan.io" /* ETHEREUM */;
157
+ case 56 /* BSC */:
158
+ return "https://bscscan.com" /* BSC */;
159
+ case 999 /* HYPERLIQUID */:
160
+ return "https://hyperscan.com" /* HYPERLIQUID */;
161
+ case 98866 /* PLUME */:
162
+ return "https://explorer.plume.org" /* PLUME */;
163
+ case 16661 /* ZG */:
164
+ return "https://chainscan.0g.ai" /* ZG */;
165
+ case 143 /* MONAD */:
166
+ return "https://monadvision.com" /* MONAD */;
167
+ case 4326 /* MEGAETH */:
168
+ return "https://megaeth.blockscout.com" /* MEGAETH */;
169
+ case 4217 /* TEMPO */:
170
+ return "https://explore.tempo.xyz" /* TEMPO */;
171
+ default:
172
+ return null;
173
+ }
174
+ }
175
+ function vmTypeFromChain(chainId) {
176
+ switch (chainId) {
177
+ case 5050 /* SKATE */:
178
+ case 8453 /* BASE */:
179
+ case 42161 /* ARBITRUM */:
180
+ case 5e3 /* MANTLE */:
181
+ case 10 /* OPTIMISM */:
182
+ case 1 /* ETHEREUM */:
183
+ case 56 /* BSC */:
184
+ case 999 /* HYPERLIQUID */:
185
+ case 98866 /* PLUME */:
186
+ case 16661 /* ZG */:
187
+ case 143 /* MONAD */:
188
+ case 4326 /* MEGAETH */:
189
+ case 4217 /* TEMPO */:
190
+ return 1 /* EVM */;
191
+ case 901 /* SOLANA */:
192
+ case 902 /* ECLIPSE */:
193
+ return 3 /* SVM */;
194
+ case 1001 /* SUI */:
195
+ return 4 /* SuiVM */;
196
+ default:
197
+ return null;
198
+ }
199
+ }
200
+
201
+ // src/types/mode.ts
202
+ function normalizeMode(mode) {
203
+ if (typeof mode === "string") return { mode };
204
+ return { mode: mode.mode, config: mode.config };
205
+ }
206
+
207
+ // src/types/action.ts
208
+ var TaskPhase = /* @__PURE__ */ ((TaskPhase2) => {
209
+ TaskPhase2["INDEX_ACTION"] = "INDEX_ACTION";
210
+ TaskPhase2["SETTLE_KERNEL"] = "SETTLE_KERNEL";
211
+ TaskPhase2["SUBMIT_EXECUTION"] = "SUBMIT_EXECUTION";
212
+ TaskPhase2["SETTLE_GATEWAY"] = "SETTLE_GATEWAY";
213
+ TaskPhase2["SETTLE_REFUND"] = "SETTLE_REFUND";
214
+ return TaskPhase2;
215
+ })(TaskPhase || {});
216
+
217
+ // src/deployment/kernel.ts
218
+ var KERNEL_EXECUTOR_REGISTRY_Dev = "0x45F5e211B2CAeA14d5E5cB028923F8A5D7b1ab5d";
219
+ var KERNEL_MESSAGE_BOX_Dev = "0xe3aC86bF5D9Ab5d9705b5e9187437e978397528B";
220
+ var KERNEL_ACCOUNT_REGISTRY_Dev = "0xeD9e139CAcb439744277be5D7fbEe5aAF4DB8fA2";
221
+ var KERNEL_MANAGER_Dev = "0x17B7207837e8884f7f687f1f4057751BDAf70a01";
222
+ var KERNEL_EVENT_EMITTER_Dev = "0x8989b3ecb65f250ab7A0DC03589B0Cc8b8b04b81";
223
+ var KERNEL_POOL_IMPL_Dev = "0x9BffA944Df7914621A7Cc638C9104C106c5C6846";
224
+ var KERNEL_POOL_USDC_USDT_Dev = "0x2c23334eE3b030e6bacEDEDf7C511eEA08Cf7E7e";
225
+ var KERNEL_MANAGER_Staging = "0xB32841DD65316F672eb07c63508f4b6841b6Aee4";
226
+ var KERNEL_EVENT_EMITTER_Staging = "0x8f16B23A11378bE8573470e23f626b9a7e41B389";
227
+ var KERNEL_MANAGER_Prod = "0x46887a1f9885300f4185499Ba48C248445EEcAb1";
228
+ var KERNEL_EVENT_EMITTER_Prod = "0xC8615dcE472fD684D0FDcEC18013EaB402F61ba7";
229
+ function KernelManagerAddress(mode = "PRODUCTION") {
230
+ switch (mode) {
231
+ case "PRODUCTION":
232
+ return KERNEL_MANAGER_Prod;
233
+ case "STAGING":
234
+ return KERNEL_MANAGER_Staging;
235
+ case "DEV":
236
+ return KERNEL_MANAGER_Dev;
237
+ }
238
+ }
239
+ function KernelEventEmitterAddress(mode = "PRODUCTION") {
240
+ switch (mode) {
241
+ case "PRODUCTION":
242
+ return KERNEL_EVENT_EMITTER_Prod;
243
+ case "STAGING":
244
+ return KERNEL_EVENT_EMITTER_Staging;
245
+ case "DEV":
246
+ return KERNEL_EVENT_EMITTER_Dev;
247
+ }
248
+ }
249
+
250
+ // src/deployment/periphery.ts
251
+ var PERIPHERY_DEV = {
252
+ [42161 /* ARBITRUM */]: {
253
+ multicall: "0x3dCD7A136F0A49f3EFcC5E215793Fa1ce5c400Bf",
254
+ executorRegistry: "0xE84a60d66543ef8E2E162f66a7669692b01Ee145",
255
+ actionBox: "0x4309d3aE98c8A751fAc34C91536Ee860d9B8DcE1",
256
+ skateGateway: "0x63Ca920425f683138B9407171b51b8172421Ba50",
257
+ peripheryManager: "0x1120d6B34c4EB0CD49200aE9fBD2e4fb002d949f",
258
+ peripheryManagerImpl: "0x26F01bc73cB7422DB67BBDfAcd9C987Ae66bF3D3",
259
+ eventEmitter: "0xB301150AFA170816Ae18EC21e2A830Ddc7bBA1De",
260
+ peripheryPoolImpl: "0x803ed7fa8934D4fe51A276cA02506b585cdb3eb4"
261
+ }
262
+ };
263
+ var PERIPHERY_STAGING = {};
264
+ var PERIPHERY_PROD = {};
265
+ function PeripheryDeploymentFor(chain, mode = "PRODUCTION") {
266
+ const table = mode === "DEV" ? PERIPHERY_DEV : mode === "STAGING" ? PERIPHERY_STAGING : PERIPHERY_PROD;
267
+ return table[chain] ?? null;
268
+ }
269
+ function PeripheryManagerAddress(chain, mode = "PRODUCTION") {
270
+ return PeripheryDeploymentFor(chain, mode)?.peripheryManager ?? null;
271
+ }
272
+ function PeripheryEventEmitterAddress(chain, mode = "PRODUCTION") {
273
+ return PeripheryDeploymentFor(chain, mode)?.eventEmitter ?? null;
274
+ }
275
+ function SkateGatewayAddress(chain, mode = "PRODUCTION") {
276
+ return PeripheryDeploymentFor(chain, mode)?.skateGateway ?? null;
277
+ }
278
+ function ActionBoxAddress(chain, mode = "PRODUCTION") {
279
+ return PeripheryDeploymentFor(chain, mode)?.actionBox ?? null;
280
+ }
281
+
282
+ // src/deployment/aggregated/dev.ts
283
+ var POOL_INFO_Dev = {
284
+ USDC_USDT: {
285
+ kernelPool: KERNEL_POOL_USDC_USDT_Dev,
286
+ token0: "USDC",
287
+ token1: "USDT",
288
+ feeBps: 1,
289
+ peripheryInfo: {
290
+ [42161 /* ARBITRUM */]: {
291
+ token0: {
292
+ address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
293
+ symbol: "USDC",
294
+ isNative: false,
295
+ decimal: 6,
296
+ chainId: 42161 /* ARBITRUM */
297
+ },
298
+ token1: {
299
+ address: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",
300
+ symbol: "USDT",
301
+ isNative: false,
302
+ decimal: 6,
303
+ chainId: 42161 /* ARBITRUM */
304
+ },
305
+ address: "0x0433CCB013a590eA4231aAC9ddf05bb753c14127",
306
+ chain: "ARBITRUM"
307
+ }
308
+ }
309
+ }
310
+ };
311
+
312
+ // src/deployment/aggregated/staging.ts
313
+ var POOL_INFO_Staging = {};
314
+
315
+ // src/deployment/aggregated/production.ts
316
+ var POOL_INFO_Production = {};
317
+
318
+ // src/deployment/aggregated/retrieval.ts
319
+ function getAllPoolInfo(mode = "PRODUCTION") {
320
+ switch (mode) {
321
+ case "PRODUCTION":
322
+ return POOL_INFO_Production;
323
+ case "STAGING":
324
+ return POOL_INFO_Staging;
325
+ case "DEV":
326
+ return POOL_INFO_Dev;
327
+ }
328
+ }
329
+ function getAllPoolKeys(mode = "PRODUCTION") {
330
+ return Object.keys(getAllPoolInfo(mode));
331
+ }
332
+ function getPoolInfoByKey(key, mode = "PRODUCTION") {
333
+ return getAllPoolInfo(mode)[key] ?? null;
334
+ }
335
+ function getSupportedChains(mode = "PRODUCTION") {
336
+ const poolInfo = getAllPoolInfo(mode);
337
+ const supportedChains = /* @__PURE__ */ new Set();
338
+ for (const poolData of Object.values(poolInfo)) {
339
+ for (const chainId of Object.keys(poolData.peripheryInfo)) {
340
+ supportedChains.add(Number(chainId));
341
+ }
342
+ }
343
+ return Array.from(supportedChains).sort((a, b) => a - b);
344
+ }
345
+ function getSupportedPairs(chainId, mode = "PRODUCTION") {
346
+ const poolInfo = getAllPoolInfo(mode);
347
+ const supportedPairs = [];
348
+ for (const [poolKey, poolData] of Object.entries(poolInfo)) {
349
+ const peripheryData = poolData.peripheryInfo[chainId];
350
+ if (peripheryData) {
351
+ supportedPairs.push({
352
+ token0: peripheryData.token0,
353
+ token1: peripheryData.token1,
354
+ poolKey
355
+ });
356
+ }
357
+ }
358
+ return supportedPairs;
359
+ }
360
+ function getSupportedTokens(chainId, mode = "PRODUCTION") {
361
+ const supportedPairs = getSupportedPairs(chainId, mode);
362
+ const tokens = [];
363
+ const seen = /* @__PURE__ */ new Set();
364
+ for (const { token0, token1 } of supportedPairs) {
365
+ for (const t of [token0, token1]) {
366
+ const key = t.address.toLowerCase();
367
+ if (!seen.has(key)) {
368
+ seen.add(key);
369
+ tokens.push(t);
370
+ }
371
+ }
372
+ }
373
+ return tokens;
374
+ }
375
+ function getOtherTokensInPairs(chainId, tokenAddress, mode = "PRODUCTION") {
376
+ const supportedPairs = getSupportedPairs(chainId, mode);
377
+ const result = [];
378
+ const seen = /* @__PURE__ */ new Set();
379
+ const needle = tokenAddress.toLowerCase();
380
+ for (const { token0, token1 } of supportedPairs) {
381
+ let other = null;
382
+ if (token0.address.toLowerCase() === needle) other = token1;
383
+ else if (token1.address.toLowerCase() === needle) other = token0;
384
+ if (other && !seen.has(other.address.toLowerCase())) {
385
+ seen.add(other.address.toLowerCase());
386
+ result.push(other);
387
+ }
388
+ }
389
+ return result;
390
+ }
391
+ function kernelPoolToPoolKey(kernelPool, mode = "PRODUCTION") {
392
+ const info = getAllPoolInfo(mode);
393
+ const lower = kernelPool.toLowerCase();
394
+ for (const [key, poolData] of Object.entries(info)) {
395
+ if (poolData.kernelPool.toLowerCase() === lower) return key;
396
+ }
397
+ throw new Error(`${mode} kernelPoolToPoolKey()::Unknown kernelPool ${kernelPool}`);
398
+ }
399
+ function getPeripheryDetailsByKernelPoolAndChainId(kernelPool, chainId, mode = "PRODUCTION") {
400
+ const poolKey = kernelPoolToPoolKey(kernelPool, mode);
401
+ const info = getAllPoolInfo(mode);
402
+ return info[poolKey]?.peripheryInfo[chainId] ?? null;
403
+ }
404
+
405
+ // src/adapter/skate.ts
406
+ var skate_exports = {};
407
+ __export(skate_exports, {
408
+ base58ToBytes32: () => base58ToBytes32,
409
+ base58ToHex: () => base58ToHex,
410
+ bufferFromBase58: () => bufferFromBase58,
411
+ bytes32HexRegex: () => bytes32HexRegex,
412
+ bytes32ToBase58: () => bytes32ToBase58,
413
+ bytes32ToEvmAddress: () => bytes32ToEvmAddress,
414
+ evmAddressToBytes32: () => evmAddressToBytes32,
415
+ fromBytes32Address: () => fromBytes32Address,
416
+ hexToBase58: () => hexToBase58,
417
+ isHexString: () => isHexString,
418
+ isHexStringLoose: () => isHexStringLoose,
419
+ toBase58: () => toBase58,
420
+ toBytes32Address: () => toBytes32Address
421
+ });
422
+
423
+ // src/utils/bs58.ts
424
+ var BASE58_ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
425
+ function base(ALPHABET) {
426
+ if (ALPHABET.length >= 255) throw new TypeError("Alphabet too long");
427
+ const BASE_MAP = new Uint8Array(256).fill(255);
428
+ for (let i = 0; i < ALPHABET.length; i++) {
429
+ const xc = ALPHABET.charCodeAt(i);
430
+ if (BASE_MAP[xc] !== 255) throw new TypeError(ALPHABET.charAt(i) + " is ambiguous");
431
+ BASE_MAP[xc] = i;
432
+ }
433
+ const BASE = ALPHABET.length;
434
+ const LEADER = ALPHABET.charAt(0);
435
+ const FACTOR = Math.log(BASE) / Math.log(256);
436
+ const iFACTOR = Math.log(256) / Math.log(BASE);
437
+ function encode(source) {
438
+ if (source instanceof Uint8Array) {
439
+ } else if (ArrayBuffer.isView(source)) {
440
+ source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);
441
+ } else if (Array.isArray(source)) {
442
+ source = Uint8Array.from(source);
443
+ }
444
+ if (!(source instanceof Uint8Array)) throw new TypeError("Expected Uint8Array");
445
+ if (source.length === 0) return "";
446
+ let zeroes = 0;
447
+ let length = 0;
448
+ let pbegin = 0;
449
+ const pend = source.length;
450
+ while (pbegin !== pend && source[pbegin] === 0) {
451
+ pbegin++;
452
+ zeroes++;
453
+ }
454
+ const size = (pend - pbegin) * iFACTOR + 1 >>> 0;
455
+ const b58 = new Uint8Array(size);
456
+ while (pbegin !== pend) {
457
+ let carry = source[pbegin];
458
+ let i = 0;
459
+ for (let it1 = size - 1; (carry !== 0 || i < length) && it1 !== -1; it1--, i++) {
460
+ carry += 256 * b58[it1] >>> 0;
461
+ b58[it1] = carry % BASE >>> 0;
462
+ carry = carry / BASE >>> 0;
463
+ }
464
+ if (carry !== 0) throw new Error("Non-zero carry");
465
+ length = i;
466
+ pbegin++;
467
+ }
468
+ let it2 = size - length;
469
+ while (it2 !== size && b58[it2] === 0) it2++;
470
+ let str = LEADER.repeat(zeroes);
471
+ for (; it2 < size; ++it2) str += ALPHABET.charAt(b58[it2]);
472
+ return str;
473
+ }
474
+ function decodeUnsafe(source) {
475
+ if (typeof source !== "string") throw new TypeError("Expected String");
476
+ if (source.length === 0) return new Uint8Array();
477
+ let psz = 0;
478
+ let zeroes = 0;
479
+ let length = 0;
480
+ while (source[psz] === LEADER) {
481
+ zeroes++;
482
+ psz++;
483
+ }
484
+ const size = (source.length - psz) * FACTOR + 1 >>> 0;
485
+ const b256 = new Uint8Array(size);
486
+ while (psz < source.length) {
487
+ const charCode = source.charCodeAt(psz);
488
+ if (charCode > 255) return;
489
+ let carry = BASE_MAP[charCode];
490
+ if (carry === 255) return;
491
+ let i = 0;
492
+ for (let it3 = size - 1; (carry !== 0 || i < length) && it3 !== -1; it3--, i++) {
493
+ carry += BASE * b256[it3] >>> 0;
494
+ b256[it3] = carry % 256 >>> 0;
495
+ carry = carry / 256 >>> 0;
496
+ }
497
+ if (carry !== 0) throw new Error("Non-zero carry");
498
+ length = i;
499
+ psz++;
500
+ }
501
+ let it4 = size - length;
502
+ while (it4 !== size && b256[it4] === 0) it4++;
503
+ const vch = new Uint8Array(zeroes + (size - it4));
504
+ let j = zeroes;
505
+ while (it4 !== size) vch[j++] = b256[it4++];
506
+ return vch;
507
+ }
508
+ function decode(source) {
509
+ const buffer = decodeUnsafe(source);
510
+ if (buffer) return buffer;
511
+ throw new Error("Non-base" + BASE + " character");
512
+ }
513
+ return { encode, decode, decodeUnsafe };
514
+ }
515
+ var codec = base(BASE58_ALPHABET);
516
+ var bs58Encode = codec.encode;
517
+ var bs58Decode = codec.decode;
518
+
519
+ // src/adapter/skate.ts
520
+ function base58ToBytes32(base58Str) {
521
+ const decoded = bs58Decode(base58Str);
522
+ const addressBytes = new Uint8Array(32);
523
+ const startPos = Math.max(0, 32 - decoded.length);
524
+ addressBytes.set(decoded.slice(-32), startPos);
525
+ return "0x" + Buffer.from(addressBytes).toString("hex").toLowerCase();
526
+ }
527
+ function base58ToHex(base58Str) {
528
+ const decoded = bs58Decode(base58Str);
529
+ return `0x${Buffer.from(decoded).toString("hex").toLowerCase()}`;
530
+ }
531
+ function hexToBase58(hexString) {
532
+ return bs58Encode(Buffer.from(hexString.slice(2), "hex"));
533
+ }
534
+ function bytes32ToBase58(hexStr) {
535
+ const hexWithoutPrefix = hexStr.startsWith("0x") ? hexStr.slice(2) : hexStr;
536
+ const addressBytes = Buffer.from(hexWithoutPrefix, "hex");
537
+ const firstNonZero = addressBytes.findIndex((byte) => byte !== 0);
538
+ const trimmed = firstNonZero < 0 ? addressBytes : addressBytes.subarray(firstNonZero);
539
+ return bs58Encode(trimmed);
540
+ }
541
+ var bytes32HexRegex = /^(?:0x)?[0-9a-fA-F]{64}$/;
542
+ function isHexString(str) {
543
+ return typeof str === "string" && /^0x[0-9a-fA-F]+$/.test(str);
544
+ }
545
+ function isHexStringLoose(str) {
546
+ return typeof str === "string" && /^(?:0x)?[0-9a-fA-F]+$/.test(str);
547
+ }
548
+ function evmAddressToBytes32(address) {
549
+ if (!address.startsWith("0x") && !address.startsWith("0X")) {
550
+ throw new TypeError(`evmAddressToBytes32: expected 0x-prefixed address, got "${address}"`);
551
+ }
552
+ return `0x${BigInt(address).toString(16).padStart(64, "0")}`.toLowerCase();
553
+ }
554
+ function bytes32ToEvmAddress(bytes32) {
555
+ const userBigInt = BigInt(bytes32);
556
+ const addressBigInt = userBigInt & BigInt("0xffffffffffffffffffffffffffffffffffffffff");
557
+ return `0x${addressBigInt.toString(16).padStart(40, "0")}`.toLowerCase();
558
+ }
559
+ function toBase58(buffer) {
560
+ return bs58Encode(buffer);
561
+ }
562
+ function bufferFromBase58(base58String) {
563
+ return Buffer.from(bs58Decode(base58String));
564
+ }
565
+ function toBytes32Address(rawAddress, vmType) {
566
+ switch (vmType) {
567
+ case 1 /* EVM */:
568
+ return evmAddressToBytes32(rawAddress);
569
+ case 3 /* SVM */:
570
+ return base58ToBytes32(rawAddress);
571
+ case 4 /* SuiVM */:
572
+ if (!bytes32HexRegex.test(rawAddress)) {
573
+ throw new TypeError(`toBytes32Address(SuiVM): expected 64-hex-char address, got "${rawAddress}"`);
574
+ }
575
+ return rawAddress;
576
+ default:
577
+ throw new Error(`toBytes32Address():Unsupported vmType=${vmType}`);
578
+ }
579
+ }
580
+ function fromBytes32Address(bytes32Address, vmType) {
581
+ switch (vmType) {
582
+ case 1 /* EVM */:
583
+ return bytes32ToEvmAddress(bytes32Address);
584
+ case 3 /* SVM */:
585
+ return bytes32ToBase58(bytes32Address);
586
+ case 4 /* SuiVM */:
587
+ return bytes32Address;
588
+ default:
589
+ throw new Error(`fromBytes32Address():Unsupported vmType=${vmType}`);
590
+ }
591
+ }
592
+
593
+ // src/errors.ts
594
+ var SdkError = class extends Error {
595
+ name = "SdkError";
596
+ constructor(message, options) {
597
+ super(message, options);
598
+ }
599
+ };
600
+ // Annotate the CommonJS export names for ESM import in node:
601
+ 0 && (module.exports = {
602
+ ActionBoxAddress,
603
+ BLOCK_EXPLORER,
604
+ CHAIN,
605
+ CHAIN_MAP,
606
+ KERNEL_ACCOUNT_REGISTRY_Dev,
607
+ KERNEL_EVENT_EMITTER_Dev,
608
+ KERNEL_EVENT_EMITTER_Prod,
609
+ KERNEL_EVENT_EMITTER_Staging,
610
+ KERNEL_EXECUTOR_REGISTRY_Dev,
611
+ KERNEL_MANAGER_Dev,
612
+ KERNEL_MANAGER_Prod,
613
+ KERNEL_MANAGER_Staging,
614
+ KERNEL_MESSAGE_BOX_Dev,
615
+ KERNEL_POOL_IMPL_Dev,
616
+ KERNEL_POOL_USDC_USDT_Dev,
617
+ KernelEventEmitterAddress,
618
+ KernelManagerAddress,
619
+ PERIPHERY_DEV,
620
+ PERIPHERY_PROD,
621
+ PERIPHERY_STAGING,
622
+ POOL_INFO_Dev,
623
+ POOL_INFO_Production,
624
+ POOL_INFO_Staging,
625
+ PeripheryDeploymentFor,
626
+ PeripheryEventEmitterAddress,
627
+ PeripheryManagerAddress,
628
+ SdkError,
629
+ SkateGatewayAddress,
630
+ TaskPhase,
631
+ VM,
632
+ base58ToBytes32,
633
+ base58ToHex,
634
+ bufferFromBase58,
635
+ bytes32HexRegex,
636
+ bytes32ToBase58,
637
+ bytes32ToEvmAddress,
638
+ evmAddressToBytes32,
639
+ fromBytes32Address,
640
+ getAllPoolInfo,
641
+ getAllPoolKeys,
642
+ getBlockExplorer,
643
+ getOtherTokensInPairs,
644
+ getPeripheryDetailsByKernelPoolAndChainId,
645
+ getPoolInfoByKey,
646
+ getSupportedChains,
647
+ getSupportedPairs,
648
+ getSupportedTokens,
649
+ hexToBase58,
650
+ isHexString,
651
+ isHexStringLoose,
652
+ kernelPoolToPoolKey,
653
+ normalizeMode,
654
+ skateAdapter,
655
+ toBase58,
656
+ toBytes32Address,
657
+ vmTypeFromChain
658
+ });
659
+ //# sourceMappingURL=index.cjs.map