@townsq/mm-sdk 2.8.2-test.0 → 2.8.3-test.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/dist/chains/evm/common/constant/chain.d.ts +76 -0
  2. package/dist/chains/evm/common/constant/chain.js +5 -0
  3. package/dist/chains/evm/common/constant/chain.js.map +1 -1
  4. package/dist/chains/evm/common/constant/contract.d.ts +1 -0
  5. package/dist/chains/evm/common/constant/contract.js +3 -0
  6. package/dist/chains/evm/common/constant/contract.js.map +1 -1
  7. package/dist/chains/evm/common/constant/tokens.js +12 -0
  8. package/dist/chains/evm/common/constant/tokens.js.map +1 -1
  9. package/dist/chains/evm/hub/constants/chain.js +24 -0
  10. package/dist/chains/evm/hub/constants/chain.js.map +1 -1
  11. package/dist/common/constants/adapter.d.ts +1 -1
  12. package/dist/common/constants/chain.d.ts +2 -0
  13. package/dist/common/constants/chain.js +41 -0
  14. package/dist/common/constants/chain.js.map +1 -1
  15. package/dist/common/constants/gmp.d.ts +1 -1
  16. package/dist/common/constants/gmp.js.map +1 -1
  17. package/dist/common/constants/pool.d.ts +2 -0
  18. package/dist/common/constants/pool.js +2 -0
  19. package/dist/common/constants/pool.js.map +1 -1
  20. package/dist/common/types/message.d.ts +2 -1
  21. package/dist/common/types/message.js +1 -0
  22. package/dist/common/types/message.js.map +1 -1
  23. package/dist/common/types/token.d.ts +2 -0
  24. package/dist/common/types/token.js +2 -0
  25. package/dist/common/types/token.js.map +1 -1
  26. package/dist/common/utils/adapter.js +17 -9
  27. package/dist/common/utils/adapter.js.map +1 -1
  28. package/dist/common/utils/chain.js.map +1 -1
  29. package/dist/common/utils/gmp.js +4 -1
  30. package/dist/common/utils/gmp.js.map +1 -1
  31. package/dist/common/utils/messages.js +4 -1
  32. package/dist/common/utils/messages.js.map +1 -1
  33. package/dist/lifeline/modules/ts-loan.js.map +1 -1
  34. package/package.json +1 -1
  35. package/src/chains/evm/common/constant/chain.ts +4 -0
  36. package/src/chains/evm/common/constant/contract.ts +3 -0
  37. package/src/chains/evm/common/constant/tokens.ts +12 -0
  38. package/src/chains/evm/hub/constants/chain.ts +33 -0
  39. package/src/common/constants/chain.ts +68 -0
  40. package/src/common/constants/gmp.ts +1 -1
  41. package/src/common/constants/pool.ts +2 -0
  42. package/src/common/types/message.ts +1 -0
  43. package/src/common/types/token.ts +2 -0
  44. package/src/common/utils/adapter.ts +14 -15
  45. package/src/common/utils/chain.ts +19 -22
  46. package/src/common/utils/gmp.ts +4 -1
  47. package/src/common/utils/messages.ts +7 -1
  48. package/src/lifeline/modules/ts-loan.ts +1 -0
@@ -1,5 +1,8 @@
1
1
  import { WORMHOLE_DATA } from '../constants/gmp.js';
2
2
  export function getWormholeData(tsChainId) {
3
- return WORMHOLE_DATA[tsChainId];
3
+ const wormholeData = WORMHOLE_DATA[tsChainId];
4
+ if (!wormholeData)
5
+ throw new Error(`No wormhole data configured for chain ${tsChainId}`);
6
+ return wormholeData;
4
7
  }
5
8
  //# sourceMappingURL=gmp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gmp.js","sourceRoot":"","sources":["../../../src/common/utils/gmp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKpD,MAAM,UAAU,eAAe,CAAC,SAAoB;IAClD,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"gmp.js","sourceRoot":"","sources":["../../../src/common/utils/gmp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKpD,MAAM,UAAU,eAAe,CAAC,SAAoB;IAClD,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,YAAY;QACf,MAAM,IAAI,KAAK,CAAC,yCAAyC,SAAS,EAAE,CAAC,CAAC;IACxE,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { hexToNumber, parseEventLogs, sliceHex, } from 'viem';
2
2
  import { getTransactionReceipt } from 'viem/actions';
3
3
  import { WormholeDataAdapterAbi } from '../../chains/evm/common/constant/abi/wormhole-data-adapter-abi.js';
4
- import { GAS_LIMIT_ESTIMATE_INCREASE } from '../../chains/evm/common/constant/contract.js';
4
+ import { CCIP_RECEIVE_GAS_LIMIT, GAS_LIMIT_ESTIMATE_INCREASE, } from '../../chains/evm/common/constant/contract.js';
5
5
  import { buildEvmMessageToSend, estimateEvmWormholeDataGasLimit, getSendTokenStateOverride, } from '../../chains/evm/common/utils/message.js';
6
6
  import { getHubChainAdapterAddress } from '../../chains/evm/hub/utils/chain.js';
7
7
  import { exhaustiveCheck } from '../../utils/exhaustive-check.js';
@@ -53,6 +53,9 @@ export async function estimateAdapterReceiveGasLimit(sourceTSChainId, destTSChai
53
53
  case AdapterType.HUB: {
54
54
  return 500000n;
55
55
  }
56
+ case AdapterType.CCIP: {
57
+ return CCIP_RECEIVE_GAS_LIMIT;
58
+ }
56
59
  case AdapterType.WORMHOLE_DATA: {
57
60
  const sourceWormholeChainId = getWormholeData(sourceTSChainId).wormholeChainId;
58
61
  const wormholeRelayer = convertFromGenericAddress(getWormholeData(destTSChainId).wormholeRelayer, ChainType.EVM);
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/common/utils/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/common/utils/messages.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ts-loan.js","sourceRoot":"","sources":["../../../src/lifeline/modules/ts-loan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ts-loan.js","sourceRoot":"","sources":["../../../src/lifeline/modules/ts-loan.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@townsq/mm-sdk",
3
- "version": "2.8.2-test.0",
3
+ "version": "2.8.3-test.0",
4
4
  "description": "TownSquare Money Market SDK for interacting with lending, borrowing, and liquidation logic.",
5
5
  "author": "TownSq",
6
6
  "license": "MIT",
@@ -55,6 +55,7 @@ export const EVM_CHAIN_NAMES = [
55
55
 
56
56
  export const MAINNET_EVM_CHAIN_ID = {
57
57
  MONAD: monadMainnet.id,
58
+ BSC: bsc.id,
58
59
  } as const;
59
60
 
60
61
  export const EVM_CHAIN_ID = {
@@ -63,6 +64,7 @@ export const EVM_CHAIN_ID = {
63
64
 
64
65
  export const MAINNET_EVM_TS_CHAIN_ID = {
65
66
  MONAD: 143,
67
+ BSC: 56,
66
68
  } as const;
67
69
 
68
70
  export const TESTNET_EVM_TS_CHAIN_ID = {} as const;
@@ -73,6 +75,7 @@ export const EVM_TS_CHAIN_ID = {
73
75
 
74
76
  export const MAINNET_CHAIN_VIEM = {
75
77
  [EVM_TS_CHAIN_ID.MONAD]: monadMainnet,
78
+ [EVM_TS_CHAIN_ID.BSC]: bsc,
76
79
  } as const;
77
80
 
78
81
  export const CHAIN_VIEM = {
@@ -81,6 +84,7 @@ export const CHAIN_VIEM = {
81
84
 
82
85
  export const MAINNET_CHAIN_NODE = {
83
86
  [EVM_TS_CHAIN_ID.MONAD]: [...monadMainnet.rpcUrls.default.http],
87
+ [EVM_TS_CHAIN_ID.BSC]: [...bsc.rpcUrls.default.http],
84
88
  };
85
89
 
86
90
  export const CHAIN_NODE = {
@@ -7,6 +7,9 @@ export const defaultEventParams: EventParams = {
7
7
  };
8
8
 
9
9
  export const GAS_LIMIT_ESTIMATE_INCREASE = 2_000_000n;
10
+ // Gas limit allotted to the destination adapter when receiving a CCIP message.
11
+ // Mirrors the fixed limit used for the HUB adapter's receive path.
12
+ export const CCIP_RECEIVE_GAS_LIMIT = 3_000_000n;
10
13
  export const SEND_TOKEN_ACTION_RETURN_GAS_LIMIT = 2_000_000n;
11
14
  export const RECEIVER_VALUE_SLIPPAGE = 0.01;
12
15
  export const RETRY_REVERSE_GAS_LIMIT_SLIPPAGE = 0.05;
@@ -111,4 +111,16 @@ export const CONTRACT_SLOT: Partial<
111
111
  // },
112
112
  },
113
113
  },
114
+ [EVM_TS_CHAIN_ID.BSC]: {
115
+ erc20: {
116
+ [MAINNET_TS_TOKEN_ID.enzoBTC]: {
117
+ balanceOf: 9n,
118
+ allowance: 10n,
119
+ },
120
+ [MAINNET_TS_TOKEN_ID.townTestToken]: {
121
+ balanceOf: 9n,
122
+ allowance: 10n,
123
+ },
124
+ },
125
+ },
114
126
  } as const;
@@ -31,6 +31,10 @@ export const HUB_CHAIN: Record<NetworkType.MAINNET, HubChain> = {
31
31
  '0x2970fde6064178d51d961689cb5b64226ab11fc2' as EvmAddress,
32
32
  ChainType.EVM,
33
33
  ),
34
+ [AdapterType.CCIP]: convertToGenericAddress(
35
+ '0x975a2F8ff64f84e47f7dFeFC6DfF9Aaf63C02d67' as EvmAddress,
36
+ ChainType.EVM,
37
+ ),
34
38
  // [AdapterType.WORMHOLE_DATA]: convertToGenericAddress(
35
39
  // '' as EvmAddress,
36
40
  // ChainType.EVM
@@ -435,6 +439,35 @@ export const HUB_CHAIN: Record<NetworkType.MAINNET, HubChain> = {
435
439
  MAINNET_LOAN_TYPE_ID.MON_EFFICIENCY,
436
440
  ]),
437
441
  },
442
+ [MAINNET_TS_TOKEN_ID.binanceEnzoBTC]: {
443
+ token: {
444
+ type: TokenType.ERC20,
445
+ decimals: 8,
446
+ },
447
+ TsTokenId: MAINNET_TS_TOKEN_ID.binanceEnzoBTC,
448
+ poolId: MAINNET_POOLS[MAINNET_TS_TOKEN_ID.binanceEnzoBTC],
449
+ poolAddress: convertToGenericAddress(
450
+ '0x74Ff480Bf28a43A90Df4C05B41C8ae7B7c5F6aE8' as EvmAddress,
451
+ ChainType.EVM,
452
+ ),
453
+ supportedLoanTypes: new Set([
454
+ // MAINNET_LOAN_TYPE_ID.BTC_EFFICIENCY,
455
+ MAINNET_LOAN_TYPE_ID.DEPOSIT,
456
+ ]),
457
+ },
458
+ [MAINNET_TS_TOKEN_ID.townTestToken]: {
459
+ token: {
460
+ type: TokenType.ERC20,
461
+ decimals: 18,
462
+ },
463
+ TsTokenId: MAINNET_TS_TOKEN_ID.townTestToken,
464
+ poolId: MAINNET_POOLS[MAINNET_TS_TOKEN_ID.townTestToken],
465
+ poolAddress: convertToGenericAddress(
466
+ '0x40EE4BFe9b83BdCb8a29462c153AeF71f44b3493' as EvmAddress,
467
+ ChainType.EVM,
468
+ ),
469
+ supportedLoanTypes: new Set([MAINNET_LOAN_TYPE_ID.DEPOSIT]),
470
+ },
438
471
  // [MAINNET_TS_TOKEN_ID.eBTC]: {
439
472
  // token: {
440
473
  // type: TokenType.ERC20,
@@ -52,6 +52,13 @@ export const TS_CHAIN: Record<
52
52
  chainId: monadMainnet.id,
53
53
  network: NetworkType.MAINNET,
54
54
  },
55
+ [TS_CHAIN_ID.BSC]: {
56
+ chainType: ChainType.EVM,
57
+ tsChainId: TS_CHAIN_ID.BSC,
58
+ chainName: bsc.name,
59
+ chainId: bsc.id,
60
+ network: NetworkType.MAINNET,
61
+ },
55
62
  } satisfies Record<MainnetTsChainId, TSChain>,
56
63
  } as const;
57
64
 
@@ -75,6 +82,10 @@ export const SPOKE_CHAIN: Record<
75
82
  '0x2970fde6064178d51d961689cb5b64226ab11fc2' as EvmAddress,
76
83
  ChainType.EVM,
77
84
  ),
85
+ [AdapterType.CCIP]: convertToGenericAddress(
86
+ '0xe71CADde13B8d6FBD0746277b692360E2B90123e' as EvmAddress,
87
+ ChainType.EVM,
88
+ ),
78
89
  },
79
90
  tokens: {
80
91
  [MAINNET_TS_TOKEN_ID.MON]: {
@@ -443,5 +454,62 @@ export const SPOKE_CHAIN: Record<
443
454
  // },
444
455
  },
445
456
  },
457
+
458
+ // TODO: Add BSC spoke chain data
459
+ [TS_CHAIN_ID.BSC]: {
460
+ tsChainId: TS_CHAIN_ID.BSC,
461
+ spokeOperationAddress: convertToGenericAddress(
462
+ '0xfa4d3dDf8249C81d7F1dc2d246F9d1Ea48dE6f80' as EvmAddress,
463
+ ChainType.EVM,
464
+ ),
465
+ messageDispatcherAddress: convertToGenericAddress(
466
+ '0xeD715Cea96C29c4E8878C29F7210a62CB75C68Dd' as EvmAddress,
467
+ ChainType.EVM,
468
+ ),
469
+ adapters: {
470
+ [AdapterType.HUB]: convertToGenericAddress(
471
+ '0x2970fde6064178d51d961689cb5b64226ab11fc2' as EvmAddress,
472
+ ChainType.EVM,
473
+ ),
474
+ [AdapterType.CCIP]: convertToGenericAddress(
475
+ '0x0ce08373083d27C8cA9471f49194b3309144F24b' as EvmAddress,
476
+ ChainType.EVM,
477
+ ),
478
+ },
479
+ tokens: {
480
+ [MAINNET_TS_TOKEN_ID.binanceEnzoBTC]: {
481
+ token: {
482
+ type: TokenType.ERC20,
483
+ address: convertToGenericAddress(
484
+ '0x6A9A65B84843F5fD4aC9a0471C4fc11AFfFBce4a' as EvmAddress,
485
+ ChainType.EVM,
486
+ ),
487
+ decimals: 8,
488
+ },
489
+ TsTokenId: MAINNET_TS_TOKEN_ID.binanceEnzoBTC,
490
+ poolId: MAINNET_POOLS[MAINNET_TS_TOKEN_ID.binanceEnzoBTC],
491
+ spokeAddress: convertToGenericAddress(
492
+ '0xdD64fFB2959206E87A0FD04FfFe44826DCE65f5B' as EvmAddress,
493
+ ChainType.EVM,
494
+ ),
495
+ },
496
+ [MAINNET_TS_TOKEN_ID.townTestToken]: {
497
+ token: {
498
+ type: TokenType.ERC20,
499
+ address: convertToGenericAddress(
500
+ '0x78CbeAe44e247616F76a7422a5F90366790dF6cc' as EvmAddress,
501
+ ChainType.EVM,
502
+ ),
503
+ decimals: 18,
504
+ },
505
+ TsTokenId: MAINNET_TS_TOKEN_ID.townTestToken,
506
+ poolId: MAINNET_POOLS[MAINNET_TS_TOKEN_ID.townTestToken],
507
+ spokeAddress: convertToGenericAddress(
508
+ '0x29253e9CB629EF442D168d58ac842105e1414eFb' as EvmAddress,
509
+ ChainType.EVM,
510
+ ),
511
+ },
512
+ },
513
+ },
446
514
  } satisfies Record<MainnetTsChainId, SpokeChain>,
447
515
  };
@@ -7,7 +7,7 @@ import type { EvmAddress } from '../types/address.js';
7
7
  import type { TSChainId } from '../types/chain.js';
8
8
  import type { CCIPData, WormholeData } from '../types/gmp.js';
9
9
 
10
- export const WORMHOLE_DATA: Record<TSChainId, WormholeData> = {
10
+ export const WORMHOLE_DATA: Partial<Record<TSChainId, WormholeData>> = {
11
11
  [TS_CHAIN_ID.MONAD]: {
12
12
  wormholeChainId: 48,
13
13
  wormholeRelayer: convertToGenericAddress(
@@ -28,6 +28,8 @@ export const MAINNET_POOLS = {
28
28
  [MAINNET_TS_TOKEN_ID.cbBTC]: 26,
29
29
  [MAINNET_TS_TOKEN_ID.enzoBTC]: 31,
30
30
  [MAINNET_TS_TOKEN_ID.testToken]: 90,
31
+ [MAINNET_TS_TOKEN_ID.binanceEnzoBTC]: 33,
32
+ [MAINNET_TS_TOKEN_ID.townTestToken]: 51,
31
33
  // [MAINNET_TS_TOKEN_ID.eBTC]: 30,
32
34
  } as const satisfies Record<MainnetTsTokenId, number>;
33
35
 
@@ -26,6 +26,7 @@ import type { Hex } from 'viem';
26
26
  export enum AdapterType {
27
27
  HUB = 1,
28
28
  WORMHOLE_DATA = 1,
29
+ CCIP = 2,
29
30
  }
30
31
 
31
32
  export enum Action {
@@ -24,6 +24,8 @@ export const MAINNET_TS_TOKEN_ID = {
24
24
  cbBTC: 'cbBTC',
25
25
  enzoBTC: 'enzoBTC',
26
26
  testToken: 'testToken',
27
+ binanceEnzoBTC: 'binanceEnzoBTC',
28
+ townTestToken: 'townTestToken',
27
29
  // eBTC: 'eBTC',
28
30
  } as const;
29
31
  export type MainnetTsTokenId =
@@ -35,11 +35,12 @@ export function doesAdapterSupportDataMessage(
35
35
  tsChainId: TSChainId,
36
36
  adapterId: AdapterType
37
37
  ): boolean {
38
- const isHub = isHubChain(tsChainId, TSCore.getSelectedNetwork());
39
- return (
40
- (isHub && adapterId === AdapterType.HUB) ||
41
- (!isHub && adapterId === AdapterType.WORMHOLE_DATA)
42
- );
38
+ const network = TSCore.getSelectedNetwork();
39
+ const isHub = isHubChain(tsChainId, network);
40
+ if (isHub) return adapterId === AdapterType.HUB;
41
+ // A spoke chain supports a data message over any adapter it has configured
42
+ // (e.g. WORMHOLE_DATA on Monad, CCIP on BSC).
43
+ return getSpokeAdapterIds(tsChainId, network).includes(adapterId);
43
44
  }
44
45
 
45
46
  export function assertAdapterSupportsDataMessage(
@@ -56,11 +57,10 @@ export function doesAdapterSupportTokenMessage(
56
57
  tsChainId: TSChainId,
57
58
  adapterId: AdapterType
58
59
  ): boolean {
59
- const isHub = isHubChain(tsChainId, TSCore.getSelectedNetwork());
60
- return (
61
- (isHub && adapterId === AdapterType.HUB) ||
62
- (!isHub && adapterId === AdapterType.WORMHOLE_DATA)
63
- );
60
+ const network = TSCore.getSelectedNetwork();
61
+ const isHub = isHubChain(tsChainId, network);
62
+ if (isHub) return adapterId === AdapterType.HUB;
63
+ return getSpokeAdapterIds(tsChainId, network).includes(adapterId);
64
64
  }
65
65
 
66
66
  export function assertAdapterSupportsTokenMessage(
@@ -113,11 +113,10 @@ export function doesAdapterSupportReceiverValue(
113
113
  tsChainId: TSChainId,
114
114
  adapterId: AdapterType
115
115
  ): boolean {
116
- const isHub = isHubChain(tsChainId, TSCore.getSelectedNetwork());
117
- return (
118
- (isHub && adapterId === AdapterType.HUB) ||
119
- (!isHub && adapterId === AdapterType.WORMHOLE_DATA)
120
- );
116
+ const network = TSCore.getSelectedNetwork();
117
+ const isHub = isHubChain(tsChainId, network);
118
+ if (isHub) return adapterId === AdapterType.HUB;
119
+ return getSpokeAdapterIds(tsChainId, network).includes(adapterId);
121
120
  }
122
121
 
123
122
  export function assertAdapterSupportsReceiverValue(
@@ -23,7 +23,7 @@ import type { TSTokenId, SpokeTokenData } from '../types/token.js';
23
23
 
24
24
  export function getTsChain(
25
25
  tsChainId: TSChainId,
26
- network: NetworkType
26
+ network: NetworkType,
27
27
  ): TSChain {
28
28
  const tsChain = TS_CHAIN[network][tsChainId];
29
29
  if (!tsChain)
@@ -37,23 +37,21 @@ export function getTsChainsByNetwork(network: NetworkType): Array<TSChain> {
37
37
  }
38
38
 
39
39
  export function getTsChainIdsByNetwork(
40
- networkType: NetworkType
40
+ networkType: NetworkType,
41
41
  ): Array<TSChainId> {
42
- return getTsChainsByNetwork(networkType).map(
43
- (tsChain) => tsChain.tsChainId
44
- );
42
+ return getTsChainsByNetwork(networkType).map((tsChain) => tsChain.tsChainId);
45
43
  }
46
44
 
47
45
  export function isSpokeChainSupported(
48
46
  tsChainId: TSChainId,
49
- network: NetworkType
47
+ network: NetworkType,
50
48
  ): boolean {
51
49
  return SPOKE_CHAIN[network][tsChainId] !== undefined;
52
50
  }
53
51
 
54
52
  export function assertSpokeChainSupported(
55
53
  tsChainId: TSChainId,
56
- network: NetworkType
54
+ network: NetworkType,
57
55
  ) {
58
56
  if (!isSpokeChainSupported(tsChainId, network))
59
57
  throw new Error(`Spoke chain is not supported for tsChainId: ${tsChainId}`);
@@ -61,7 +59,7 @@ export function assertSpokeChainSupported(
61
59
 
62
60
  export function getSpokeChain(
63
61
  tsChainId: TSChainId,
64
- network: NetworkType
62
+ network: NetworkType,
65
63
  ): SpokeChain {
66
64
  const spokeChain = SPOKE_CHAIN[network][tsChainId];
67
65
  if (!spokeChain)
@@ -72,14 +70,14 @@ export function getSpokeChain(
72
70
 
73
71
  export function doesSpokeSupportTsToken(
74
72
  spokeChain: SpokeChain,
75
- tsTokenId: TSTokenId
73
+ tsTokenId: TSTokenId,
76
74
  ): boolean {
77
75
  return spokeChain.tokens[tsTokenId] !== undefined;
78
76
  }
79
77
 
80
78
  export function getSpokeTokenData(
81
79
  spokeChain: SpokeChain,
82
- tsTokenId: TSTokenId
80
+ tsTokenId: TSTokenId,
83
81
  ): SpokeTokenData {
84
82
  const tokenData = spokeChain.tokens[tsTokenId];
85
83
  if (!tokenData)
@@ -91,41 +89,42 @@ export function getSpokeTokenData(
91
89
  export function isTsTokenSupported(
92
90
  tsTokenId: TSTokenId,
93
91
  tsChainId: TSChainId,
94
- network: NetworkType
92
+ network: NetworkType,
95
93
  ): boolean {
96
94
  const spokeChain = getSpokeChain(tsChainId, network);
95
+
97
96
  return doesSpokeSupportTsToken(spokeChain, tsTokenId);
98
97
  }
99
98
 
100
99
  export function assertSpokeChainSupportTsToken(
101
100
  tsChainId: TSChainId,
102
101
  tsTokenId: TSTokenId,
103
- network: NetworkType
102
+ network: NetworkType,
104
103
  ) {
105
104
  if (!isTsTokenSupported(tsTokenId, tsChainId, network))
106
105
  throw new Error(
107
- `Townsq Token ${tsTokenId} is not supported on Townsq Chain ${tsChainId}`
106
+ `Townsq Token ${tsTokenId} is not supported on Townsq Chain ${tsChainId}`,
108
107
  );
109
108
  }
110
109
 
111
110
  export function getSpokeChainAdapterAddress(
112
111
  tsChainId: TSChainId,
113
112
  network: NetworkType,
114
- adapterType: AdapterType
113
+ adapterType: AdapterType,
115
114
  ): GenericAddress {
116
115
  const spokeChain = getSpokeChain(tsChainId, network);
117
116
  const { adapters } = spokeChain;
118
117
  const adapterAddress = adapters[adapterType];
119
118
  if (adapterAddress) return adapterAddress;
120
119
  throw new Error(
121
- `Adapter ${adapterType} not found for spoke chain ${tsChainId}`
120
+ `Adapter ${adapterType} not found for spoke chain ${tsChainId}`,
122
121
  );
123
122
  }
124
123
 
125
124
  export function getAdapterAddress(
126
125
  tsChainId: TSChainId,
127
126
  network: NetworkType,
128
- adapterType: AdapterType
127
+ adapterType: AdapterType,
129
128
  ) {
130
129
  if (isHubChain(tsChainId, network))
131
130
  return getHubChainAdapterAddress(network, adapterType);
@@ -138,14 +137,14 @@ export function getSpokeChainBridgeRouterAddress(spokeChain: SpokeChain) {
138
137
  }
139
138
 
140
139
  export function getSignerGenericAddress(
141
- tsChainSigner: TSChainSigner
140
+ tsChainSigner: TSChainSigner,
142
141
  ): GenericAddress {
143
142
  const chainType = tsChainSigner.chainType;
144
143
  switch (chainType) {
145
144
  case ChainType.EVM:
146
145
  return convertToGenericAddress(
147
146
  getEvmSignerAddress(tsChainSigner.signer),
148
- chainType
147
+ chainType,
149
148
  );
150
149
  default:
151
150
  return exhaustiveCheck(chainType);
@@ -154,10 +153,8 @@ export function getSignerGenericAddress(
154
153
 
155
154
  export function assertHubChainSelected(
156
155
  tsChainId: TSChainId,
157
- network: NetworkType
156
+ network: NetworkType,
158
157
  ) {
159
158
  if (!isHubChain(tsChainId, network))
160
- throw new Error(
161
- `Wrong chain selected: ${tsChainId}. Expected Hub chain`
162
- );
159
+ throw new Error(`Wrong chain selected: ${tsChainId}. Expected Hub chain`);
163
160
  }
@@ -4,5 +4,8 @@ import type { TSChainId } from '../types/chain.js';
4
4
  import type { CCIPData, WormholeData } from '../types/gmp.js';
5
5
 
6
6
  export function getWormholeData(tsChainId: TSChainId): WormholeData {
7
- return WORMHOLE_DATA[tsChainId];
7
+ const wormholeData = WORMHOLE_DATA[tsChainId];
8
+ if (!wormholeData)
9
+ throw new Error(`No wormhole data configured for chain ${tsChainId}`);
10
+ return wormholeData;
8
11
  }
@@ -11,7 +11,10 @@ import {
11
11
  import { getTransactionReceipt } from 'viem/actions';
12
12
 
13
13
  import { WormholeDataAdapterAbi } from '../../chains/evm/common/constant/abi/wormhole-data-adapter-abi.js';
14
- import { GAS_LIMIT_ESTIMATE_INCREASE } from '../../chains/evm/common/constant/contract.js';
14
+ import {
15
+ CCIP_RECEIVE_GAS_LIMIT,
16
+ GAS_LIMIT_ESTIMATE_INCREASE,
17
+ } from '../../chains/evm/common/constant/contract.js';
15
18
  import {
16
19
  buildEvmMessageToSend,
17
20
  estimateEvmWormholeDataGasLimit,
@@ -145,6 +148,9 @@ export async function estimateAdapterReceiveGasLimit(
145
148
  case AdapterType.HUB: {
146
149
  return 500000n;
147
150
  }
151
+ case AdapterType.CCIP: {
152
+ return CCIP_RECEIVE_GAS_LIMIT;
153
+ }
148
154
  case AdapterType.WORMHOLE_DATA: {
149
155
  const sourceWormholeChainId =
150
156
  getWormholeData(sourceTSChainId).wormholeChainId;